]> Raphaël G. Git Repositories - blogbundle/blob - config/packages/rapsysblog.yaml
New context layout
[blogbundle] / config / packages / rapsysblog.yaml
1 # Dev log configuration
2 #TODO: set mail, calendar and facebook app id as env variables ???
3 rapsysblog:
4 contact:
5 address: 'blog@rapsys.eu'
6 name: 'Raphaël Gertz'
7 copy:
8 by: 'Rapsys'
9 link: 'https://rapsys.eu'
10 long: 'All rights reserved'
11 short: 'Copyright 2019-2023'
12 title: 'By Raphaël'
13 donate: 'https://paypal.me/milongaraphael'
14 facebook:
15 #TODO: set this as env variables ???
16 apps: [ 3728770287223690 ]
17 height: 630
18 width: 1200
19 icon:
20 ico: '@RapsysBlog/ico/icon.ico'
21 png:
22 # Default
23 256: '@RapsysBlog/png/icon.256.png'
24
25 # For google
26 # Chrome for Android home screen icon
27 196: '@RapsysBlog/png/icon.196.png'
28 # Google Developer Web App Manifest Recommendation
29 192: '@RapsysBlog/png/icon.192.png'
30 # Chrome Web Store icon
31 128: '@RapsysBlog/png/icon.128.png'
32
33 # Fallback
34 32: '@RapsysBlog/png/icon.32.png'
35
36 # For apple
37 # XXX: old obsolete format: [57, 72, 76, 114, 120, 144]
38 # XXX: see https://webhint.io/docs/user-guide/hints/hint-apple-touch-icons/
39 # XXX: see https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
40 # iPhone Retina
41 180: '@RapsysBlog/png/icon.180.png'
42 # iPad Retina touch icon
43 167: '@RapsysBlog/png/icon.167.png'
44 # iPad touch icon
45 152: '@RapsysBlog/png/icon.152.png'
46 # iOS7
47 120: '@RapsysBlog/png/icon.120.png'
48
49 # For windows
50 # XXX: see https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/dn255024(v=vs.85)
51 310: '@RapsysBlog/png/icon.310.png'
52 150: '@RapsysBlog/png/icon.150.png'
53 70: '@RapsysBlog/png/icon.70.png'
54 svg: '@RapsysBlog/svg/icon.svg'
55 languages:
56 en_gb: 'English'
57 fr_fr: 'French'
58 locale: 'fr_fr'
59 locales: [ 'fr_fr', 'en_gb' ]
60 logo:
61 alt: 'Rapsys'' dev log logo'
62 png: '@RapsysBlog/png/logo.png'
63 svg: '@RapsysBlog/svg/logo.svg'
64 root: 'rapsysblog'
65 title: 'Rapsys'' dev log'
66
67 #RapsysUser configuration
68 rapsysuser:
69 #Class replacement
70 class:
71 group: 'Rapsys\BlogBundle\Entity\Group'
72 civility: 'Rapsys\BlogBundle\Entity\Civility'
73 user: 'Rapsys\BlogBundle\Entity\User'
74 #Default replacement
75 default:
76 admin: 'ROLE_ADMIN'
77 civility: 'Mister'
78 group: [ 'User' ]
79 languages: '%rapsysblog.languages%'
80 #Route replacement
81 route:
82 register:
83 name: 'rapsysuser_register'
84 #Translate replacement
85 translate: [ 'title.page', 'title.section', 'title.site', 'password', 'copy.by', 'copy.long', 'copy.short', 'copy.title', 'logo.alt' ]
86 #Contact replacement
87 contact: '%rapsysblog.contact%'
88 #Context replacement
89 context:
90 copy: '%rapsysblog.copy%'
91 icon: '%rapsysblog.icon%'
92 logo: '%rapsysblog.logo%'
93 root: '%rapsysblog.root%'
94 title:
95 section: 'User'
96 site: '%rapsysblog.title%'
97 #Edit replacement
98 edit:
99 admin:
100 mail: true
101 slug: true
102 view:
103 edit: 'Rapsys\BlogBundle\Form\EditType'
104 name: '@RapsysBlog/form/edit.html.twig'
105 context:
106 title:
107 page: 'Modify account'
108 password: 'Modify password'
109 root: '%rapsysblog.root%'
110 #Index replacement
111 index:
112 view:
113 name: '@RapsysBlog/user/index.html.twig'
114 context:
115 title:
116 page: 'User list'
117 root: '%rapsysblog.root%'
118 #Login replacement
119 login:
120 view:
121 name: '@RapsysBlog/form/login.html.twig'
122 context:
123 title:
124 page: 'Login'
125 root: '%rapsysblog.root%'
126 #Recover replacement
127 recover:
128 route:
129 recover: 'recover_url'
130 view:
131 name: '@RapsysBlog/form/recover.html.twig'
132 context:
133 title:
134 page: 'Recover'
135 root: '%rapsysblog.root%'
136 mail:
137 subject: 'Welcome back %%recipient_name%% to %%title.site%%'
138 html: '@RapsysBlog/mail/recover.html.twig'
139 text: '@RapsysBlog/mail/recover.text.twig'
140 context:
141 #Register replacement
142 register:
143 field:
144 pseudonym: false
145 slug: false
146 route:
147 confirm: 'confirm_url'
148 view:
149 form: 'Rapsys\BlogBundle\Form\RegisterType'
150 name: '@RapsysBlog/form/register.html.twig'
151 context:
152 title:
153 page: 'Register'
154 root: '%rapsysblog.root%'
155 mail:
156 subject: 'Welcome %%recipient_name%% to %%title.site%%'
157 html: '@RapsysBlog/mail/register.html.twig'
158 text: '@RapsysBlog/mail/register.text.twig'
159 context:
160
161 # Doctrine configuration
162 doctrine:
163 # Dbal configuration
164 dbal:
165 charset: 'utf8mb4'
166 default_table_options:
167 charset: 'utf8mb4'
168 collate: 'utf8mb4_unicode_ci'
169 # Orm configuration
170 orm:
171 # Controler resolver
172 controller_resolver:
173 auto_mapping: false
174 # Replace repository factory
175 repository_factory: 'Rapsys\BlogBundle\Factory\RepositoryFactory'
176
177 #Force resolution of UserBundle entities to BlogBundle one
178 #XXX: without these lines, relations are lookup in parent namespace ignoring BlogBundle extension
179 resolve_target_entities:
180 Rapsys\UserBundle\Entity\Group: 'Rapsys\BlogBundle\Entity\Group'
181 Rapsys\UserBundle\Entity\Civility: 'Rapsys\BlogBundle\Entity\Civility'
182 Rapsys\UserBundle\Entity\User: 'Rapsys\BlogBundle\Entity\User'
183
184 # Framework configuration
185 framework:
186 default_locale: '%rapsysblog.locale%'
187 disallow_search_engine_index: false
188 #error_controller: 'Rapsys\BlogBundle\Controller\ErrorController::show'
189 mailer:
190 headers:
191 X-Originating-IP: '%env(REMOTE_ADDR)%'
192 secret: '%env(APP_SECRET)%'
193 csrf_protection: true
194 session:
195 enabled: true
196 handler_id: ~
197 storage_factory_id: 'session.storage.factory.native'
198 cookie_secure: 'auto'
199 cookie_samesite: 'lax'
200 translator:
201 fallbacks: '%rapsysblog.locales%'
202
203 # Security configuration
204 security:
205 # Set password hashers
206 password_hashers:
207 #XXX: comment this key in config/security.yaml to prevent users_in_memory induced failures
208 #TODO: see https://symfony.com/doc/current/security/passwords.html (sodium ? + upgrade)
209 Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
210 #Rapsys\BlogBundle\Entity\User:
211 algorithm: 'sodium'
212 migrate_from:
213 - 'bcrypt'
214 - 'plaintext'
215
216 # Set providers
217 providers:
218 database:
219 entity:
220 class: 'Rapsys\BlogBundle\Entity\User'
221 property: 'mail'
222
223 # Set firewall
224 firewalls:
225 # Disables authentication for assets and the profiler, adapt it according to your needs
226 dev:
227 pattern: '^/(_(profiler|wdt)|css|images|js)/'
228 security: false
229
230 main:
231 # Allow anonymous access
232 #anonymous: ~
233 #lazy: true
234
235 # Activate database provider
236 #XXX: comment this key in config/security.yaml to prevent users_in_memory induced failures
237 provider: database
238
239 # Activate user checker
240 user_checker: 'security.user_checker'
241
242 #XXX: https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate
243 #http_basic: ~
244
245 # Set form login
246 #XXX: https://symfony.com/doc/current/security/form_login_setup.html
247 #TODO: https://symfony.com/doc/current/security/guard_authentication.html
248 form_login:
249 # Redirect to referer if different from login route
250 use_referer: true
251 # Login path
252 login_path: 'rapsysuser_login'
253 # Check path
254 check_path: 'rapsysuser_login'
255 # Username parameter
256 username_parameter: 'login[mail]'
257 # Password parameter
258 password_parameter: 'login[password]'
259 # Enable login csrf protection
260 enable_csrf: false
261 # Csrf parameter
262 csrf_parameter: 'login[_token]'
263 # Csrf id
264 csrf_token_id: 'login'
265
266 # Set logout route
267 logout:
268 # Logout route
269 path: 'rapsysuser_logout'
270 # Logout default target
271 target: 'rapsysblog'
272
273 # Set custom access denied handler
274 #access_denied_handler: Rapsys\BlogBundle\Handler\AccessDeniedHandler
275
276 # Remember me
277 #XXX: see https://symfony.com/doc/current/security/remember_me.html
278 remember_me:
279 # Use APP_SECRET
280 secret: '%kernel.secret%'
281 # Always remember me
282 always_remember_me: true
283
284 # Set role hierarchy
285 role_hierarchy:
286 ROLE_USER: [ 'ROLE_GUEST' ]
287 ROLE_ADMIN: [ 'ROLE_GUEST', 'ROLE_USER' ]
288
289 #Service configuration
290 services:
291 #Register abstract controller
292 Rapsys\BlogBundle\Controller\AbstractController:
293 arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysblog.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.path_package', '@router', '@rapsyspack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ]
294 tags: [ 'controller.service_arguments' ]
295 #Register article controller
296 Rapsys\BlogBundle\Controller\ArticleController:
297 arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysblog.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.path_package', '@router', '@rapsyspack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ]
298 tags: [ 'controller.service_arguments' ]
299 #Register default controller
300 Rapsys\BlogBundle\Controller\DefaultController:
301 arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysblog.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.path_package', '@router', '@rapsyspack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ]
302 tags: [ 'controller.service_arguments' ]
303 #Register keyword controller
304 Rapsys\BlogBundle\Controller\KeywordController:
305 arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysblog.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.path_package', '@router', '@rapsyspack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ]
306 tags: [ 'controller.service_arguments' ]
307 #Register user controller
308 Rapsys\BlogBundle\Controller\UserController:
309 arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysblog.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.path_package', '@router', '@rapsyspack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ]
310 tags: [ 'controller.service_arguments' ]
311 Rapsys\BlogBundle\Factory\RepositoryFactory:
312 arguments: [ '@request_stack', '@router', '@rapsyspack.slugger_util', '@translator', '%rapsysblog.languages%', '%rapsysblog.locale%' ]
313 #Register blog fixture
314 Rapsys\BlogBundle\Fixture\BlogFixture:
315 arguments: [ '@rapsyspack.slugger_util' ]
316 tags: [ 'doctrine.fixture.orm' ]
317 #Register form factory as public
318 form.factory:
319 class: 'Symfony\Component\Form\FormFactory'
320 arguments: [ '@form.registry' ]
321 public: true
322 #Register facebook event subscriber
323 Rapsys\PackBundle\Subscriber\FacebookSubscriber:
324 arguments: [ '@router', '%rapsysblog.locales%' ]
325 tags: [ 'kernel.event_subscriber' ]
326 #Register facebook util service
327 rapsysblog.facebook_util:
328 class: 'Rapsys\PackBundle\Util\FacebookUtil'
329 #TODO: create the facebook.png file and add the fonts
330 #TODO: add a default font
331 arguments: [ '@service_container', '@router', '@rapsyspack.slugger_util' ]
332 #arguments: [ '@service_container', '@router', '%kernel.project_dir%/var/cache', '%rapsyspack.path%', 'facebook', '%rapsysblog.path%/png/facebook.png', { irishgrover: '%rapsysblog.path%/ttf/irishgrover.v10.ttf', labelleaurore: '%rapsysblog.path%/ttf/labelleaurore.v10.ttf', dejavusans: '%rapsysblog.path%/ttf/dejavusans.2.37.ttf', droidsans: '%rapsysblog.path%/ttf/droidsans.regular.ttf' } ]
333 public: true
334 #Register contact form type
335 Rapsys\PackBundle\Form\ContactType:
336 arguments: [ '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator', true ]
337 tags: [ 'form.type' ]
338
339 # Twig configuration
340 twig:
341 #Enforce debug
342 debug: true
343 #auto_reload: ~
344 #Disable cache
345 #XXX: enable forced regeneration of css and js at each page load
346 cache: false
347 #Fix form layout for css
348 #XXX: @RapsysBlog is a shortcut to vendor/rapsys/blogbundle/templates directory here
349 form_theme: [ '@RapsysBlog/form/form_div_layout.html.twig' ]
350 #Set twig paths
351 paths:
352 #Required by email.image(site_logo) directive
353 #XXX: Allow twig to resolve @RapsysBlog/png/logo.png in vendor/rapsys/blogbundle/public/png/logo.png
354 '%kernel.project_dir%/vendor/rapsys/blogbundle/public': 'RapsysBlog'