From 1079f927a27db9d194c8e25eb3a188396fdf8eab Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 17 May 2021 21:02:55 +0100 Subject: refactor code --- packages/generate.source.sh | 128 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 packages/generate.source.sh (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh new file mode 100644 index 0000000..0f07af5 --- /dev/null +++ b/packages/generate.source.sh @@ -0,0 +1,128 @@ +generate::make_link () { + local -r what="$1"; shift + local -r line="${1/=> }"; shift + local link + local descr + + while read -r token; do + if [ -z "$link" ]; then + link="$token" + elif [ -z "$descr" ]; then + descr="$token" + else + descr="$descr $token" + fi + done < <(echo "$line" | tr ' ' '\n') + + if grep -E -q "$IMAGE_PATTERN" <<< "$link"; then + if [[ "$what" == md ]]; then + md::make_img "$link" "$descr" + else + html::make_img "$link" "$(html::special "$descr")" + fi + return + fi + + if [[ "$what" == md ]]; then + md::make_link "$link" "$descr" + else + html::make_link "$link" "$(html::special "$descr")" + fi +} + +generate::fromgmi_ () { + local -r src="$1"; shift + local -r format="$1"; shift + local dest=${src/gemtext/$format} + dest=${dest/.gmi/.$format} + local dest_dir=$(dirname "$dest") + + test ! -d "$dest_dir" && mkdir -p "$dest_dir" + if [[ "$format" == html ]]; then + cat header.html.part > "$dest.tmp" + html::fromgmi < "$src" >> "$dest.tmp" + cat footer.html.part >> "$dest.tmp" + elif [[ "$format" == md ]]; then + md::fromgmi < "$src" >> "$dest.tmp" + fi + + mv "$dest.tmp" "$dest" + test "$ADD_GIT" == yes && git add "$dest" +} + +generate::fromgmi_add_docs () { + local -r src="$1"; shift + local -r format="$1"; shift + local -r dest=${src/gemtext/$format} + local -r dest_dir=$(dirname "$dest") + + test ! -d "$dest_dir" && mkdir -p "$dest_dir" + cp "$src" "$dest" + test "$ADD_GIT" == yes && git add "$dest" +} + +generate::convert_gmi_atom_to_html_atom () { + local -r format="$1"; shift + test "$format" != html && return + + log INFO 'Converting Gemtext Atom feed to HTML Atom feed' + + $SED 's|.gmi|.html|g; s|gemini://|https://|g' \ + < $CONTENT_DIR/gemtext/gemfeed/atom.xml \ + > $CONTENT_DIR/html/gemfeed/atom.xml + + test "$ADD_GIT" == yes && git add "$CONTENT_DIR/html/gemfeed/atom.xml" +} + +generate::fromgmi_cleanup () { + local -r src="$1"; shift + local -r format="$1"; shift + local dest=${src/.$format/.gmi} + dest=${dest/$format/gemtext} + + test ! -f "$dest" && test "$ADD_GIT" == yes && git rm "$src" +} + +generate::fromgmi () { + local -i num_gmi_files=0 + local -i num_doc_files=0 + + log INFO "Generating $* from Gemtext" + + while read -r src; do + (( num_gmi_files++ )) + for format in "$@"; do + generate::fromgmi_ "$src" "$format" + done + done < <(find "$CONTENT_DIR/gemtext" -type f -name \*.gmi) + + log INFO "Converted $num_gmi_files Gemtext files" + + # Add non-.gmi files to html dir. + log VERBOSE "Adding other docs to $*" + + while read -r src; do + (( num_doc_files++ )) + for format in "$@"; do + generate::fromgmi_add_docs "$src" "$format" + done + done < <(find "$CONTENT_DIR/gemtext" -type f | grep -E -v '(.gmi|atom.xml|.tmp)$') + + log INFO "Added $num_doc_files other documents to each of $*" + + # Add atom feed for HTML + for format in "$@"; do + generate::convert_gmi_atom_to_html_atom "$format" + done + + # Remove obsolete files from ./html/ + for format in "$@"; do + find "$CONTENT_DIR/$format" -type f | while read -r src; do + generate::fromgmi_cleanup "$src" "$format" + done + done + + for format in "$@"; do + log INFO "$format can be found in $CONTENT_DIR/$format now" + done +} -- cgit v1.2.3 From f6deb276c7c5e7b3617d9ecd35193b43ae32ccbf Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 17 May 2021 21:19:35 +0100 Subject: refactor --- packages/generate.source.sh | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 0f07af5..67a9b7e 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -1,3 +1,4 @@ +# Generates a HTML or Markdown link from given Gemtext link. generate::make_link () { local -r what="$1"; shift local -r line="${1/=> }"; shift @@ -18,7 +19,7 @@ generate::make_link () { if [[ "$what" == md ]]; then md::make_img "$link" "$descr" else - html::make_img "$link" "$(html::special "$descr")" + html::make_img "$link" "$(html::encode "$descr")" fi return fi @@ -26,11 +27,12 @@ generate::make_link () { if [[ "$what" == md ]]; then md::make_link "$link" "$descr" else - html::make_link "$link" "$(html::special "$descr")" + html::make_link "$link" "$(html::encode "$descr")" fi } -generate::fromgmi_ () { +# Internal helper function for generate::fromgmi +generate::_fromgmi () { local -r src="$1"; shift local -r format="$1"; shift local dest=${src/gemtext/$format} @@ -50,6 +52,7 @@ generate::fromgmi_ () { test "$ADD_GIT" == yes && git add "$dest" } +# Adds other docs (e.g. images, videos) from Gemtext to output format. generate::fromgmi_add_docs () { local -r src="$1"; shift local -r format="$1"; shift @@ -61,6 +64,17 @@ generate::fromgmi_add_docs () { test "$ADD_GIT" == yes && git add "$dest" } +# Remove docs from output format which aren't present in Gemtext anymore. +generate::fromgmi_cleanup_docs () { + local -r src="$1"; shift + local -r format="$1"; shift + local dest=${src/.$format/.gmi} + dest=${dest/$format/gemtext} + + test ! -f "$dest" && test "$ADD_GIT" == yes && git rm "$src" +} + +# Converts the Gemtext Atom feed to a HTML Atom feed. generate::convert_gmi_atom_to_html_atom () { local -r format="$1"; shift test "$format" != html && return @@ -74,15 +88,7 @@ generate::convert_gmi_atom_to_html_atom () { test "$ADD_GIT" == yes && git add "$CONTENT_DIR/html/gemfeed/atom.xml" } -generate::fromgmi_cleanup () { - local -r src="$1"; shift - local -r format="$1"; shift - local dest=${src/.$format/.gmi} - dest=${dest/$format/gemtext} - - test ! -f "$dest" && test "$ADD_GIT" == yes && git rm "$src" -} - +# Generate a given output format from a Gemtext file. generate::fromgmi () { local -i num_gmi_files=0 local -i num_doc_files=0 @@ -92,7 +98,7 @@ generate::fromgmi () { while read -r src; do (( num_gmi_files++ )) for format in "$@"; do - generate::fromgmi_ "$src" "$format" + generate::_fromgmi "$src" "$format" done done < <(find "$CONTENT_DIR/gemtext" -type f -name \*.gmi) @@ -118,7 +124,7 @@ generate::fromgmi () { # Remove obsolete files from ./html/ for format in "$@"; do find "$CONTENT_DIR/$format" -type f | while read -r src; do - generate::fromgmi_cleanup "$src" "$format" + generate::fromgmi_cleanup_docs "$src" "$format" done done -- cgit v1.2.3 From 6aee04354e443e2121bf6c558be227388a10e7b2 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 17 May 2021 21:23:06 +0100 Subject: reword comments --- packages/generate.source.sh | 48 ++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 67a9b7e..e74d299 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -1,4 +1,4 @@ -# Generates a HTML or Markdown link from given Gemtext link. +# Generate a HTML or Markdown link from given Gemtext link. generate::make_link () { local -r what="$1"; shift local -r line="${1/=> }"; shift @@ -31,28 +31,7 @@ generate::make_link () { fi } -# Internal helper function for generate::fromgmi -generate::_fromgmi () { - local -r src="$1"; shift - local -r format="$1"; shift - local dest=${src/gemtext/$format} - dest=${dest/.gmi/.$format} - local dest_dir=$(dirname "$dest") - - test ! -d "$dest_dir" && mkdir -p "$dest_dir" - if [[ "$format" == html ]]; then - cat header.html.part > "$dest.tmp" - html::fromgmi < "$src" >> "$dest.tmp" - cat footer.html.part >> "$dest.tmp" - elif [[ "$format" == md ]]; then - md::fromgmi < "$src" >> "$dest.tmp" - fi - - mv "$dest.tmp" "$dest" - test "$ADD_GIT" == yes && git add "$dest" -} - -# Adds other docs (e.g. images, videos) from Gemtext to output format. +# Add other docs (e.g. images, videos) from Gemtext to output format. generate::fromgmi_add_docs () { local -r src="$1"; shift local -r format="$1"; shift @@ -74,7 +53,7 @@ generate::fromgmi_cleanup_docs () { test ! -f "$dest" && test "$ADD_GIT" == yes && git rm "$src" } -# Converts the Gemtext Atom feed to a HTML Atom feed. +# Convert the Gemtext Atom feed to a HTML Atom feed. generate::convert_gmi_atom_to_html_atom () { local -r format="$1"; shift test "$format" != html && return @@ -88,6 +67,27 @@ generate::convert_gmi_atom_to_html_atom () { test "$ADD_GIT" == yes && git add "$CONTENT_DIR/html/gemfeed/atom.xml" } +# Internal helper function for generate::fromgmi +generate::_fromgmi () { + local -r src="$1"; shift + local -r format="$1"; shift + local dest=${src/gemtext/$format} + dest=${dest/.gmi/.$format} + local dest_dir=$(dirname "$dest") + + test ! -d "$dest_dir" && mkdir -p "$dest_dir" + if [[ "$format" == html ]]; then + cat header.html.part > "$dest.tmp" + html::fromgmi < "$src" >> "$dest.tmp" + cat footer.html.part >> "$dest.tmp" + elif [[ "$format" == md ]]; then + md::fromgmi < "$src" >> "$dest.tmp" + fi + + mv "$dest.tmp" "$dest" + test "$ADD_GIT" == yes && git add "$dest" +} + # Generate a given output format from a Gemtext file. generate::fromgmi () { local -i num_gmi_files=0 -- cgit v1.2.3 From d371050f2fb79b6d66a810e60ff9c0ed2381f2cc Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 18 May 2021 08:50:24 +0100 Subject: dynamic html title --- packages/generate.source.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index e74d299..248fe6c 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -84,6 +84,9 @@ generate::_fromgmi () { md::fromgmi < "$src" >> "$dest.tmp" fi + local title=$($SED -n '/^# / { s/# //; p; q; }' "$src" | tr '"' "'") + test -z "title" && title=$SUBTITLE + $SED -i "s|%%TITLE%%|$title|g" "$dest.tmp" mv "$dest.tmp" "$dest" test "$ADD_GIT" == yes && git add "$dest" } -- cgit v1.2.3 From 641a95de7bdd64963666cca6b96387ab5d9245e2 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 10:06:02 +0100 Subject: some refactoring and also ensured that it works on macOS (given Bash 5 is installed) --- packages/generate.source.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 248fe6c..83bf69e 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -15,7 +15,7 @@ generate::make_link () { fi done < <(echo "$line" | tr ' ' '\n') - if grep -E -q "$IMAGE_PATTERN" <<< "$link"; then + if $GREP -E -q "$IMAGE_PATTERN" <<< "$link"; then if [[ "$what" == md ]]; then md::make_img "$link" "$descr" else @@ -115,7 +115,7 @@ generate::fromgmi () { for format in "$@"; do generate::fromgmi_add_docs "$src" "$format" done - done < <(find "$CONTENT_DIR/gemtext" -type f | grep -E -v '(.gmi|atom.xml|.tmp)$') + done < <(find "$CONTENT_DIR/gemtext" -type f | $GREP -E -v '(.gmi|atom.xml|.tmp)$') log INFO "Added $num_doc_files other documents to each of $*" -- cgit v1.2.3 From afd9fdf7ca0800c457959b540c4378d20f802dc0 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 19:46:20 +0100 Subject: add git package --- packages/generate.source.sh | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 83bf69e..25c292f 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -40,7 +40,7 @@ generate::fromgmi_add_docs () { test ! -d "$dest_dir" && mkdir -p "$dest_dir" cp "$src" "$dest" - test "$ADD_GIT" == yes && git add "$dest" + test "$USE_GIT" == yes && git::add "$format" "$dest" } # Remove docs from output format which aren't present in Gemtext anymore. @@ -50,7 +50,7 @@ generate::fromgmi_cleanup_docs () { local dest=${src/.$format/.gmi} dest=${dest/$format/gemtext} - test ! -f "$dest" && test "$ADD_GIT" == yes && git rm "$src" + test ! -f "$dest" && test "$USE_GIT" == yes && git::rm "$format" "$src" } # Convert the Gemtext Atom feed to a HTML Atom feed. @@ -61,10 +61,10 @@ generate::convert_gmi_atom_to_html_atom () { log INFO 'Converting Gemtext Atom feed to HTML Atom feed' $SED 's|.gmi|.html|g; s|gemini://|https://|g' \ - < $CONTENT_DIR/gemtext/gemfeed/atom.xml \ - > $CONTENT_DIR/html/gemfeed/atom.xml + < $CONTENT_BASE_DIR/gemtext/gemfeed/atom.xml \ + > $CONTENT_BASE_DIR/html/gemfeed/atom.xml - test "$ADD_GIT" == yes && git add "$CONTENT_DIR/html/gemfeed/atom.xml" + test "$USE_GIT" == yes && git::add "$format" "$CONTENT_BASE_DIR/html/gemfeed/atom.xml" } # Internal helper function for generate::fromgmi @@ -88,7 +88,7 @@ generate::_fromgmi () { test -z "title" && title=$SUBTITLE $SED -i "s|%%TITLE%%|$title|g" "$dest.tmp" mv "$dest.tmp" "$dest" - test "$ADD_GIT" == yes && git add "$dest" + test "$USE_GIT" == yes && git::add "$format" "$dest" } # Generate a given output format from a Gemtext file. @@ -103,7 +103,7 @@ generate::fromgmi () { for format in "$@"; do generate::_fromgmi "$src" "$format" done - done < <(find "$CONTENT_DIR/gemtext" -type f -name \*.gmi) + done < <(find "$CONTENT_BASE_DIR/gemtext" -type f -name \*.gmi) log INFO "Converted $num_gmi_files Gemtext files" @@ -115,7 +115,7 @@ generate::fromgmi () { for format in "$@"; do generate::fromgmi_add_docs "$src" "$format" done - done < <(find "$CONTENT_DIR/gemtext" -type f | $GREP -E -v '(.gmi|atom.xml|.tmp)$') + done < <(find "$CONTENT_BASE_DIR/gemtext" -type f | $GREP -E -v '(\.git.*|\.gmi|atom.xml|\.tmp)$') log INFO "Added $num_doc_files other documents to each of $*" @@ -124,14 +124,17 @@ generate::fromgmi () { generate::convert_gmi_atom_to_html_atom "$format" done - # Remove obsolete files from ./html/ + # Remove obsolete files from ./html/. + # Note: The _config.yml is the config file for GitHub pages (md format). for format in "$@"; do - find "$CONTENT_DIR/$format" -type f | while read -r src; do + find "$CONTENT_BASE_DIR/$format" -type f | + $GREP -E -v '(\.git.*|_config.yml)$'| + while read -r src; do generate::fromgmi_cleanup_docs "$src" "$format" done done for format in "$@"; do - log INFO "$format can be found in $CONTENT_DIR/$format now" + log INFO "$format can be found in $CONTENT_BASE_DIR/$format now" done } -- cgit v1.2.3 From 14822623456972b0dbe9dc5b6c36b701bb6ec7f1 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 20:01:47 +0100 Subject: Removal of Makefile and some fixes/refactorings --- packages/generate.source.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 25c292f..b28d9e8 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -134,7 +134,14 @@ generate::fromgmi () { done done + if [[ -z "$GIT_COMMIT_MESSAGE" ]]; then + GIT_COMMIT_MESSAGE='Publishing new version' + fi for format in "$@"; do + git::commit "$format" "$GIT_COMMIT_MESSAGE" log INFO "$format can be found in $CONTENT_BASE_DIR/$format now" done + + git::commit gemtext "$GIT_COMMIT_MESSAGE" + git::commit meta "$GIT_COMMIT_MESSAGE" } -- cgit v1.2.3 From 202f4e03fb9519931142fcd3d76700aeb106a05d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 20:10:19 +0100 Subject: fix --- packages/generate.source.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index b28d9e8..910d250 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -134,14 +134,16 @@ generate::fromgmi () { done done - if [[ -z "$GIT_COMMIT_MESSAGE" ]]; then - GIT_COMMIT_MESSAGE='Publishing new version' + if [[ "$USE_GIT" == yes ]]; then + if [[ -z "$GIT_COMMIT_MESSAGE" ]]; then + GIT_COMMIT_MESSAGE='Publishing new version' + fi + git::commit gemtext "$GIT_COMMIT_MESSAGE" + git::commit meta "$GIT_COMMIT_MESSAGE" fi for format in "$@"; do - git::commit "$format" "$GIT_COMMIT_MESSAGE" + test "$USE_GIT" == yes && git::commit "$format" "$GIT_COMMIT_MESSAGE" log INFO "$format can be found in $CONTENT_BASE_DIR/$format now" done - git::commit gemtext "$GIT_COMMIT_MESSAGE" - git::commit meta "$GIT_COMMIT_MESSAGE" } -- cgit v1.2.3 From 6bdd5afc634199926df3467baf512f34688df55d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 21:59:38 +0100 Subject: better documentation --- packages/generate.source.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 910d250..0e1f2e2 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -76,10 +76,12 @@ generate::_fromgmi () { local dest_dir=$(dirname "$dest") test ! -d "$dest_dir" && mkdir -p "$dest_dir" + if [[ "$format" == html ]]; then - cat header.html.part > "$dest.tmp" + cat "$HTML_HEADER" > "$dest.tmp" html::fromgmi < "$src" >> "$dest.tmp" - cat footer.html.part >> "$dest.tmp" + cat "$HTML_FOOTER" >> "$dest.tmp" + elif [[ "$format" == md ]]; then md::fromgmi < "$src" >> "$dest.tmp" fi @@ -88,6 +90,7 @@ generate::_fromgmi () { test -z "title" && title=$SUBTITLE $SED -i "s|%%TITLE%%|$title|g" "$dest.tmp" mv "$dest.tmp" "$dest" + test "$USE_GIT" == yes && git::add "$format" "$dest" } @@ -141,9 +144,9 @@ generate::fromgmi () { git::commit gemtext "$GIT_COMMIT_MESSAGE" git::commit meta "$GIT_COMMIT_MESSAGE" fi + for format in "$@"; do test "$USE_GIT" == yes && git::commit "$format" "$GIT_COMMIT_MESSAGE" log INFO "$format can be found in $CONTENT_BASE_DIR/$format now" done - } -- cgit v1.2.3 From 65f8a2497bad58619d0cfdc76e4a0efeb15e0306 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 20 May 2021 17:51:07 +0100 Subject: initial macos support --- packages/generate.source.sh | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'packages/generate.source.sh') diff --git a/packages/generate.source.sh b/packages/generate.source.sh index 0e1f2e2..98cd215 100644 --- a/packages/generate.source.sh +++ b/packages/generate.source.sh @@ -38,9 +38,11 @@ generate::fromgmi_add_docs () { local -r dest=${src/gemtext/$format} local -r dest_dir=$(dirname "$dest") - test ! -d "$dest_dir" && mkdir -p "$dest_dir" + if [[ ! -d "$dest_dir" ]]; then + mkdir -p "$dest_dir" + fi cp "$src" "$dest" - test "$USE_GIT" == yes && git::add "$format" "$dest" + git::add "$format" "$dest" } # Remove docs from output format which aren't present in Gemtext anymore. @@ -50,13 +52,17 @@ generate::fromgmi_cleanup_docs () { local dest=${src/.$format/.gmi} dest=${dest/$format/gemtext} - test ! -f "$dest" && test "$USE_GIT" == yes && git::rm "$format" "$src" + if [[ ! -f "$dest" ]]; then + git::rm "$format" "$src" + fi } # Convert the Gemtext Atom feed to a HTML Atom feed. generate::convert_gmi_atom_to_html_atom () { local -r format="$1"; shift - test "$format" != html && return + if [[ "$format" != html ]]; then + return + fi log INFO 'Converting Gemtext Atom feed to HTML Atom feed' @@ -64,7 +70,7 @@ generate::convert_gmi_atom_to_html_atom () { < $CONTENT_BASE_DIR/gemtext/gemfeed/atom.xml \ > $CONTENT_BASE_DIR/html/gemfeed/atom.xml - test "$USE_GIT" == yes && git::add "$format" "$CONTENT_BASE_DIR/html/gemfeed/atom.xml" + git::add "$format" "$CONTENT_BASE_DIR/html/gemfeed/atom.xml" } # Internal helper function for generate::fromgmi @@ -75,7 +81,9 @@ generate::_fromgmi () { dest=${dest/.gmi/.$format} local dest_dir=$(dirname "$dest") - test ! -d "$dest_dir" && mkdir -p "$dest_dir" + if [[ ! -d "$dest_dir" ]]; then + mkdir -p "$dest_dir" + fi if [[ "$format" == html ]]; then cat "$HTML_HEADER" > "$dest.tmp" @@ -87,11 +95,13 @@ generate::_fromgmi () { fi local title=$($SED -n '/^# / { s/# //; p; q; }' "$src" | tr '"' "'") - test -z "title" && title=$SUBTITLE + if [[ -z "$title" ]]; then + title=$SUBTITLE + fi $SED -i "s|%%TITLE%%|$title|g" "$dest.tmp" mv "$dest.tmp" "$dest" - test "$USE_GIT" == yes && git::add "$format" "$dest" + git::add "$format" "$dest" } # Generate a given output format from a Gemtext file. @@ -102,7 +112,7 @@ generate::fromgmi () { log INFO "Generating $* from Gemtext" while read -r src; do - (( num_gmi_files++ )) + num_gmi_files=$(( num_gmi_files + 1 )) for format in "$@"; do generate::_fromgmi "$src" "$format" done @@ -114,7 +124,7 @@ generate::fromgmi () { log VERBOSE "Adding other docs to $*" while read -r src; do - (( num_doc_files++ )) + num_doc_files=$(( num_doc_files + 1 )) for format in "$@"; do generate::fromgmi_add_docs "$src" "$format" done @@ -137,16 +147,14 @@ generate::fromgmi () { done done - if [[ "$USE_GIT" == yes ]]; then - if [[ -z "$GIT_COMMIT_MESSAGE" ]]; then - GIT_COMMIT_MESSAGE='Publishing new version' - fi - git::commit gemtext "$GIT_COMMIT_MESSAGE" - git::commit meta "$GIT_COMMIT_MESSAGE" + if [[ -z "$GIT_COMMIT_MESSAGE" ]]; then + GIT_COMMIT_MESSAGE='Publishing new version' fi + git::commit gemtext "$GIT_COMMIT_MESSAGE" + git::commit meta "$GIT_COMMIT_MESSAGE" for format in "$@"; do - test "$USE_GIT" == yes && git::commit "$format" "$GIT_COMMIT_MESSAGE" + git::commit "$format" "$GIT_COMMIT_MESSAGE" log INFO "$format can be found in $CONTENT_BASE_DIR/$format now" done } -- cgit v1.2.3