From 61890e0bd98262a55b3afff495ebfead33d76b96 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 17 Jun 2026 23:21:03 +0300 Subject: Add configurable SOURCE_URL footer link; release 0.9.0 The footer "Site generated ... with " was hardcoded to the shuriken.sh repository. Make it configurable via the SOURCE_URL config variable and the --source-url CLI flag (defaulting to the shuriken.sh repo, so existing sites are unchanged). The footer derives the displayed text from the URL by stripping its scheme. Plumbed through apply_config_defaults, CLI override targets/spec, --print-config, the verbose effective-config log, and the header template's new render_source_url_html (config_html) render var. Documented in shuriken.default.conf and README; added a generation test asserting a custom SOURCE_URL replaces the default footer link, and updated the print-config and header render-var-subset expectations. Co-Authored-By: Claude Opus 4.8 --- README.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 2757d08..bf0196f 100644 --- a/README.md +++ b/README.md @@ -76,10 +76,10 @@ When `--config PATH` is not provided, `--generate`, `--dry-run`, If the file is missing, run `shuriken --init` first. The config file is a Bash file with assignments such as `INCOMING_DIR`, -`DIST_DIR`, `TEMPLATE_DIR`, `FAVICON`, `TITLE`, `HEIGHT`, `THUMBHEIGHT`, -`MAXPREVIEWS`, `IMAGE_JOBS`, `IMAGEMAGICK_TIMEOUT`, `RANDOM_SEED`, `SHUFFLE`, -`SPLASH_PAGE`, `STATS_PAGE`, `TARBALL_INCLUDE`, `TAR_TIMEOUT`, `SYNC_DELETE`, and -`SYNC_DESTINATIONS`. +`DIST_DIR`, `TEMPLATE_DIR`, `FAVICON`, `SOURCE_URL`, `TITLE`, `HEIGHT`, +`THUMBHEIGHT`, `MAXPREVIEWS`, `IMAGE_JOBS`, `IMAGEMAGICK_TIMEOUT`, `RANDOM_SEED`, +`SHUFFLE`, `SPLASH_PAGE`, `STATS_PAGE`, `TARBALL_INCLUDE`, `TAR_TIMEOUT`, +`SYNC_DELETE`, and `SYNC_DESTINATIONS`. Before generating, `shuriken` validates the loaded config and command-line overrides. It checks required values, positive integer settings, `yes`/`no` @@ -97,8 +97,8 @@ values that generation would use after applying command-line overrides. Its tarball filename uses `` as a placeholder so the output is stable. `--print-config` writes stable shell-style assignments to stdout in this order: -`CONFIG_SOURCE`, `INCOMING_DIR`, `DIST_DIR`, `TEMPLATE_DIR`, `FAVICON`, `TITLE`, -`HEIGHT`, +`CONFIG_SOURCE`, `INCOMING_DIR`, `DIST_DIR`, `TEMPLATE_DIR`, `FAVICON`, +`SOURCE_URL`, `TITLE`, `HEIGHT`, `THUMBHEIGHT`, `MAXPREVIEWS`, `IMAGE_JOBS`, `IMAGEMAGICK_TIMEOUT`, `RANDOM_SEED`, `SHUFFLE`, `SPLASH_PAGE`, `STATS_PAGE`, `TARBALL_INCLUDE`, `TARBALL_SUFFIX`, `TAR_TIMEOUT`, `TAR_OPTS`, `SYNC_DELETE`, @@ -117,6 +117,11 @@ templates link to it. By default this is the bundled shuriken favicon; set `FAVICON` in the config or pass `--favicon PATH` to publish your own favicon file instead (it is copied in as `favicon.ico`). +The page footer links to the project source ("Site generated ... with +<URL>"). This defaults to the shuriken.sh repository; set `SOURCE_URL` in +the config or pass `--source-url URL` to point it at your own album's repository +instead. The displayed link text is the URL with its scheme removed. + Normal generation preserves reusable generated artifacts from the previous `DIST_DIR` while still rerendering HTML, random splash/background choices, animation classes, timestamps, and shuffled preview order. Existing scaled @@ -146,6 +151,7 @@ The following long options override config values: | `--dist PATH` | `DIST_DIR` | | `--template PATH` | `TEMPLATE_DIR` | | `--favicon PATH` | `FAVICON` | +| `--source-url URL` | `SOURCE_URL` | | `--title TEXT` | `TITLE` | | `--height VALUE` | `HEIGHT` | | `--thumbheight VALUE` | `THUMBHEIGHT` | -- cgit v1.2.3