summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-08 18:36:13 +0200
committerPaul Buetow <paul@buetow.org>2026-03-08 18:36:13 +0200
commit1737b1c8309a6418552f3d5be9871e88637c3afc (patch)
tree28b4855b62cf79d544e2684eda97869aa7795fcd
parentb94d4fc45ac05c129399ff9871ec41ebe3f2f004 (diff)
use new themedevelop
-rw-r--r--.gitignore1
-rw-r--r--gemtexter.conf2
-rw-r--r--lib/generate.source.sh12
-rw-r--r--lib/html.source.sh10
4 files changed, 22 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 52b9848..1b22167 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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