hyper_static_server/
builder_macros.rs

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