| src | ||
| static | ||
| .gitignore | ||
| build.sh | ||
| README.md | ||
| template.awk | ||
| template.tpl | ||
Jocelyns HSMW website
This repository contains the generator, static files and source files for my HSMW website
Build
To build this website you need:
- GNU Bash (5.2.32)
- GNU awk (1.3.4)
- sed (4.9)
- Pandoc (3.1.11.1)
Any half-recent version should suffice, I added a tested version in parentheses. To run the build, execute the build.sh script from the root directory. This will:
- Delete the
distfolder if it exists - Create a dist folder
- Copy over all static files
- .rcss files will be put through cpp
- Compile the website from
srcintodist
Templates
Templates use a custom template language heavily inspired by the one used by werc. It works by embedding bash code directly into the html skeleton used to build the pages. There are two ways of doing so:
Escaped lines
If a line starts with an arbitrary amount of whitespace (even 0) followed by a percent sign, the rest of the line will be treated as a shell command, and the commands output will be inserted in its place. For example:
<h1>
% echo 'Hallo Mittweida!'
</h1>
will be evaluated to
<h1>
Hallo Mittweida!
</h1>
NOTE: Keep control over your templates, as they could expose information about your system!
Inline expressions
Inline expressions can be written by encasing the expression in %( and %). Those expressions will be evaluated as if put in double quotes, and the result will be inserted in their place. Example:
<a href="%($LINK%)">link</a>
will put the contents of the shell variable LINK in the href-attribute field of the link object.