diff --git a/build.sh b/build.sh index 48c2bb1..a0869df 100755 --- a/build.sh +++ b/build.sh @@ -10,41 +10,60 @@ now="$(date -Iseconds)" generator="$(pandoc --version | head -n1)" function convert { - pandoc \ - --read markdown \ - --write html \ - --standalone \ - --template template.html \ - --highlight-style zenburn \ - --css "/~$USER/theme.css" \ - --variable generator="$generator" \ - --variable now="$now" \ - -o "$2" \ - "$1" + # Usage: convert input_file output_file output_format + if [ "$3" = html ]; then + pandoc \ + --read markdown \ + --write html \ + --standalone \ + --template template.html \ + --highlight-style zenburn \ + --css "/~$USER/theme.css" \ + --variable generator="$generator" \ + --variable now="$now" \ + -o "$2" \ + "$1" + else + pandoc \ + --read markdown \ + --write "$3" \ + -o "$2" \ + "$1" + fi chmod 644 "$2" } -for file in content/**/*.md; do - output="${file/#content/html}" - output="${output/%.md/.html}" - mkdir -p "$(dirname "$output")" - chmod 711 "$(dirname "$output")" - echo "Building $file to $output" - convert "$file" "$output" -done - -function link_assets { - for src in "$1"/*; do - dest="${src/#assets/html}" - if [ ! -h "$dest" ] && [ -d "$dest" ]; then - link_assets "$src" - else - echo "Symlinking $src to $dest" - ln -fTs "$(echo "$dest" | sed 's|[^/]*/|../|g;s|/[^/]*$||')/$src" "$dest" - fi +function convert_all_md { + # Usage: convert_all_md output_directory file_extension pandoc_output_format + local file + local output + echo "Converting all Markdown files to .$2 files under $1/" + for file in content/**/*.md; do + output="${file/#content/$1}" + output="${output/%.md/.$2}" + mkdir -p "$(dirname "$output")" + chmod 755 "$(dirname "$output")" + echo " $file -> $output" + convert "$file" "$output" "$3" done } -link_assets assets +convert_all_md html html html +convert_all_md gopher txt plain + +function link_assets { + echo "Copying assets from $1 to $2" + for path in $1/*; do + echo " $path -> $2" + cp -dr --no-preserve=mode "$path" "$2" + done + echo " Fixing asset attributes" + find "$1" -type d | sed "s|^$1|$2|" | xargs chmod 755 + find "$1" -type f | sed "s|^$1|$2|" | xargs chmod 644 +} +link_assets assets html +link_assets assets gopher +link_assets html_assets html +link_assets gopher_assets gopher # Build the 'everything' page and CDF feed echo 'Building article list' @@ -57,7 +76,7 @@ title: everything --- " > "$tree_file" xsltproc xsl/tree-html.xsl "$tree_output" >> "$tree_file" -convert "$tree_file" "html/everything.html" +convert "$tree_file" "html/everything.html" html xsltproc xsl/tree-cdf.xsl "$tree_output" | xmllint --format - > "html/everything.cdf" xmllint --noout --schema "assets/xsd/cdf.xsd" "html/everything.cdf" diff --git a/gopher_assets/gophermap b/gopher_assets/gophermap new file mode 100644 index 0000000..23c91b8 --- /dev/null +++ b/gopher_assets/gophermap @@ -0,0 +1,12 @@ +Welcome to lucidiot's gopherhole on envs.net! +This is an attempt at building a gopher version of my wiki. + +Below are plain-text version of all the articles; they are +generated using pandoc from Markdown files, and therefore may not +contain all of the interesting content that the original files +might have had, for example images or diagrams. + +hThis wiki over HTTP URL:https://envs.net/~lucidiot/ +___________________________________________________________________ + +* diff --git a/assets/hina/README.md b/html_assets/hina/README.md similarity index 100% rename from assets/hina/README.md rename to html_assets/hina/README.md diff --git a/assets/hina/archive-index.html b/html_assets/hina/archive-index.html similarity index 100% rename from assets/hina/archive-index.html rename to html_assets/hina/archive-index.html diff --git a/assets/hina/fw_logo1.gif b/html_assets/hina/fw_logo1.gif similarity index 100% rename from assets/hina/fw_logo1.gif rename to html_assets/hina/fw_logo1.gif diff --git a/assets/hina/hina2_2-rev0_10.txt b/html_assets/hina/hina2_2-rev0_10.txt similarity index 100% rename from assets/hina/hina2_2-rev0_10.txt rename to html_assets/hina/hina2_2-rev0_10.txt diff --git a/assets/hina/hina2_2-rev0_11.txt b/html_assets/hina/hina2_2-rev0_11.txt similarity index 100% rename from assets/hina/hina2_2-rev0_11.txt rename to html_assets/hina/hina2_2-rev0_11.txt diff --git a/assets/hina/hina2_2-rev0_12.txt b/html_assets/hina/hina2_2-rev0_12.txt similarity index 100% rename from assets/hina/hina2_2-rev0_12.txt rename to html_assets/hina/hina2_2-rev0_12.txt diff --git a/assets/hina/hina2_2-rev0_13.html b/html_assets/hina/hina2_2-rev0_13.html similarity index 100% rename from assets/hina/hina2_2-rev0_13.html rename to html_assets/hina/hina2_2-rev0_13.html diff --git a/assets/hina/hina2_2-rev0_5-20000923.txt b/html_assets/hina/hina2_2-rev0_5-20000923.txt similarity index 100% rename from assets/hina/hina2_2-rev0_5-20000923.txt rename to html_assets/hina/hina2_2-rev0_5-20000923.txt diff --git a/assets/hina/hina2_2-rev0_6.txt b/html_assets/hina/hina2_2-rev0_6.txt similarity index 100% rename from assets/hina/hina2_2-rev0_6.txt rename to html_assets/hina/hina2_2-rev0_6.txt diff --git a/assets/hina/hina2_2-rev0_7.txt b/html_assets/hina/hina2_2-rev0_7.txt similarity index 100% rename from assets/hina/hina2_2-rev0_7.txt rename to html_assets/hina/hina2_2-rev0_7.txt diff --git a/assets/hina/hina2_2-rev0_8.txt b/html_assets/hina/hina2_2-rev0_8.txt similarity index 100% rename from assets/hina/hina2_2-rev0_8.txt rename to html_assets/hina/hina2_2-rev0_8.txt diff --git a/assets/hina/hina2_2-rev0_9.txt b/html_assets/hina/hina2_2-rev0_9.txt similarity index 100% rename from assets/hina/hina2_2-rev0_9.txt rename to html_assets/hina/hina2_2-rev0_9.txt diff --git a/assets/hina/normal.css b/html_assets/hina/normal.css similarity index 100% rename from assets/hina/normal.css rename to html_assets/hina/normal.css diff --git a/assets/img/bg.gif b/html_assets/img/bg.gif similarity index 100% rename from assets/img/bg.gif rename to html_assets/img/bg.gif diff --git a/assets/img/brainshit.gif b/html_assets/img/brainshit.gif similarity index 100% rename from assets/img/brainshit.gif rename to html_assets/img/brainshit.gif diff --git a/assets/img/bread.gif b/html_assets/img/bread.gif similarity index 100% rename from assets/img/bread.gif rename to html_assets/img/bread.gif diff --git a/assets/img/cc.gif b/html_assets/img/cc.gif similarity index 100% rename from assets/img/cc.gif rename to html_assets/img/cc.gif diff --git a/assets/img/envs.gif b/html_assets/img/envs.gif similarity index 100% rename from assets/img/envs.gif rename to html_assets/img/envs.gif diff --git a/assets/img/favicon.ico b/html_assets/img/favicon.ico similarity index 100% rename from assets/img/favicon.ico rename to html_assets/img/favicon.ico diff --git a/assets/img/town.gif b/html_assets/img/town.gif similarity index 100% rename from assets/img/town.gif rename to html_assets/img/town.gif diff --git a/assets/lirs/1999-11-03.html b/html_assets/lirs/1999-11-03.html similarity index 100% rename from assets/lirs/1999-11-03.html rename to html_assets/lirs/1999-11-03.html diff --git a/assets/lirs/2000-10-13.html b/html_assets/lirs/2000-10-13.html similarity index 100% rename from assets/lirs/2000-10-13.html rename to html_assets/lirs/2000-10-13.html diff --git a/assets/lirs/original.html b/html_assets/lirs/original.html similarity index 100% rename from assets/lirs/original.html rename to html_assets/lirs/original.html diff --git a/assets/rsrsss b/html_assets/rsrsss similarity index 100% rename from assets/rsrsss rename to html_assets/rsrsss diff --git a/assets/theme.css b/html_assets/theme.css similarity index 100% rename from assets/theme.css rename to html_assets/theme.css