diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/album.source.sh | 22 | ||||
| -rw-r--r-- | src/lib/bootstrap.source.sh | 18 | ||||
| -rwxr-xr-x | src/photoalbum.sh | 3 |
3 files changed, 43 insertions, 0 deletions
diff --git a/src/lib/album.source.sh b/src/lib/album.source.sh index 760201a..0f67396 100644 --- a/src/lib/album.source.sh +++ b/src/lib/album.source.sh @@ -890,6 +890,26 @@ prepare_generation_photo_assets() { create_all_photo_derivatives 'photos' 'thumbs' 'blurs' } +copy_site_favicon() { + local asset_dir + local favicon_src + + asset_dir=$(resolve_default_asset_dir) + favicon_src="$asset_dir/favicon.ico" + + if [ ! -r "$favicon_src" ]; then + config_error "favicon file $favicon_src must be readable" + return 1 + fi + + log_verbose "Copying favicon to $(_display_path "$DIST_DIR/favicon.ico")" + cp "$favicon_src" "$DIST_DIR/favicon.ico" +} + +prepare_generation_site_assets() { + copy_site_favicon +} + clear_rendered_html() { find "$DIST_DIR" -type f -name '*.html' -delete } @@ -915,6 +935,7 @@ generate() { fi prepare_generation_photo_assets + prepare_generation_site_assets clear_rendered_html render_album_pages 'photos' '.' 'thumbs' 'blurs' '.' "$tarball_name" create_generation_archive "$tarball_name" @@ -988,6 +1009,7 @@ dry_run() { printf ' %s/index.html (%s album index redirect)\n' \ "$DIST_DIR" "$html_index_count" fi + printf ' %s/favicon.ico\n' "$DIST_DIR" printf ' %s/photoalbum.json\n' "$DIST_DIR" printf ' %s/photos/* (%s image files)\n' "$DIST_DIR" "$image_count" printf ' %s/thumbs/* (%s image files)\n' "$DIST_DIR" "$image_count" diff --git a/src/lib/bootstrap.source.sh b/src/lib/bootstrap.source.sh index bb309f9..3e514fc 100644 --- a/src/lib/bootstrap.source.sh +++ b/src/lib/bootstrap.source.sh @@ -109,6 +109,24 @@ resolve_default_template_dir() { printf '%s\n' "$DEFAULT_TEMPLATE_DIR" } +resolve_default_asset_dir() { + local source_root + + if [ -d "$DEFAULT_ASSET_DIR" ]; then + printf '%s\n' "$DEFAULT_ASSET_DIR" + return + fi + + source_root=$(resolve_source_root) + + if [ -n "$source_root" ]; then + printf '%s\n' "$source_root/assets/site" + return + fi + + printf '%s\n' "$DEFAULT_ASSET_DIR" +} + template_dir_uses_default() { if [ -z "${TEMPLATE_DIR+x}" ] || [ -z "$TEMPLATE_DIR" ]; then return 1 diff --git a/src/photoalbum.sh b/src/photoalbum.sh index 45ace17..b0d3cee 100755 --- a/src/photoalbum.sh +++ b/src/photoalbum.sh @@ -7,8 +7,11 @@ set -euo pipefail declare -r VERSION='PHOTOALBUMVERSION' declare -r DEFAULTRC="${PHOTOALBUM_DEFAULT_RC:-/etc/default/photoalbum}" declare -r PACKAGED_TEMPLATE_DIR='/usr/share/photoalbum/templates/default' +declare -r PACKAGED_ASSET_DIR='/usr/share/photoalbum/assets' DEFAULT_TEMPLATE_DIR="${PHOTOALBUM_DEFAULT_TEMPLATE_DIR:-$PACKAGED_TEMPLATE_DIR}" declare -r DEFAULT_TEMPLATE_DIR +DEFAULT_ASSET_DIR="${PHOTOALBUM_DEFAULT_ASSET_DIR:-$PACKAGED_ASSET_DIR}" +declare -r DEFAULT_ASSET_DIR PHOTOALBUM_OUTPUT_MODE="${PHOTOALBUM_OUTPUT_MODE:-normal}" PHOTOALBUM_ACTIVE_GENERATION_PID='' PHOTOALBUM_FORCE_GENERATE="${PHOTOALBUM_FORCE_GENERATE:-no}" |
