diff --git a/README.md b/README.md deleted file mode 100644 index c0045b5..0000000 --- a/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Jocelyns HSMW website - -This repository contains the generator, static files and source files for my [HSMW website](https://www.student.hs-mittweida.de/~jotto5) - -## 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 `dist` folder if it exists -* Create a dist folder -* Copy over all static files -* Compile the website from `src` into `dist` - -## 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: - -``` -

-% echo 'Hallo Mittweida!' -

-``` - -will be evaluated to - -``` -

-Hallo Mittweida! -

-``` - -> 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: - -``` -link -``` - -will put the contents of the shell variable `LINK` in the `href`-attribute field of the link object. diff --git a/build.sh b/build.sh index 453b2f5..ee80ea5 100755 --- a/build.sh +++ b/build.sh @@ -5,12 +5,12 @@ source_to_target() { sed -E -e 's:\.\./src/:\./:' -e 's/.md$/.html/'; } shopt -s globstar rm -rf dist/ mkdir dist&&cd dist -cp -r ../static/* . +cp ../style.css . for file in $(du -a ../src/ | cut -f2 | grep -E '.md$'); do target="$(echo $file | source_to_target)" export CONTENT="$(pandoc --from markdown+emoji --wrap=none -i $file)" export PREFIX=$(realpath --relative-to $(dirname $target) .) export SIDEBAR=$(for x in ../src/**/*.md; do echo "
  • $(realpath --relative-to ../src/ $x | sed -e 's/.md$//')
  • "; done) mkdir -p $(dirname $target) - awk -f ../template.awk ../template.tpl | bash > $target + cat ../template.tpl | awk -f ../template.awk | bash > $target done diff --git a/src/others.md b/src/others.md index 9f56870..a5bd654 100644 --- a/src/others.md +++ b/src/others.md @@ -2,7 +2,7 @@ This is a place for me to put links to friendly websites! -* Emilian's site: [~emarche](https://www.student.hs-mittweida.de/~emarche) +* Emil's site: [~emarche](https://www.student.hs-mittweida.de/~emarche) * My private homepage at [jossco.de](https://jossco.de) If you want to be here, contact me :grin: diff --git a/static/style.css b/style.css similarity index 100% rename from static/style.css rename to style.css