From c99afd569d31c4834d5633d0514ec09f3d58e2d1 Mon Sep 17 00:00:00 2001 From: Joss Date: Tue, 26 Nov 2024 20:41:25 +0100 Subject: [PATCH 1/4] Added README.md --- README.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c0045b5 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# 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. From 5d0cbfc000568511b4e3167245fe460e82d713b1 Mon Sep 17 00:00:00 2001 From: Joss Date: Tue, 26 Nov 2024 20:45:38 +0100 Subject: [PATCH 2/4] Moved style.css to static directory --- build.sh | 2 +- style.css => static/style.css | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename style.css => static/style.css (100%) diff --git a/build.sh b/build.sh index ee80ea5..038380c 100755 --- a/build.sh +++ b/build.sh @@ -5,7 +5,7 @@ source_to_target() { sed -E -e 's:\.\./src/:\./:' -e 's/.md$/.html/'; } shopt -s globstar rm -rf dist/ mkdir dist&&cd dist -cp ../style.css . +cp -r ../static/* . 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)" diff --git a/style.css b/static/style.css similarity index 100% rename from style.css rename to static/style.css From 5794cc38f7e2513f40bad749625f8b728ae440e8 Mon Sep 17 00:00:00 2001 From: Joss Date: Wed, 27 Nov 2024 18:26:49 +0100 Subject: [PATCH 3/4] Fixed Emilians name --- src/others.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/others.md b/src/others.md index a5bd654..9f56870 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! -* Emil's site: [~emarche](https://www.student.hs-mittweida.de/~emarche) +* Emilian'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: From d353f2e5e6c134eaaffa674bf80ef8d131346e50 Mon Sep 17 00:00:00 2001 From: Joss Date: Wed, 27 Nov 2024 18:38:57 +0100 Subject: [PATCH 4/4] Removed misused and useless cat command --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 038380c..453b2f5 100755 --- a/build.sh +++ b/build.sh @@ -12,5 +12,5 @@ for file in $(du -a ../src/ | cut -f2 | grep -E '.md$'); do 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) - cat ../template.tpl | awk -f ../template.awk | bash > $target + awk -f ../template.awk ../template.tpl | bash > $target done