summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/album.source.sh22
-rw-r--r--src/lib/bootstrap.source.sh18
-rwxr-xr-xsrc/photoalbum.sh3
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}"