diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | gemtexter.conf | 2 | ||||
| -rw-r--r-- | lib/generate.source.sh | 12 | ||||
| -rw-r--r-- | lib/html.source.sh | 10 |
4 files changed, 22 insertions, 3 deletions
@@ -1 +1,2 @@ post_publish_hook.sh +.serena diff --git a/gemtexter.conf b/gemtexter.conf index e122a2f..e1cf643 100644 --- a/gemtexter.conf +++ b/gemtexter.conf @@ -8,4 +8,4 @@ declare -xr ATOM_MAX_ENTRIES=42 declare -xr CONTENT_BASE_DIR=../foo.zone-content declare -xr PRE_GENERATE_HOOK=./pre_generate_hook.sh declare -xr POST_PUBLISH_HOOK=./post_publish_hook.sh -declare -xr HTML_THEME_DIR=./extras/html/themes/default +declare -xr HTML_THEME_DIR=./extras/html/themes/retrofuturistic diff --git a/lib/generate.source.sh b/lib/generate.source.sh index a62db34..15394bd 100644 --- a/lib/generate.source.sh +++ b/lib/generate.source.sh @@ -118,8 +118,15 @@ generate::_to_output_format () { # For HTML, we can override the style sheet per directory. local stylesheet="$(basename "$HTML_CSS_STYLE")" local stylesheet_override="${stylesheet/.css/-override.css}" + local script='' + if [ -f "${HTML_JS_SCRIPT:-}" ]; then + script="$(basename "$HTML_JS_SCRIPT")" + fi if [[ "$CONTENT_BASE_DIR/html" != "$(dirname "$dest")" ]]; then stylesheet="../$stylesheet" + if [ -n "$script" ]; then + script="../$script" + fi fi $SED -i "s|%%TITLE%%|$title|g; @@ -128,7 +135,8 @@ generate::_to_output_format () { s|%%MARKDOWN_BASE_URI%%|$MARKDOWN_BASE_URI|g; s|%%CURRENT_PAGE%%|$current_page|g; s|%%STYLESHEET%%|$stylesheet|g; - s|%%STYLESHEET_OVERRIDE%%|$stylesheet_override|g;" "$dest.tmp" + s|%%STYLESHEET_OVERRIDE%%|$stylesheet_override|g; + s|%%SCRIPT%%|$script|g;" "$dest.tmp" elif [[ "$format" == md ]]; then md::fromgmi < "$src" >> "$dest.tmp" @@ -157,7 +165,7 @@ generate::_check_global_deps () { fi local dep - for dep in "$HTML_HEADER" "$HTML_FOOTER" "$HTML_CSS_STYLE" ./gemtexter.conf; do + for dep in "$HTML_HEADER" "$HTML_FOOTER" "$HTML_CSS_STYLE" "${HTML_JS_SCRIPT:-}" ./gemtexter.conf; do if [[ -f "$dep" ]] && [[ "$dep" -nt "$sentinel" ]]; then log INFO "Global dependency $dep changed, forcing full rebuild" _force_rebuild=yes diff --git a/lib/html.source.sh b/lib/html.source.sh index fa9080f..8a923be 100644 --- a/lib/html.source.sh +++ b/lib/html.source.sh @@ -77,6 +77,7 @@ html::theme () { html::theme::styles "$html_base_dir" html::theme::webfonts "$html_base_dir" + html::theme::scripts "$html_base_dir" } html::theme::styles () { @@ -124,6 +125,15 @@ html::theme::webfonts () { fi } +html::theme::scripts () { + local -r html_base_dir="$1"; shift + log INFO 'Installing theme JavaScript files' + + if [ -f "${HTML_JS_SCRIPT:-}" ]; then + cp "$HTML_JS_SCRIPT" "$html_base_dir/$(basename "$HTML_JS_SCRIPT")" + fi +} + html::source_highlight () { local -r bare_text="$1"; shift local -r language="$1"; shift |
