From bb9aecc16a4e47e67d7abbc3a4230759ba0061f3 Mon Sep 17 00:00:00 2001 From: hoijui Date: Mon, 1 Jul 2019 16:26:30 +0200 Subject: [PATCH 001/108] unify indenting Now it is only TABs, before it was spaces and TABs. --- bin/pdsite | 212 ++++++++++++++++++++++++++--------------------------- 1 file changed, 106 insertions(+), 106 deletions(-) diff --git a/bin/pdsite b/bin/pdsite index 536ebe5..8733e59 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -5,145 +5,145 @@ themespath=${scriptpath%/*}/../themes defaultconfig=${scriptpath%/*}/../.pdsite.yml.default function init(){ - cp $defaultconfig .pdsite.yml + cp $defaultconfig .pdsite.yml } function build(){ - # Load config variables from file - if [ -f ./.pdsite.yml ]; then - configfile=$(pwd)'/.pdsite.yml' - theme=$(cat $configfile | grep '^theme:' | sed 's|^theme:\s*\(.*\)$|\1|') - inputextension=$(cat $configfile | grep '^inputextension:' | sed 's|^inputextension:\s*\(.*\)$|\1|') - outputfolder=$(cat $configfile | grep '^outputfolder:' | sed 's|^outputfolder:\s*\(.*\)$|\1|') - [ "$theme" ] && [ "$inputextension" ] && [ "$outputfolder" ] || { - echo "ERROR: Missing config variables in .pdsite.yml" 1>&2 - exit 1 + # Load config variables from file + if [ -f ./.pdsite.yml ]; then + configfile=$(pwd)'/.pdsite.yml' + theme=$(cat $configfile | grep '^theme:' | sed 's|^theme:\s*\(.*\)$|\1|') + inputextension=$(cat $configfile | grep '^inputextension:' | sed 's|^inputextension:\s*\(.*\)$|\1|') + outputfolder=$(cat $configfile | grep '^outputfolder:' | sed 's|^outputfolder:\s*\(.*\)$|\1|') + [ "$theme" ] && [ "$inputextension" ] && [ "$outputfolder" ] || { + echo "ERROR: Missing config variables in .pdsite.yml" 1>&2 + exit 1 + } + else + echo "ERROR: .pdsite.yml configuration file not detected" 1>&2 + exit 1 + fi + + themepath=$themespath/$theme + outputfolder=$(readlink -f $outputfolder) + + # Build glob expressions + extensionglob='*'$inputextension + indexfileglob='*index'$inputextension + + # Define temporary file locations + globaltree=$outputfolder/tree.yml.tmp + localtree=localtree.yml.tmp + localblocktemplate=$outputfolder/localtemplate.yml.tmp + localblock=local.yml.tmp + configblock=$outputfolder/config.yml.tmp + + # Define web-safe URL creation from file/directory names + makeslug(){ + tr -dc '[:graph:][:space:]' | tr '[:upper:]' '[:lower:]' | tr -s ' -_' | tr ' _' '-' } - else - echo "ERROR: .pdsite.yml configuration file not detected" 1>&2 - exit 1 - fi - themepath=$themespath/$theme - outputfolder=$(readlink -f $outputfolder) - - # Build glob expressions - extensionglob='*'$inputextension - indexfileglob='*index'$inputextension - - # Define temporary file locations - globaltree=$outputfolder/tree.yml.tmp - localtree=localtree.yml.tmp - localblocktemplate=$outputfolder/localtemplate.yml.tmp - localblock=local.yml.tmp - configblock=$outputfolder/config.yml.tmp - - # Define web-safe URL creation from file/directory names - makeslug(){ - tr -dc '[:graph:][:space:]' | tr '[:upper:]' '[:lower:]' | tr -s ' -_' | tr ' _' '-' - } - - # Define human-readable page title creation from web-safe filenames - makepretty(){ - tr '-' ' ' | awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' - } + # Define human-readable page title creation from web-safe filenames + makepretty(){ + tr '-' ' ' | awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' + } - # Set up output folder - if [ -d $outputfolder ]; then - echo -n "Clearing old build folder..." - rm -r $outputfolder/* - else - echo -n "Creating new build folder..." - mkdir $outputfolder - fi - echo " done." + # Set up output folder + if [ -d $outputfolder ]; then + echo -n "Clearing old build folder..." + rm -r $outputfolder/* + else + echo -n "Creating new build folder..." + mkdir $outputfolder + fi + echo " done." - echo -n "Building site..." + echo -n "Building site..." - echo -e "\n---" > $configblock - cat $configfile >> $configblock - echo -e "...\n" >> $configblock + echo -e "\n---" > $configblock + cat $configfile >> $configblock + echo -e "...\n" >> $configblock - echo -e "\n---\npagenameintitle: y\npagename: _\n...\n" > $localblocktemplate + echo -e "\n---\npagenameintitle: y\npagename: _\n...\n" > $localblocktemplate - # Generate base file structure - find -not -path "*/\.*" -type d | makeslug | xargs -I path mkdir -p "$outputfolder"/path - find -not -path "*/\.*" -not -path "$indexfileglob" -path "$extensionglob" -type f | sed 's|\(.*\)\..*|\1|' | makeslug | xargs -I path mkdir -p $outputfolder/path + # Generate base file structure + find -not -path "*/\.*" -type d | makeslug | xargs -I path mkdir -p "$outputfolder"/path + find -not -path "*/\.*" -not -path "$indexfileglob" -path "$extensionglob" -type f | sed 's|\(.*\)\..*|\1|' | makeslug | xargs -I path mkdir -p $outputfolder/path - # Copy in index files - find -not -path "*/\.*" -path "$indexfileglob" -type f | while read inpath; do - outpath=$(echo $inpath | makeslug) - cp "$inpath" "$outputfolder/$outpath" - done + # Copy in index files + find -not -path "*/\.*" -path "$indexfileglob" -type f | while read inpath; do + outpath=$(echo $inpath | makeslug) + cp "$inpath" "$outputfolder/$outpath" + done - # Copy in other content files - find -not -path "*/\.*" -not -path "$indexfileglob" -path "$extensionglob" -type f | while read inpath; do - outpath=$(echo $inpath | sed 's|\./\(.*\)\.\(.*\)|\1/index.\2|' | makeslug) - cp "$inpath" "$outputfolder"/"$outpath" - done + # Copy in other content files + find -not -path "*/\.*" -not -path "$indexfileglob" -path "$extensionglob" -type f | while read inpath; do + outpath=$(echo $inpath | sed 's|\./\(.*\)\.\(.*\)|\1/index.\2|' | makeslug) + cp "$inpath" "$outputfolder"/"$outpath" + done - # Copy in other (non-written-content) files - find -not -path "*/\.*" -not -path "$extensionglob" -type f -exec cp {} "$outputfolder"/{} \; + # Copy in other (non-written-content) files + find -not -path "*/\.*" -not -path "$extensionglob" -type f -exec cp {} "$outputfolder"/{} \; - cd "$outputfolder" + cd "$outputfolder" - # Generate global file structure for navigation templates - echo -e '\n---' > $globaltree - tree -dfJ --noreport | cut -c 2- | while read line; do + # Generate global file structure for navigation templates + echo -e '\n---' > $globaltree + tree -dfJ --noreport | cut -c 2- | while read line; do - # Generate path relative to site root - path=$(echo $line | grep 'type' | sed 's|.*"name":"\.\(.*\)","contents".*|\1|') + # Generate path relative to site root + path=$(echo $line | grep 'type' | sed 's|.*"name":"\.\(.*\)","contents".*|\1|') - # Generate pretty page name automatically - name=$(echo $path | sed 's|.*/\(.*\)|\1|' | makepretty) + # Generate pretty page name automatically + name=$(echo $path | sed 's|.*/\(.*\)|\1|' | makepretty) - # Inject page name and path into site tree - echo $line | sed 's|"name":"\(.*\)","contents"|"name":"'"$name"'","path":"'"$path"'","contents"|' + # Inject page name and path into site tree + echo $line | sed 's|"name":"\(.*\)","contents"|"name":"'"$name"'","path":"'"$path"'","contents"|' - done >> $globaltree - echo -e '...\n' >> $globaltree + done >> $globaltree + echo -e '...\n' >> $globaltree - # Generate local YAML - find -path "$indexfileglob" -type f | while read line; do + # Generate local YAML + find -path "$indexfileglob" -type f | while read line; do - relpath=${line%/*} - siteabspath=$(echo $relpath | cut -c 2-) + relpath=${line%/*} + siteabspath=$(echo $relpath | cut -c 2-) - # Create local YAML block with auto-generated page name - name=$(echo ${relpath##*/} | makepretty) - sed 's|^pagename: _$|pagename: '"$name"'|' $localblocktemplate > $relpath/$localblock + # Create local YAML block with auto-generated page name + name=$(echo ${relpath##*/} | makepretty) + sed 's|^pagename: _$|pagename: '"$name"'|' $localblocktemplate > $relpath/$localblock - # Create local YAML block with context-aware file tree data - sed 's|"path":"'$siteabspath'",|\0"active":y,|' $globaltree > $relpath/$localtree + # Create local YAML block with context-aware file tree data + sed 's|"path":"'$siteabspath'",|\0"active":y,|' $globaltree > $relpath/$localtree - done + done - # Convert content files to context-aware HTML - find -path "$indexfileglob" -type f -execdir pandoc --template $themepath/template.html --toc -o index.html {} $localtree $localblock $configblock \; -delete + # Convert content files to context-aware HTML + find -path "$indexfileglob" -type f -execdir pandoc --template $themepath/template.html --toc -o index.html {} $localtree $localblock $configblock \; -delete - # Clean up - find -path "*.tmp" -type f -delete + # Clean up + find -path "*.tmp" -type f -delete - # Copy in theme assets - cd "$themepath" - find -not -path "." -type d -exec mkdir -p "$outputfolder"/{} \; - find -not -path "./template.html" -type f -exec cp {} "$outputfolder"/{} \; + # Copy in theme assets + cd "$themepath" + find -not -path "." -type d -exec mkdir -p "$outputfolder"/{} \; + find -not -path "./template.html" -type f -exec cp {} "$outputfolder"/{} \; - echo " done." + echo " done." } function serve(){ - build - webfsd -Fd -r $outputfolder -f index.html -l - + build + webfsd -Fd -r $outputfolder -f index.html -l - } case $1 in - "init") init;; - "build") build;; - "serve") serve;; - *) - echo "Unknown command $1" - exit 1 - ;; + "init") init;; + "build") build;; + "serve") serve;; + *) + echo "Unknown command $1" + exit 1 + ;; esac From c18d8fa7c9a0a1be238d4f3d5d0e0097bd7f0d9c Mon Sep 17 00:00:00 2001 From: hoijui Date: Mon, 1 Jul 2019 16:30:41 +0200 Subject: [PATCH 002/108] white-space adjustments for easier reading --- bin/pdsite | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/pdsite b/bin/pdsite index 8733e59..751da6c 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -4,11 +4,11 @@ scriptpath=$(readlink -f $0) themespath=${scriptpath%/*}/../themes defaultconfig=${scriptpath%/*}/../.pdsite.yml.default -function init(){ +function init() { cp $defaultconfig .pdsite.yml } -function build(){ +function build() { # Load config variables from file if [ -f ./.pdsite.yml ]; then @@ -40,13 +40,13 @@ function build(){ configblock=$outputfolder/config.yml.tmp # Define web-safe URL creation from file/directory names - makeslug(){ + makeslug() { tr -dc '[:graph:][:space:]' | tr '[:upper:]' '[:lower:]' | tr -s ' -_' | tr ' _' '-' } # Define human-readable page title creation from web-safe filenames - makepretty(){ - tr '-' ' ' | awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' + makepretty() { + tr '-' ' ' | awk '{ for (i = 1; i <= NF; i++) { $i = toupper(substr($i, 1, 1)) substr($i, 2) }} 1' } # Set up output folder @@ -133,7 +133,7 @@ function build(){ echo " done." } -function serve(){ +function serve() { build webfsd -Fd -r $outputfolder -f index.html -l - } From cd4254b9ffb5f1d8d0bf54266d39f497f28a6f47 Mon Sep 17 00:00:00 2001 From: hoijui Date: Mon, 1 Jul 2019 16:32:05 +0200 Subject: [PATCH 003/108] echo error to stderr --- bin/pdsite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/pdsite b/bin/pdsite index 751da6c..85c0bbb 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -143,7 +143,7 @@ case $1 in "build") build;; "serve") serve;; *) - echo "Unknown command $1" + echo "Unknown command '$1'" 1>&2 exit 1 ;; esac From 90e61034c148af7ab85cb416253470359c9b4779 Mon Sep 17 00:00:00 2001 From: hoijui Date: Mon, 1 Jul 2019 16:37:11 +0200 Subject: [PATCH 004/108] only init if not yet initialized --- bin/pdsite | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/pdsite b/bin/pdsite index 85c0bbb..6ef26e0 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -5,7 +5,12 @@ themespath=${scriptpath%/*}/../themes defaultconfig=${scriptpath%/*}/../.pdsite.yml.default function init() { - cp $defaultconfig .pdsite.yml + if [ ! -e .pdsite.yml ]; then + cp $defaultconfig .pdsite.yml + else + echo "ERROR: .pdsite.yml is already present" 1>&2 + exit 1 + fi } function build() { From 8aa76ad8f7feb5aa800b1418dcfa4534b35b8d9f Mon Sep 17 00:00:00 2001 From: hoijui Date: Mon, 1 Jul 2019 16:39:13 +0200 Subject: [PATCH 005/108] add help output --- bin/pdsite | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bin/pdsite b/bin/pdsite index 6ef26e0..c707055 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -4,6 +4,18 @@ scriptpath=$(readlink -f $0) themespath=${scriptpath%/*}/../themes defaultconfig=${scriptpath%/*}/../.pdsite.yml.default +function help() { + echo "`basename $0` - Simple static site generator, written in BASH, using pandoc." + echo + echo "Usage:" + echo " `basename $0` command" + echo + echo "Commands:" + echo " init initializes a new pdsite project in the current directory" + echo " build builds the static site in the current directory" + echo " serve serves the static site in the current directory on a local webserver" +} + function init() { if [ ! -e .pdsite.yml ]; then cp $defaultconfig .pdsite.yml @@ -149,6 +161,7 @@ case $1 in "serve") serve;; *) echo "Unknown command '$1'" 1>&2 + help exit 1 ;; esac From 6ff4936ca1dc8ebf66d9cbd52d2b17bbfbc304c1 Mon Sep 17 00:00:00 2001 From: hoijui Date: Tue, 2 Jul 2019 08:13:25 +0200 Subject: [PATCH 006/108] rename help -> print_help --- bin/pdsite | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/pdsite b/bin/pdsite index c707055..8dd6951 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -4,7 +4,7 @@ scriptpath=$(readlink -f $0) themespath=${scriptpath%/*}/../themes defaultconfig=${scriptpath%/*}/../.pdsite.yml.default -function help() { +function print_help() { echo "`basename $0` - Simple static site generator, written in BASH, using pandoc." echo echo "Usage:" @@ -161,7 +161,7 @@ case $1 in "serve") serve;; *) echo "Unknown command '$1'" 1>&2 - help + print_help exit 1 ;; esac From 2ec9dc91da98243b48ea5d3f11ab6caa5f854567 Mon Sep 17 00:00:00 2001 From: hoijui Date: Tue, 2 Jul 2019 08:32:15 +0200 Subject: [PATCH 007/108] if the output folder is contained within the source folder, exclude it --- bin/pdsite | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/bin/pdsite b/bin/pdsite index 8dd6951..a4ac7f1 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -84,24 +84,29 @@ function build() { echo -e "\n---\npagenameintitle: y\npagename: _\n...\n" > $localblocktemplate + # By default, match nothing + out_exclude="XXX_XXX_XXX" + # If the output folder is contained within the source folder, exclude it + [[ "$outputfolder" == `pwd`* ]] && out_exclude='.'${outputfolder#"`pwd`"} + # Generate base file structure - find -not -path "*/\.*" -type d | makeslug | xargs -I path mkdir -p "$outputfolder"/path - find -not -path "*/\.*" -not -path "$indexfileglob" -path "$extensionglob" -type f | sed 's|\(.*\)\..*|\1|' | makeslug | xargs -I path mkdir -p $outputfolder/path + find -not -path "*/\.*" -not -path "${out_exclude}*" -type d | makeslug | xargs -I path mkdir -p "$outputfolder"/path + find -not -path "*/\.*" -not -path "${out_exclude}*" -not -path "$indexfileglob" -path "$extensionglob" -type f | sed 's|\(.*\)\..*|\1|' | makeslug | xargs -I path mkdir -p $outputfolder/path # Copy in index files - find -not -path "*/\.*" -path "$indexfileglob" -type f | while read inpath; do + find -not -path "*/\.*" -not -path "${out_exclude}*" -path "$indexfileglob" -type f | while read inpath; do outpath=$(echo $inpath | makeslug) cp "$inpath" "$outputfolder/$outpath" done # Copy in other content files - find -not -path "*/\.*" -not -path "$indexfileglob" -path "$extensionglob" -type f | while read inpath; do + find -not -path "*/\.*" -not -path "${out_exclude}*" -not -path "$indexfileglob" -path "$extensionglob" -type f | while read inpath; do outpath=$(echo $inpath | sed 's|\./\(.*\)\.\(.*\)|\1/index.\2|' | makeslug) cp "$inpath" "$outputfolder"/"$outpath" done # Copy in other (non-written-content) files - find -not -path "*/\.*" -not -path "$extensionglob" -type f -exec cp {} "$outputfolder"/{} \; + find -not -path "*/\.*" -not -path "${out_exclude}*" -not -path "$extensionglob" -type f -exec cp {} "$outputfolder"/{} \; cd "$outputfolder" @@ -137,7 +142,7 @@ function build() { done # Convert content files to context-aware HTML - find -path "$indexfileglob" -type f -execdir pandoc --template $themepath/template.html --toc -o index.html {} $localtree $localblock $configblock \; -delete + find -not -path "${outputfolder}*" -path "$indexfileglob" -type f -execdir pandoc --template $themepath/template.html --toc -o index.html {} $localtree $localblock $configblock \; -delete # Clean up find -path "*.tmp" -type f -delete From 337ce8d49e243285f67061fe461213a00bcf8af9 Mon Sep 17 00:00:00 2001 From: hoijui Date: Tue, 2 Jul 2019 08:34:38 +0200 Subject: [PATCH 008/108] use busybox for http hosting, as it usually comes pre-installed --- bin/pdsite | 3 ++- docs/installing.md | 2 +- docs/running.md | 13 ++----------- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/bin/pdsite b/bin/pdsite index a4ac7f1..0899a82 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -157,7 +157,8 @@ function build() { function serve() { build - webfsd -Fd -r $outputfolder -f index.html -l - + echo "Hosting with busybox on 'http://127.0.0.1:8080' (stop with Ctrl-C) ..." + busybox httpd -f -p 127.0.0.1:8080 -h "$outputfolder" } case $1 in diff --git a/docs/installing.md b/docs/installing.md index cdc7e84..9d10f61 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -6,7 +6,7 @@ - [pandoc](http://pandoc.org/) (for all the heavy lifting) - [tree](http://mama.indstate.edu/users/ice/tree/) (for generating file structures for navigation menus, etc) -- [webfs](http://linux.bytesex.org/misc/webfs.html) (optional: for easily viewing the site after building) +- [busybox](https://www.busybox.net/) (optional: for easily viewing the site after building) These are generally available through your system package manager's repositories (`brew`, `apt-get`, `yum`, `pacman`, etc) diff --git a/docs/running.md b/docs/running.md index 1358977..dcd9a47 100644 --- a/docs/running.md +++ b/docs/running.md @@ -81,17 +81,8 @@ Alternatively, you could use the `serve` command, which first builds the site an $ pdsite serve Clearing old build folder... done. Building site... done. -fix_ug: uid=1000 euid=1000 / gid=1000 egid=1000 / gids: 1000 10 95 -http server started - ipv6 : yes - ssl : no - node : localhost.localdomain - ipaddr: :: - port : 8000 - export: /the/current/path/.html - user : theuser - group : thegroup +Hosting with busybox on 'http://127.0.0.1:8080' (stop with Ctrl-C) ... ``` -Visiting `localhost:8000` in your browser will display the site output. Auto-regeneration of the site when an input file changes is not yet supported, so you'll need to stop the server and re-run the command to see any modifications. +Visiting `127.0.0.1:8080` in your browser will display the site output. Auto-regeneration of the site when an input file changes is not yet supported, so you'll need to stop the server and re-run the command to see any modifications. From c9394ed87fb00848ca823e7c15079223f32423d8 Mon Sep 17 00:00:00 2001 From: hoijui Date: Tue, 2 Jul 2019 08:35:01 +0200 Subject: [PATCH 009/108] check if the required dependencies are available --- bin/pdsite | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/bin/pdsite b/bin/pdsite index 0899a82..263696c 100755 --- a/bin/pdsite +++ b/bin/pdsite @@ -16,6 +16,32 @@ function print_help() { echo " serve serves the static site in the current directory on a local webserver" } +# Checks whether a binary we depend on is available +function check_dep() { + ret=0 + cmd_name="$1" + cmd_use_case="$2" + cmd_path=`which "$cmd_name"` + if [ -z "$cmd_path" ]; then + ret=1 + echo "Could not find dependency '$cmd_name', used ${cmd_use_case}." 1>&2 + fi + return $ret +} + +# Checks whether our dependencies are available +function check_deps() { + ret=0 + check_dep tree "to generate the site structure, depending on the sources directory layout" \ + ; ret=$(($ret + $?)) + check_dep pandoc "to convert '*.md' -> '*.html'" \ + ; ret=$(($ret + $?)) + check_dep busybox "for local http hosting" \ + ; ret=$(($ret + $?)) + [ $ret -gt 0 ] && exit $ret + return $ret +} + function init() { if [ ! -e .pdsite.yml ]; then cp $defaultconfig .pdsite.yml @@ -161,6 +187,8 @@ function serve() { busybox httpd -f -p 127.0.0.1:8080 -h "$outputfolder" } +check_deps + case $1 in "init") init;; "build") build;; From c5ad6e7eed3a126c16f438e6f4290992031a1552 Mon Sep 17 00:00:00 2001 From: hoijui Date: Tue, 2 Jul 2019 09:35:48 +0200 Subject: [PATCH 010/108] remove generated output from version control --- .gitignore | 1 + docs/.html/CNAME | 1 - docs/.html/index.html | 69 -------- docs/.html/installing/index.html | 87 ---------- docs/.html/running/index.html | 174 ------------------- docs/.html/styles.css | 14 -- docs/.html/themes/choosing-themes/index.html | 127 -------------- docs/.html/themes/creating-themes/index.html | 65 ------- 8 files changed, 1 insertion(+), 537 deletions(-) delete mode 100644 docs/.html/CNAME delete mode 100644 docs/.html/index.html delete mode 100644 docs/.html/installing/index.html delete mode 100644 docs/.html/running/index.html delete mode 100644 docs/.html/styles.css delete mode 100644 docs/.html/themes/choosing-themes/index.html delete mode 100644 docs/.html/themes/creating-themes/index.html diff --git a/.gitignore b/.gitignore index 675a75a..6b7c80b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ test-filetree +.html/ diff --git a/docs/.html/CNAME b/docs/.html/CNAME deleted file mode 100644 index a3d3d6b..0000000 --- a/docs/.html/CNAME +++ /dev/null @@ -1 +0,0 @@ -pdsite.org diff --git a/docs/.html/index.html b/docs/.html/index.html deleted file mode 100644 index 4880964..0000000 --- a/docs/.html/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - pdsite | Pandoc-backed static site generator - - - - - - - - -
-
-
-

pdsite

-

pdsite is a Pandoc-backed static site generator for Unix-like systems (including OSX, Linux, and BSD). It's comprised of a single shell script and has no dependencies on particular programming environments: it arose out of a desire for MkDocs-like functionality with broader input format support and without the Python dependencies.

-

Fully decoupled content and presentation

-

pdsite is built around the premise that content should be able to be kept completely seperate from presentation. Many site generators require both written content and visual presentation resources to be stored under a single path or Git repository: pdsite allows standalone file hierarchies (with content formatted in Markdown, Emacs org-mode, LaTex, etc) to be easily converted to linked HTML via an independently-specified theme. As such, switching HTML themes is just a matter of changing a line in a config file and rebuilding the site.

-

Minimal dependencies

-

pdsite is built on standard Unix tools for portability (apologies if you use Windows). Its few dependencies are widely-available as tiny precompiled binaries (except for Pandoc, which is widely-available as a moderately-sized precompiled binary).

-
-
-
- -