1
2#![ no_implicit_prelude ]
3
4
5
6
7#[ macro_export ]
8macro_rules! builder_macros {
9
10
11 ( $_builder : ident ) => {
12
13
14
15
16 #[ allow (unused_macros) ]
17 macro_rules! asset_css {
18 ( $_source : tt ) => {
19 $crate::builder_call_asset_css! ($_builder, $_source);
20 };
21 ( $_source : tt => $_route : tt ) => {
22 $crate::builder_call_asset_css! ($_builder, $_source, $_route);
23 };
24 }
25
26 #[ allow (unused_macros) ]
27 macro_rules! asset_sass {
28 ( $_source : tt ) => {
29 $crate::builder_call_asset_sass! ($_builder, $_source);
30 };
31 ( $_source : tt => $_route : tt ) => {
32 $crate::builder_call_asset_sass! ($_builder, $_source, $_route);
33 };
34 }
35
36 #[ allow (unused_macros) ]
37 macro_rules! asset_js {
38 ( $_source : tt ) => {
39 $crate::builder_call_asset_js! ($_builder, $_source);
40 };
41 ( $_source : tt => $_route : tt ) => {
42 $crate::builder_call_asset_js! ($_builder, $_source, $_route);
43 };
44 }
45
46
47
48
49 #[ allow (unused_macros) ]
50 macro_rules! asset_image {
51 ( $_source : tt ) => {
52 $crate::builder_call_asset_image! ($_builder, $_source);
53 };
54 ( $_source : tt => $_route : tt ) => {
55 $crate::builder_call_asset_image! ($_builder, $_source, $_route);
56 };
57 }
58
59 #[ allow (unused_macros) ]
60 macro_rules! assets_images {
61 ( $_source : tt ) => {
62 $crate::builder_call_assets_images! ($_builder, $_source);
63 };
64 ( $_source : tt => $_route : tt ) => {
65 $crate::builder_call_assets_images! ($_builder, $_source, $_route);
66 };
67 }
68
69
70 #[ allow (unused_macros) ]
71 macro_rules! asset_icon {
72 ( $_source : tt ) => {
73 $crate::builder_call_asset_icon! ($_builder, $_source);
74 };
75 ( $_source : tt => $_route : tt ) => {
76 $crate::builder_call_asset_icon! ($_builder, $_source, $_route);
77 };
78 }
79
80 #[ allow (unused_macros) ]
81 macro_rules! assets_icons {
82 ( $_source : tt ) => {
83 $crate::builder_call_assets_icons! ($_builder, $_source);
84 };
85 ( $_source : tt => $_route : tt ) => {
86 $crate::builder_call_assets_icons! ($_builder, $_source, $_route);
87 };
88 }
89
90
91 #[ allow (unused_macros) ]
92 macro_rules! asset_favicon {
93 ( $_source : tt ) => {
94 $crate::builder_call_asset_favicon! ($_builder, $_source);
95 };
96 ( $_source : tt => $_route : tt ) => {
97 $crate::builder_call_asset_favicon! ($_builder, $_source, $_route);
98 };
99 }
100
101 #[ allow (unused_macros) ]
102 macro_rules! assets_favicons {
103 ( $_source : tt ) => {
104 $crate::builder_call_assets_favicons! ($_builder, $_source);
105 };
106 ( $_source : tt => $_route : tt ) => {
107 $crate::builder_call_assets_favicons! ($_builder, $_source, $_route);
108 };
109 }
110
111
112 #[ allow (unused_macros) ]
113 macro_rules! asset_font {
114 ( $_source : tt ) => {
115 $crate::builder_call_asset_font! ($_builder, $_source);
116 };
117 ( $_source : tt => $_route : tt ) => {
118 $crate::builder_call_asset_font! ($_builder, $_source, $_route);
119 };
120 }
121
122 #[ allow (unused_macros) ]
123 macro_rules! assets_fonts {
124 ( $_source : tt ) => {
125 $crate::builder_call_assets_fonts! ($_builder, $_source);
126 };
127 ( $_source : tt => $_route : tt ) => {
128 $crate::builder_call_assets_fonts! ($_builder, $_source, $_route);
129 };
130 }
131
132
133 #[ allow (unused_macros) ]
134 macro_rules! asset {
135 ( $_source : tt => $_route : tt ) => {
136 $crate::builder_call_asset! ($_builder, $_source, $_route);
137 };
138 }
139
140 #[ allow (unused_macros) ]
141 macro_rules! assets {
142 ( $_source : tt => $_route : tt ) => {
143 $crate::builder_call_assets! ($_builder, $_source, $_route);
144 };
145 }
146
147
148 #[ allow (unused_macros) ]
149 macro_rules! asset_watch {
150 ( $_source : tt ) => {
151 $crate::builder_call_asset_watch! ($_builder, $_source);
152 };
153 }
154
155 #[ allow (unused_macros) ]
156 macro_rules! assets_watch {
157 ( $_source : tt ) => {
158 $crate::builder_call_assets_watch! ($_builder, $_source);
159 };
160 }
161
162
163
164
165 #[ allow (unused_macros) ]
166 macro_rules! askama {
167 ( $_source : tt => $_route : tt ) => {
168 $crate::builder_call_askama! ($_builder, $_source, $_route);
169 };
170 }
171
172 #[ allow (unused_macros) ]
173 macro_rules! askamas {
174 ( $_source : tt => $_route : tt ) => {
175 $crate::builder_call_askamas! ($_builder, $_source, $_route);
176 };
177 }
178
179
180 #[ allow (unused_macros) ]
181 macro_rules! askama_watch {
182 ( $_source : tt ) => {
183 $crate::builder_call_askama_watch! ($_builder, $_source);
184 };
185 }
186
187 #[ allow (unused_macros) ]
188 macro_rules! askamas_watch {
189 ( $_source : tt ) => {
190 $crate::builder_call_askamas_watch! ($_builder, $_source);
191 };
192 }
193
194
195
196
197 #[ allow (unused_macros) ]
198 macro_rules! markdown_askama {
199 ( $_source : tt => $_route : tt ) => {
200 $crate::builder_call_markdown_askama! ($_builder, $_source, $_route);
201 };
202 }
203
204 #[ allow (unused_macros) ]
205 macro_rules! markdowns_askama {
206 ( $_source : tt => $_route : tt ) => {
207 $crate::builder_call_markdowns_askama! ($_builder, $_source, $_route);
208 };
209 }
210
211
212
213
214 #[ allow (unused_macros) ]
215 macro_rules! markdown {
216 ( $_source : tt => $_route : tt ) => {
217 $crate::builder_call_markdown! ($_builder, $_source, $_route);
218 };
219 }
220
221 #[ allow (unused_macros) ]
222 macro_rules! markdowns {
223 ( $_source : tt => $_route : tt ) => {
224 $crate::builder_call_markdowns! ($_builder, $_source, $_route);
225 };
226 }
227
228
229
230
231 #[ allow (unused_macros) ]
232 macro_rules! sitemap {
233 ( $_source : tt => $_route : tt ) => {
234 $crate::builder_call_sitemap! ($_builder, $_source, $_route);
235 };
236 }
237
238
239 };
240}
241
242
243
244
245#[ cfg (feature = "builder-assets") ]
246#[ macro_export ]
247macro_rules! builder_call_asset_css {
248 ( $_builder : ident, { $_source : literal } ) => {
249 $crate::builder_call! ($_builder,
250 route_css, (
251 $_source,
252 $crate::builder_call_route_path! ($_builder, default),
253 $crate::builder_call_route_extensions! ($_builder, default),
254 ), (0x76ec81d1));
255 };
256 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
257 $crate::builder_call! ($_builder,
258 route_css, (
259 $_source,
260 $crate::builder_call_route_path! ($_builder, exact, $_route),
261 $crate::builder_call_route_extensions! ($_builder, $_route),
262 ), (0x16cfdc28));
263 };
264 ( $_builder : ident, $_source : literal ) => {
265 $crate::builder_call_asset_css! ($_builder, { $_source });
266 };
267 ( $_builder : ident, $_source : literal, $_route : tt ) => {
268 $crate::builder_call_asset_css! ($_builder, { $_source }, $_route);
269 };
270}
271
272#[ cfg (feature = "builder-assets-sass") ]
273#[ macro_export ]
274macro_rules! builder_call_asset_sass {
275 ( $_builder : ident, { $_source : literal } ) => {
276 $crate::builder_call! ($_builder,
277 route_sass, (
278 $_source,
279 $crate::builder_call_route_path! ($_builder, default),
280 $crate::builder_call_route_extensions! ($_builder, default),
281 ), (0x714c403a));
282 };
283 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
284 $crate::builder_call! ($_builder,
285 route_sass, (
286 $_source,
287 $crate::builder_call_route_path! ($_builder, exact, $_route),
288 $crate::builder_call_route_extensions! ($_builder, $_route),
289 ), (0xf8cdbb33));
290 };
291 ( $_builder : ident, $_source : literal ) => {
292 $crate::builder_call_asset_sass! ($_builder, { $_source });
293 };
294 ( $_builder : ident, $_source : literal, $_route : tt ) => {
295 $crate::builder_call_asset_sass! ($_builder, { $_source }, $_route);
296 };
297}
298
299#[ cfg (feature = "builder-assets") ]
300#[ macro_export ]
301macro_rules! builder_call_asset_js {
302 ( $_builder : ident, { $_source : literal } ) => {
303 $crate::builder_call! ($_builder,
304 route_js, (
305 $_source,
306 $crate::builder_call_route_path! ($_builder, default),
307 $crate::builder_call_route_extensions! ($_builder, default),
308 ), (0xd7b6a398));
309 };
310 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
311 $crate::builder_call! ($_builder,
312 route_js, (
313 $_source,
314 $crate::builder_call_route_path! ($_builder, exact, $_route),
315 $crate::builder_call_route_extensions! ($_builder, $_route),
316 ), (0x039b17d3));
317 };
318 ( $_builder : ident, $_source : literal ) => {
319 $crate::builder_call_asset_js! ($_builder, { $_source });
320 };
321 ( $_builder : ident, $_source : literal, $_route : tt ) => {
322 $crate::builder_call_asset_js! ($_builder, { $_source }, $_route);
323 };
324}
325
326
327
328
329#[ cfg (feature = "builder-assets") ]
330#[ macro_export ]
331macro_rules! builder_call_asset_image {
332 ( $_builder : ident, { $_source : literal } ) => {
333 $crate::builder_call! ($_builder,
334 route_image, (
335 $_source,
336 $crate::builder_call_route_path! ($_builder, default),
337 $crate::builder_call_route_extensions! ($_builder, default),
338 ), (0x3c6853f7));
339 };
340 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
341 $crate::builder_call! ($_builder,
342 route_image, (
343 $_source,
344 $crate::builder_call_route_path! ($_builder, exact, $_route),
345 $crate::builder_call_route_extensions! ($_builder, $_route),
346 ), (0xa4be0f67));
347 };
348 ( $_builder : ident, $_source : literal ) => {
349 $crate::builder_call_asset_image! ($_builder, { $_source });
350 };
351 ( $_builder : ident, $_source : literal, $_route : tt ) => {
352 $crate::builder_call_asset_image! ($_builder, { $_source }, $_route);
353 };
354}
355
356#[ cfg (feature = "builder-assets") ]
357#[ macro_export ]
358macro_rules! builder_call_assets_images {
359 ( $_builder : ident, { $_sources : literal } ) => {
360 $crate::builder_call! ($_builder,
361 route_images, (
362 $_sources,
363 ::std::option::Option::None,
364 $crate::builder_call_route_path! ($_builder, default),
365 $crate::builder_call_route_extensions! ($_builder, default),
366 ), (0xc2f0c669));
367 };
368 ( $_builder : ident, { $_sources : literal }, $_route : tt ) => {
369 $crate::builder_call! ($_builder,
370 route_images, (
371 $_sources,
372 ::std::option::Option::None,
373 $crate::builder_call_route_path! ($_builder, prefix, $_route),
374 $crate::builder_call_route_extensions! ($_builder, $_route),
375 ), (0xa2ee2c3c));
376 };
377 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }) => {
378 $crate::builder_call! ($_builder,
379 route_images, (
380 $_sources,
381 ::std::option::Option::Some ($_glob),
382 $crate::builder_call_route_path! ($_builder, default),
383 $crate::builder_call_route_extensions! ($_builder, default),
384 ), (0x274e0974));
385 };
386 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }, $_route : tt ) => {
387 $crate::builder_call! ($_builder,
388 route_images, (
389 $_sources,
390 ::std::option::Option::Some ($_glob),
391 $crate::builder_call_route_path! ($_builder, prefix, $_route),
392 $crate::builder_call_route_extensions! ($_builder, $_route),
393 ), (0xf4033023));
394 };
395 ( $_builder : ident, $_sources : literal ) => {
396 $crate::builder_call_assets_images! ($_builder, { $_sources });
397 };
398 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
399 $crate::builder_call_assets_images! ($_builder, { $_sources }, $_route);
400 };
401}
402
403
404#[ cfg (feature = "builder-assets") ]
405#[ macro_export ]
406macro_rules! builder_call_asset_icon {
407 ( $_builder : ident, { $_source : literal } ) => {
408 $crate::builder_call! ($_builder,
409 route_icon, (
410 $_source,
411 $crate::builder_call_route_path! ($_builder, default),
412 $crate::builder_call_route_extensions! ($_builder, default),
413 ), (0xcb47ada1));
414 };
415 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
416 $crate::builder_call! ($_builder,
417 route_icon, (
418 $_source,
419 $crate::builder_call_route_path! ($_builder, exact, $_route),
420 $crate::builder_call_route_extensions! ($_builder, $_route),
421 ), (0x6e4fe9ac));
422 };
423 ( $_builder : ident, $_source : literal ) => {
424 $crate::builder_call_asset_icon! ($_builder, { $_source });
425 };
426 ( $_builder : ident, $_source : literal, $_route : tt ) => {
427 $crate::builder_call_asset_icon! ($_builder, { $_source }, $_route);
428 };
429}
430
431#[ cfg (feature = "builder-assets") ]
432#[ macro_export ]
433macro_rules! builder_call_assets_icons {
434 ( $_builder : ident, { $_sources : literal } ) => {
435 $crate::builder_call! ($_builder,
436 route_icons, (
437 $_sources,
438 ::std::option::Option::None,
439 $crate::builder_call_route_path! ($_builder, default),
440 $crate::builder_call_route_extensions! ($_builder, default),
441 ), (0x5ed5f8c5));
442 };
443 ( $_builder : ident, { $_sources : literal }, $_route : tt ) => {
444 $crate::builder_call! ($_builder,
445 route_icons, (
446 $_sources,
447 ::std::option::Option::None,
448 $crate::builder_call_route_path! ($_builder, prefix, $_route),
449 $crate::builder_call_route_extensions! ($_builder, $_route),
450 ), (0x301b41df));
451 };
452 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }) => {
453 $crate::builder_call! ($_builder,
454 route_icons, (
455 $_sources,
456 ::std::option::Option::Some ($_glob),
457 $crate::builder_call_route_path! ($_builder, default),
458 $crate::builder_call_route_extensions! ($_builder, default),
459 ), (0x6838ad5b));
460 };
461 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }, $_route : tt ) => {
462 $crate::builder_call! ($_builder,
463 route_icons, (
464 $_sources,
465 ::std::option::Option::Some ($_glob),
466 $crate::builder_call_route_path! ($_builder, prefix, $_route),
467 $crate::builder_call_route_extensions! ($_builder, $_route),
468 ), (0x5e6b3ee8));
469 };
470 ( $_builder : ident, $_sources : literal ) => {
471 $crate::builder_call_assets_icons! ($_builder, { $_sources });
472 };
473 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
474 $crate::builder_call_assets_icons! ($_builder, { $_sources }, $_route);
475 };
476}
477
478
479#[ cfg (feature = "builder-assets") ]
480#[ macro_export ]
481macro_rules! builder_call_asset_favicon {
482 ( $_builder : ident, { $_source : literal } ) => {
483 $crate::builder_call! ($_builder,
484 route_favicon, (
485 $_source,
486 $crate::builder_call_route_path! ($_builder, default),
487 $crate::builder_call_route_extensions! ($_builder, default),
488 ), (0x9ba89b0a));
489 };
490 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
491 $crate::builder_call! ($_builder,
492 route_favicon, (
493 $_source,
494 $crate::builder_call_route_path! ($_builder, exact, $_route),
495 $crate::builder_call_route_extensions! ($_builder, $_route),
496 ), (0x3c20acca));
497 };
498 ( $_builder : ident, $_source : literal ) => {
499 $crate::builder_call_asset_favicon! ($_builder, { $_source });
500 };
501 ( $_builder : ident, $_source : literal, $_route : tt ) => {
502 $crate::builder_call_asset_favicon! ($_builder, { $_source }, $_route);
503 };
504}
505
506#[ cfg (feature = "builder-assets") ]
507#[ macro_export ]
508macro_rules! builder_call_assets_favicons {
509 ( $_builder : ident, { $_sources : literal } ) => {
510 $crate::builder_call! ($_builder,
511 route_favicons, (
512 $_sources,
513 ::std::option::Option::None,
514 $crate::builder_call_route_path! ($_builder, default),
515 $crate::builder_call_route_extensions! ($_builder, default),
516 ), (0xd8657b51));
517 };
518 ( $_builder : ident, { $_sources : literal }, $_route : tt ) => {
519 $crate::builder_call! ($_builder,
520 route_favicons, (
521 $_sources,
522 ::std::option::Option::None,
523 $crate::builder_call_route_path! ($_builder, prefix, $_route),
524 $crate::builder_call_route_extensions! ($_builder, $_route),
525 ), (0x112340a3));
526 };
527 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }) => {
528 $crate::builder_call! ($_builder,
529 route_favicons, (
530 $_sources,
531 ::std::option::Option::Some ($_glob),
532 $crate::builder_call_route_path! ($_builder, default),
533 $crate::builder_call_route_extensions! ($_builder, default),
534 ), (0xa1b7b0ce));
535 };
536 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }, $_route : tt ) => {
537 $crate::builder_call! ($_builder,
538 route_favicons, (
539 $_sources,
540 ::std::option::Option::Some ($_glob),
541 $crate::builder_call_route_path! ($_builder, prefix, $_route),
542 $crate::builder_call_route_extensions! ($_builder, $_route),
543 ), (0x1681a399));
544 };
545 ( $_builder : ident, $_sources : literal ) => {
546 $crate::builder_call_assets_favicons! ($_builder, { $_sources });
547 };
548 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
549 $crate::builder_call_assets_favicons! ($_builder, { $_sources }, $_route);
550 };
551}
552
553
554#[ cfg (feature = "builder-assets") ]
555#[ macro_export ]
556macro_rules! builder_call_asset_font {
557 ( $_builder : ident, { $_source : literal } ) => {
558 $crate::builder_call! ($_builder,
559 route_font, (
560 $_source,
561 $crate::builder_call_route_path! ($_builder, default),
562 $crate::builder_call_route_extensions! ($_builder, default),
563 ), (0x8470b423));
564 };
565 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
566 $crate::builder_call! ($_builder,
567 route_font, (
568 $_source,
569 $crate::builder_call_route_path! ($_builder, exact, $_route),
570 $crate::builder_call_route_extensions! ($_builder, $_route),
571 ), (0x5e41011e));
572 };
573 ( $_builder : ident, $_source : literal ) => {
574 $crate::builder_call_asset_font! ($_builder, { $_source });
575 };
576 ( $_builder : ident, $_source : literal, $_route : tt ) => {
577 $crate::builder_call_asset_font! ($_builder, { $_source }, $_route);
578 };
579}
580
581#[ cfg (feature = "builder-assets") ]
582#[ macro_export ]
583macro_rules! builder_call_assets_fonts {
584 ( $_builder : ident, { $_sources : literal } ) => {
585 $crate::builder_call! ($_builder,
586 route_fonts, (
587 $_sources,
588 ::std::option::Option::None,
589 $crate::builder_call_route_path! ($_builder, default),
590 $crate::builder_call_route_extensions! ($_builder, default),
591 ), (0xda42d3e9));
592 };
593 ( $_builder : ident, { $_sources : literal }, $_route : tt ) => {
594 $crate::builder_call! ($_builder,
595 route_fonts, (
596 $_sources,
597 ::std::option::Option::None,
598 $crate::builder_call_route_path! ($_builder, prefix, $_route),
599 $crate::builder_call_route_extensions! ($_builder, $_route),
600 ), (0x9ad64b09));
601 };
602 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }) => {
603 $crate::builder_call! ($_builder,
604 route_fonts, (
605 $_sources,
606 ::std::option::Option::Some ($_glob),
607 $crate::builder_call_route_path! ($_builder, default),
608 $crate::builder_call_route_extensions! ($_builder, default),
609 ), (0xb700bad6));
610 };
611 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }, $_route : tt ) => {
612 $crate::builder_call! ($_builder,
613 route_fonts, (
614 $_sources,
615 ::std::option::Option::Some ($_glob),
616 $crate::builder_call_route_path! ($_builder, prefix, $_route),
617 $crate::builder_call_route_extensions! ($_builder, $_route),
618 ), (0x06f49685));
619 };
620 ( $_builder : ident, $_sources : literal ) => {
621 $crate::builder_call_assets_fonts! ($_builder, { $_sources });
622 };
623 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
624 $crate::builder_call_assets_fonts! ($_builder, { $_sources }, $_route);
625 };
626}
627
628
629#[ cfg (feature = "builder-assets") ]
630#[ macro_export ]
631macro_rules! builder_call_asset {
632 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
633 $crate::builder_call! ($_builder,
634 route_asset, (
635 $_source,
636 ::std::option::Option::None,
637 $crate::builder_call_route_path! ($_builder, exact, $_route),
638 $crate::builder_call_route_extensions! ($_builder, $_route),
639 ), (0x5cdb13b5));
640 };
641 ( $_builder : ident, { $_source : literal, content_type : $_content_type : ident }, $_route : tt ) => {
642 $crate::builder_call! ($_builder,
643 route_asset, (
644 $_source,
645 ::std::option::Option::Some (::std::stringify! ($_content_type)),
646 $crate::builder_call_route_path! ($_builder, exact, $_route),
647 $crate::builder_call_route_extensions! ($_builder, $_route),
648 ), (0xd03ccf86));
649 };
650 ( $_builder : ident, $_source : literal ) => {
651 $crate::builder_call_asset! ($_builder, { $_source });
652 };
653 ( $_builder : ident, $_source : literal, $_route : tt ) => {
654 $crate::builder_call_asset! ($_builder, { $_source }, $_route);
655 };
656}
657
658#[ cfg (feature = "builder-assets") ]
659#[ macro_export ]
660macro_rules! builder_call_assets {
661 ( $_builder : ident, { $_sources : literal }, $_route : tt ) => {
662 $crate::builder_call! ($_builder,
663 route_assets, (
664 $_sources,
665 ::std::option::Option::None,
666 ::std::option::Option::None,
667 $crate::builder_call_route_path! ($_builder, prefix, $_route),
668 $crate::builder_call_route_extensions! ($_builder, $_route),
669 ), (0xb51be306));
670 };
671 ( $_builder : ident, { $_sources : literal, content_type : $_content_type : ident }, $_route : tt ) => {
672 $crate::builder_call! ($_builder,
673 route_assets, (
674 $_sources,
675 ::std::option::Option::None,
676 ::std::option::Option::Some (::std::stringify! ($_content_type)),
677 $crate::builder_call_route_path! ($_builder, prefix, $_route),
678 $crate::builder_call_route_extensions! ($_builder, $_route),
679 ), (0xc6966c8b));
680 };
681 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }, $_route : tt ) => {
682 $crate::builder_call! ($_builder,
683 route_assets, (
684 $_sources,
685 ::std::option::Option::Some ($_glob),
686 ::std::option::Option::None,
687 $crate::builder_call_route_path! ($_builder, prefix, $_route),
688 $crate::builder_call_route_extensions! ($_builder, $_route),
689 ), (0x4acc2c15));
690 };
691 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal, content_type : $_content_type : ident }, $_route : tt ) => {
692 $crate::builder_call! ($_builder,
693 route_assets, (
694 $_sources,
695 ::std::option::Option::Some ($_glob),
696 ::std::option::Option::Some (::std::stringify! ($_content_type)),
697 $crate::builder_call_route_path! ($_builder, prefix, $_route),
698 $crate::builder_call_route_extensions! ($_builder, $_route),
699 ), (0x9c99e92d));
700 };
701 ( $_builder : ident, $_sources : literal ) => {
702 $crate::builder_call_assets! ($_builder, { $_sources });
703 };
704 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
705 $crate::builder_call_assets! ($_builder, { $_sources }, $_route);
706 };
707}
708
709
710#[ cfg (feature = "builder-assets") ]
711#[ macro_export ]
712macro_rules! builder_call_asset_watch {
713 ( $_builder : ident, { $_source : literal } ) => {
714 $crate::builder_call! ($_builder,
715 watch_asset, (
716 $_source,
717 ), (0x764afafe));
718 };
719 ( $_builder : ident, $_source : literal ) => {
720 $crate::builder_call_asset_watch! ($_builder, { $_source });
721 };
722}
723
724#[ cfg (feature = "builder-assets") ]
725#[ macro_export ]
726macro_rules! builder_call_assets_watch {
727 ( $_builder : ident, { $_sources : literal } ) => {
728 $crate::builder_call! ($_builder,
729 watch_assets, (
730 $_sources,
731 ::std::option::Option::None,
732 ), (0x4f90b5b1));
733 };
734 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }) => {
735 $crate::builder_call! ($_builder,
736 watch_assets, (
737 $_sources,
738 ::std::option::Option::Some ($_glob),
739 ), (0xdbfc9a0b));
740 };
741 ( $_builder : ident, $_sources : literal ) => {
742 $crate::builder_call_assets_watch! ($_builder, { $_sources });
743 };
744}
745
746
747
748
749#[ cfg (feature = "builder-askama") ]
750#[ macro_export ]
751macro_rules! builder_call_askama {
752 ( $_builder : ident, { $_source : literal $( , context : $_context_type : ty $( , context_from : $_context_path : literal )? )? }, $_route : tt ) => {
753 $crate::builder_call! ($_builder,
754 route_askama, (
755 $_source,
756 {
757 let _context = ::std::option::Option::<(&str, ::std::option::Option<&str>)>::None;
758 $(
759 let _context_path = ::std::option::Option::<&str>::None;
760 $( let _context_path = ::std::option::Option::Some ($_context_path); )?
761 let _context = ::std::option::Option::Some ((::std::stringify! ($_context_type), _context_path));
762 )?
763 _context
764 },
765 $crate::builder_call_route_path! ($_builder, exact, $_route),
766 $crate::builder_call_route_extensions! ($_builder, $_route),
767 ), (0xe3a36527));
768 };
769 ( $_builder : ident, $_source : literal ) => {
770 $crate::builder_call_askama! ($_builder, { $_source });
771 };
772 ( $_builder : ident, $_source : literal, $_route : tt ) => {
773 $crate::builder_call_askama! ($_builder, { $_source }, $_route);
774 };
775}
776
777#[ cfg (feature = "builder-askama") ]
778#[ macro_export ]
779macro_rules! builder_call_askamas {
780 ( $_builder : ident, { $_sources : literal $( , context : $_context_type : ty $( , context_from : $_context_path : literal )? )? }, $_route : tt ) => {
781 $crate::builder_call! ($_builder,
782 route_askamas, (
783 $_sources,
784 ::std::option::Option::None,
785 {
786 let _context = ::std::option::Option::<(&str, ::std::option::Option<&str>)>::None;
787 $(
788 let _context_path = ::std::option::Option::<&str>::None;
789 $( let _context_path = ::std::option::Option::Some ($_context_path); )?
790 let _context = ::std::option::Option::Some ((::std::stringify! ($_context_type), _context_path));
791 )?
792 _context
793 },
794 $crate::builder_call_route_path! ($_builder, prefix, $_route),
795 $crate::builder_call_route_extensions! ($_builder, $_route),
796 ), (0x2a28230c));
797 };
798 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal $( , context : $_context_type : ty $( , context_from : $_context_path : literal )? )? }, $_route : tt ) => {
799 $crate::builder_call! ($_builder,
800 route_askamas, (
801 $_sources,
802 ::std::option::Option::Some ($_glob),
803 {
804 let _context = ::std::option::Option::<(&str, ::std::option::Option<&str>)>::None;
805 $(
806 let _context_path = ::std::option::Option::<&str>::None;
807 $( let _context_path = ::std::option::Option::Some ($_context_path); )?
808 let _context = ::std::option::Option::Some ((::std::stringify! ($_context_type), _context_path));
809 )?
810 _context
811 },
812 $crate::builder_call_route_path! ($_builder, prefix, $_route),
813 $crate::builder_call_route_extensions! ($_builder, $_route),
814 ), (0xdb8e73df));
815 };
816 ( $_builder : ident, $_sources : literal ) => {
817 $crate::builder_call_askamas! ($_builder, $_sources);
818 };
819 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
820 $crate::builder_call_askamas! ($_builder, { $_sources }, $_route);
821 };
822}
823
824
825#[ cfg (feature = "builder-askama") ]
826#[ macro_export ]
827macro_rules! builder_call_askama_watch {
828 ( $_builder : ident, { $_source : literal } ) => {
829 $crate::builder_call! ($_builder,
830 watch_askama, (
831 $_source,
832 ), (0xd7c76ec9));
833 };
834 ( $_builder : ident, $_source : literal ) => {
835 $crate::builder_call_askama_watch! ($_builder, { $_source });
836 };
837}
838
839#[ cfg (feature = "builder-askama") ]
840#[ macro_export ]
841macro_rules! builder_call_askamas_watch {
842 ( $_builder : ident, { $_sources : literal } ) => {
843 $crate::builder_call! ($_builder,
844 watch_askamas, (
845 $_sources,
846 ::std::option::Option::None,
847 ), (0x4fe8df42));
848 };
849 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }) => {
850 $crate::builder_call! ($_builder,
851 watch_askamas, (
852 $_sources,
853 ::std::option::Option::Some ($_glob),
854 ), (0x59d44dee));
855 };
856 ( $_builder : ident, $_sources : literal ) => {
857 $crate::builder_call_askamas_watch! ($_builder, { $_sources });
858 };
859}
860
861
862
863
864#[ cfg (feature = "builder-askama") ]
865#[ cfg (feature = "builder-markdown") ]
866#[ macro_export ]
867macro_rules! builder_call_markdown_askama {
868 ( $_builder : ident, { $_source_markdown : literal, template : $_source_template : literal $( , context : $_context_type : ty )? }, $_route : tt ) => {
869 $crate::builder_call! ($_builder,
870 route_markdown_askama, (
871 $_source_markdown,
872 $_source_template,
873 {
874 let _context = ::std::option::Option::<&str>::None;
875 $( let _context = ::std::option::Option::Some (::std::stringify! ($_context_type)); )?
876 _context
877 },
878 $crate::builder_call_route_path! ($_builder, exact, $_route),
879 $crate::builder_call_route_extensions! ($_builder, $_route),
880 ), (0x0045ece1));
881 };
882}
883
884#[ cfg (feature = "builder-askama") ]
885#[ cfg (feature = "builder-markdown") ]
886#[ macro_export ]
887macro_rules! builder_call_markdowns_askama {
888 ( $_builder : ident, { $_sources_markdown : literal, template : $_source_template : literal $( , context : $_context_type : ty )? }, $_route : tt ) => {
889 $crate::builder_call! ($_builder,
890 route_markdowns_askama, (
891 $_sources_markdown,
892 ::std::option::Option::None,
893 $_source_template,
894 {
895 let _context = ::std::option::Option::<&str>::None;
896 $( let _context = ::std::option::Option::Some (::std::stringify! ($_context_type)); )?
897 _context
898 },
899 $crate::builder_call_route_path! ($_builder, prefix, $_route),
900 $crate::builder_call_route_extensions! ($_builder, $_route),
901 ), (0x84a5049c));
902 };
903 ( $_builder : ident, { $_sources_markdown : literal, glob : $_glob : literal, template : $_source_template : literal $( , context : $_context_type : ty )? }, $_route : tt ) => {
904 $crate::builder_call! ($_builder,
905 route_markdowns_askama, (
906 $_sources_markdown,
907 ::std::option::Option::Some ($_glob),
908 $_source_template,
909 {
910 let _context = ::std::option::Option::<&str>::None;
911 $( let _context = ::std::option::Option::Some (::std::stringify! ($_context_type)); )?
912 _context
913 },
914 $crate::builder_call_route_path! ($_builder, prefix, $_route),
915 $crate::builder_call_route_extensions! ($_builder, $_route),
916 ), (0x273fbd0e));
917 };
918}
919
920
921
922
923#[ cfg (feature = "builder-markdown") ]
924#[ macro_export ]
925macro_rules! builder_call_markdown {
926 ( $_builder : ident, { $_source : literal }, $_route : tt ) => {
927 $crate::builder_call! ($_builder,
928 route_markdown, (
929 $_source,
930 ::std::option::Option::None,
931 ::std::option::Option::None,
932 $crate::builder_call_route_path! ($_builder, exact, $_route),
933 $crate::builder_call_route_extensions! ($_builder, $_route),
934 ), (0x97238678));
935 };
936 ( $_builder : ident, { $_source : literal, header : $_header : literal, footer : $_footer : literal }, $_route : tt ) => {
937 $crate::builder_call! ($_builder,
938 route_markdown, (
939 $_source,
940 ::std::option::Option::Some ($_header),
941 ::std::option::Option::Some ($_footer),
942 $crate::builder_call_route_path! ($_builder, exact, $_route),
943 $crate::builder_call_route_extensions! ($_builder, $_route),
944 ), (0x0be4beba));
945 };
946 ( $_builder : ident, $_source : literal ) => {
947 $crate::builder_call_markdown! ($_builder, { $_source });
948 };
949 ( $_builder : ident, $_source : literal, $_route : tt ) => {
950 $crate::builder_call_markdown! ($_builder, { $_source }, $_route);
951 };
952}
953
954#[ cfg (feature = "builder-markdown") ]
955#[ macro_export ]
956macro_rules! builder_call_markdowns {
957 ( $_builder : ident, { $_sources : literal }, $_route : tt ) => {
958 $crate::builder_call! ($_builder,
959 route_markdowns, (
960 $_sources,
961 ::std::option::Option::None,
962 ::std::option::Option::None,
963 ::std::option::Option::None,
964 $crate::builder_call_route_path! ($_builder, prefix, $_route),
965 $crate::builder_call_route_extensions! ($_builder, $_route),
966 ), (0xf73441ed));
967 };
968 ( $_builder : ident, { $_sources : literal, header : $_header : literal, footer : $_footer : literal }, $_route : tt ) => {
969 $crate::builder_call! ($_builder,
970 route_markdowns, (
971 $_sources,
972 ::std::option::Option::None,
973 ::std::option::Option::Some ($_header),
974 ::std::option::Option::Some ($_footer),
975 $crate::builder_call_route_path! ($_builder, prefix, $_route),
976 $crate::builder_call_route_extensions! ($_builder, $_route),
977 ), (0x3664d302));
978 };
979 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal }, $_route : tt ) => {
980 $crate::builder_call! ($_builder,
981 route_markdowns, (
982 $_sources,
983 ::std::option::Option::Some ($_glob),
984 ::std::option::Option::None,
985 ::std::option::Option::None,
986 $crate::builder_call_route_path! ($_builder, prefix, $_route),
987 $crate::builder_call_route_extensions! ($_builder, $_route),
988 ), (0xa5bd4849));
989 };
990 ( $_builder : ident, { $_sources : literal, glob : $_glob : literal, header : $_header : literal, footer : $_footer : literal }, $_route : tt ) => {
991 $crate::builder_call! ($_builder,
992 route_markdowns, (
993 $_sources,
994 ::std::option::Option::Some ($_glob),
995 ::std::option::Option::Some ($_header),
996 ::std::option::Option::Some ($_footer),
997 $crate::builder_call_route_path! ($_builder, prefix, $_route),
998 $crate::builder_call_route_extensions! ($_builder, $_route),
999 ), (0xf712c3cf));
1000 };
1001 ( $_builder : ident, $_sources : literal ) => {
1002 $crate::builder_call_markdowns! ($_builder, { $_sources });
1003 };
1004 ( $_builder : ident, $_sources : literal, $_route : tt ) => {
1005 $crate::builder_call_markdowns! ($_builder, { $_sources }, $_route);
1006 };
1007}
1008
1009
1010
1011
1012#[ cfg (feature = "builder-sitemaps") ]
1013#[ macro_export ]
1014macro_rules! builder_call_sitemap {
1015 ( $_builder : ident, { prefix : $_prefix : literal, format : $_format : ident }, $_route : tt ) => {
1016 $crate::builder_call! ($_builder,
1017 route_sitemap, (
1018 $_prefix,
1019 ::std::stringify! ($_format),
1020 $crate::builder_call_route_path! ($_builder, exact, $_route),
1021 $crate::builder_call_route_extensions! ($_builder, $_route),
1022 ), (0x48080c8b));
1023 };
1024}
1025
1026
1027
1028
1029#[ macro_export ]
1030macro_rules! builder_call {
1031
1032 ( $_builder : ident, $_method : ident, ( $( $_argument : expr , )* ), ( $_code : literal ) ) => {
1033 $_builder .$_method ( $( $_argument, )* ) ?;
1034 };
1035}
1036
1037
1038
1039
1040#[ macro_export ]
1041macro_rules! builder_call_route_path {
1042 ( $_builder : expr, default) => {
1043 &()
1044 };
1045 ( $_builder : expr, exact, $_route : literal ) => {
1046 &(false, $_route as &'static str)
1047 };
1048 ( $_builder : expr, prefix, $_route : literal ) => {
1049 &(true, $_route as &'static str)
1050 };
1051 ( $_builder : expr, exact, { $_route : literal $( , extensions : $_ : tt )? } ) => {
1052 &(false, $_route as &'static str)
1053 };
1054 ( $_builder : expr, prefix, { $_route : literal $( , extensions : $_ : tt )? } ) => {
1055 &(true, $_route as &'static str)
1056 };
1057}
1058
1059
1060
1061
1062#[ macro_export ]
1063macro_rules! builder_call_route_extensions {
1064 ( $_builder : expr, default ) => {
1065 &()
1066 };
1067 ( $_builder : expr, $_route : literal ) => {
1068 &()
1069 };
1070 ( $_builder : expr, { $_route : literal } ) => {
1071 &()
1072 };
1073 ( $_builder : expr, { $_route : tt, extensions : $_extensions : tt } ) => {
1074 ::std::stringify! ($_extensions)
1075 };
1076}
1077
1078
1079
1080
1081#[ macro_export ]
1082macro_rules! build_with_defaults {
1083
1084 ( $_resources : literal ) => {
1085 $crate::build_with_defaults! ({
1086 ::std::include! ($_resources)
1087 });
1088 };
1089
1090 ( $_resources : block ) => {
1091 {
1092 let mut _builder = $crate::Builder::new_with_defaults ();
1093
1094 $crate::builder_macros! (_builder);
1095
1096 {
1097 $_resources
1098 }
1099
1100 $crate::builder_call! (_builder, generate, (), (0x9e52f017));
1101 }
1102 };
1103}
1104
1105
1106
1107
1108#[ macro_export ]
1109macro_rules! main_build_with_defaults {
1110
1111 ( $_resources : tt ) => {
1112
1113 pub fn main () -> $crate::BuilderResult {
1114
1115 $crate::build_with_defaults! ($_resources);
1116
1117 $crate::BuilderResult::Ok (())
1118 }
1119 };
1120}
1121