From 4c5629df62c0a694b6ef3aada2ec86890bfeceaa Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 12 Sep 2026 14:11:59 +0300 Subject: feat!: Rework website generation - Move src.du into src/INIT.du - Replace generate.sh with make.sh, which uses multiple stages for execution and allows customising them. - Added a stage for sitemap generation in make.sh --- src/INIT.du | 415 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 415 insertions(+) create mode 100644 src/INIT.du (limited to 'src') diff --git a/src/INIT.du b/src/INIT.du new file mode 100644 index 0000000..717f259 --- /dev/null +++ b/src/INIT.du @@ -0,0 +1,415 @@ +'hide Necessary definitions for all pages under src + +'if {eq {ifn {OUTPUT_FORMAT};{env OUTPUT_FORMAT}};HTML} + +# FILENAME + +'def FILENAME {trimEnd {1};du}html + +# HEADER + +Expected substitutions: +title - Page title +desc - Page description + +'def HEADER \ +\ +\ +\ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + {title} — Syndamia\ +\ +\ + Jump to content

\ +\ + \ +\ +
\ + \ + \ +
{def href_section;0}{def href_url;0}{def slide;0}{def URL;{trimStart {query inputFile};./website/}} + +# FOOTER + +'def FOOTER
\ + \ +
\ +
\ +\ +
︽
\ +\ +\ +\ +\ +\ +\ +\ + + +# Blocks + +'if {env HIGHLIGHT} +'cmdprocess code highlight -O html -f -S {default {normalise {LANG}};text} +'endif + +## Attention + +'let start question
question +'let end question
+ +'let start warn
warn +'let end warn
+ +'let start important
important +'let end important
+ +'let start note
+'let end note
+ +## Headers + +For each header (except H1) we'll add a "gap" element and an anchor link to the end. +The gap is only for visual purposes. + +href function +'def fhref {default {normalise {1}};section-{inc {2}}} +auto href +'def ahref {def href;{fhref {query line};href_section}}{href} +url href +'def uhref {url {1};#{fhref {1};href_url}} + +'let start header2

+'let end header2

+'let start header3

+'let end header3

+'let start header4

+'let end header4

+'let start header5
+'let end header5
+'let start header6
+'let end header6
+ +## Teaching + +'let start solution-link
< +'let end solution-link >
+ +## Contents + +'let start contents

Contents

+'let end contents
+ +## Presentations + +'let start font18
+'let end font18
+'let start centered18
+'let end centered18
+'let start slide18
+'let end slide18
+'let start middle_slide18
+'let end middle_slide18
+'let start title_slide18
+'let end title_slide18
+ +'let start font20
+'let end font20
+'let start centered20
+'let end centered20
+'let start slide20
+'let end slide20
+'let start middle_slide20
+'let end middle_slide20
+'let start title_slide20
+'let end title_slide20
+ +'let start font22
+'let end font22
+'let start centered22
+'let end centered22
+'let start slide22
+'let end slide22
+'let start middle_slide22
+'let end middle_slide22
+'let start title_slide22
+'let end title_slide22
+ +'let start font25
+'let end font25
+'let start centered25
+'let end centered25
+'let start slide25
+'let end slide25
+'let start middle_slide25
+'let end middle_slide25
+'let start title_slide25
+'let end title_slide25
+ +'let start font27
+'let end font27
+'let start centered27
+'let end centered27
+'let start slide27
+'let end slide27
+'let start middle_slide27
+'let end middle_slide27
+'let start title_slide27
+'let end title_slide27
+ +'let start font35
+'let end font35
+'let start centered35
+'let end centered35
+'let start slide35
+'let end slide35
+'let start middle_slide35
+'let end middle_slide35
+'let start title_slide35
+'let end title_slide35
+ +'let start font
+'let end font
+'let start centered
+'let end centered
+'let start slide
+'let end slide
+'let start middle_slide
+'let end middle_slide
+'let start title_slide
+'let end title_slide
+ +'let start row
+'let end row
+'let start sqrow
+'let end sqrow
+ +'let start width5%
+'let end width5%
+'let start width10%
+'let end width10%
+'let start width15%
+'let end width15%
+'let start width20%
+'let end width20%
+'let start width25%
+'let end width25%
+'let start width30%
+'let end width30%
+'let start width35%
+'let end width35%
+'let start width40%
+'let end width40%
+'let start width45%
+'let end width45%
+'let start width50%
+'let end width50%
+'let start width55%
+'let end width55%
+'let start width60%
+'let end width60%
+'let start width65%
+'let end width65%
+'let start width70%
+'let end width70%
+'let start width75%
+'let end width75%
+'let start width80%
+'let end width80%
+'let start width85%
+'let end width85%
+'let start width90%
+'let end width90%
+'let start width95%
+'let end width95%
+ +'let start fright
+'let end fright
+'let start column
+'let end column
+ +# Substitutions + +'def due_for_rework {url {b {i Due for rework}};/rework.html} +'def nohtml {greplace {1};<;<\;} + +## Country flags + +'def gb ENG +'def bg BGN + +## File types + +'def ft-photo +'def ft-text +'def ft-zip +'def ft-movie +'def ft-markdown +'def ft-browser + +## Pagenav + +Expects substitutions: +reading +created +edited + +'def breadcrumb » {def x/...;{>= {count {1};/};1}}{if {x/...};{url {substrBefore {1};/};{default {2};./}};{italic {substrAfter {1};/}}} {{if {x/...};breadcrumb;none} {substrAfter {1};/};{substrAfter {2};../}} + +'def pagenav + +## Presentations + +'def line
+ +'def presentation-controller

\ + + +'def newrow
+ +'def br1
+'def br2
+'def br3
+'def br4
+'def br5
+'def br6
+'def br7
+'def br8
+'def br9
+ +## Pagination + + 1 2 3 4 5 +{pagination START_URL;PREV_TITLE;PREV_URL;NEXT;NEXT_URL} + +'def pagination {if {1};{code {url {nohtml <<};{1}}} || }{if {2};{code {url {nohtml <} {2};{3}}}}{if {2}{4}; || }{if {4};{code {url {4} {nohtml >};{5}}}} + +'else +'exit 1 +'endif -- cgit v1.3.1-23-gd82d