From d159b57ca37ebdb3b9a1ef690acb0010de5e3638 Mon Sep 17 00:00:00 2001 From: Brett Parker Date: Mon, 14 May 2007 22:09:15 +0000 Subject: [PATCH] Make icons and medium image directories non-hardcoded * Icon directory can now be specified with ICONDIRECTORY * Medium directory can now be specified with MEDIUMDIRECTORY git-archimport-id: arch@sommitrealweird.co.uk--2005-desktop/bpgallery--mainline--1.1--patch-11 --- ChangeLog | 135 ++++++++------------------------------------------- bpgallery.sh | 64 +++++++++++++++++++----- 2 files changed, 72 insertions(+), 127 deletions(-) diff --git a/ChangeLog b/ChangeLog index 48c7caf..8f4a7cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,123 +1,28 @@ -2007-05-14 18:09:30 GMT Brett Parker - Add in pages directory support through PAGESDIRECTORY variable - Up'd version number to be +arch as this is still in development +2007-05-14 Brett Parker + * Add in pages directory support through PAGESDIRECTORY variable + * Up'd version number to be +arch as this is still in development + * Add in options for ICONDIRECTORY and MEDIUMDIRECTORY so that they're no + longer hardcoded -2007-05-14 00:29:30 GMT Brett Parker patch-9 +2007-05-14 Brett Parker - Summary: - Up version for release - Revision: - bpgallery--mainline--1.1--patch-9 + * Fix caption generation code + * Released version 1.1.1 - Up version number for release - +2007-05-13 Brett Parker - modified files: - bpgallery.sh + * Fix medium sized page generation code + * Fix index page generation + * Released version 1.1.0 +2007-05-12 Brett Parker -2007-05-14 00:28:15 GMT Brett Parker patch-8 + * Exit on failure of being able to write medium sized images + * Fix up README to contain the new variables for medium sized images + * Change --replace to -I {} so that the xargs commands work in a BSD + environment. - Summary: - Fix caption generation code - Revision: - bpgallery--mainline--1.1--patch-8 +2006-05-22 Brett Parker - * Fixes captions - * Removes silly logging - - modified files: - bpgallery.sh - - -2007-05-13 10:53:09 GMT Brett Parker patch-7 - - Summary: - Update version number for release - Revision: - bpgallery--mainline--1.1--patch-7 - - Update version number for release - - modified files: - bpgallery.sh - - -2007-05-13 10:28:17 GMT Brett Parker patch-6 - - Summary: - Fix medium sized page generation - Revision: - bpgallery--mainline--1.1--patch-6 - - Declare the function even if we're not generating fullsize pages. - - modified files: - TODO bpgallery.sh - - -2007-05-13 09:15:20 GMT Brett Parker patch-5 - - Summary: - Fix index page generation code - Revision: - bpgallery--mainline--1.1--patch-5 - - - modified files: - TODO bpgallery.sh - - -2007-05-12 14:20:31 GMT Brett Parker patch-4 - - Summary: - Update TODO list - Revision: - bpgallery--mainline--1.1--patch-4 - - Update TODO list and remove things that are already done. - - modified files: - TODO - - -2007-05-12 14:11:14 GMT Brett Parker patch-3 - - Summary: - Exit on failure of being able to write medium sized images - Revision: - bpgallery--mainline--1.1--patch-3 - - * Exit on failure of being able to write medium sized images - * Fix up README to contain the new variables for medium sized images - - - modified files: - README bpgallery.sh - - -2006-06-12 19:09:07 GMT Brett Parker patch-2 - - Summary: - Fix xargs for a BSD environment - Revision: - bpgallery--mainline--1.1--patch-2 - - Change --replace to -I {} so that the xargs commands work in a BSD environment. - - - modified files: - bpgallery.sh - - -2006-05-22 19:20:34 GMT Brett Parker patch-1 - - Summary: - Preliminary addition of Medium Sized images and pages - Revision: - bpgallery--mainline--1.1--patch-1 - - * First draft attempt at medium sized images and the pages to go with it. - - modified files: - bpgallery.sh + * Start of 1.1 release development + * Generate medium sized pages diff --git a/bpgallery.sh b/bpgallery.sh index e532c68..3350f20 100755 --- a/bpgallery.sh +++ b/bpgallery.sh @@ -52,7 +52,7 @@ else caption_alt=$caption fi cat << END -
$caption_alt
$caption
+
$caption_alt
$caption
END } @@ -176,6 +176,24 @@ function bpgallery_escape_url() { $ECHOCOMMAND $temp } +function bpgallery_cleanup_directory_name() { + temp=$1 + temp=${temp//\%/_} + temp=${temp//:/_} + temp=${temp//;/_} + temp=${temp// /_} + temp=${temp//$/_} + temp=${temp//&/_} + temp=${temp//+/_} + temp=${temp//,/_} + temp=${temp//\//_} + temp=${temp//=/_} + temp=${temp//\?/_} + temp=${temp//@/_} + temp=${temp//\"/_} + $ECHOCOMMAND $temp +} + declare -rf bpgallery_escape_url if [[ ! -z ${BPGALLERY_THEME} ]] ; then @@ -288,10 +306,13 @@ fi if [[ -z $PAGESDIRECTORY ]]; then PAGESDIRECTORY="" else - temp=${PAGESDIRECTORY:${#PAGESDIRECTORY}-1:1} - if [[ "x$temp" != "x/" ]] && [[ "x$temp" != "x\\" ]]; then - PAGESDIRECTORY=${PAGESDIRECTORY}/ - fi + removetrailingslashes=${PAGESDIRECTORY%/} + temp=$removetrailingslashes + while [[ $removetrailingslashes != $temp ]]; do + temp=$removetrailingslashes + removetrailingslashes=${temp%/} + done + PAGESDIRECTORY=$(bpgallery_escape_url "${PAGESDIRECTORY}") fi if [[ -z $MEDIUMWIDTH ]]; then @@ -302,6 +323,20 @@ if [[ -z $INDEXDOCUMENT ]]; then INDEXDOCUMENT=index.html fi +if [[ -z $MEDIUMDIRECTORY ]]; then + MEDIUMDIRECTORY=medium +else + # Strip out anything that might be broken + MEDIUMDIRECTORY=$(bpgallery_cleanup_directory_name "$MEDIUMDIRECTORY") +fi + +if [[ -z $ICONSDIRECTORY ]]; then + ICONSDIRECTORY=icons +else + # Strip out anything that might be broken + ICONSDIRECTORY=$(bpgallery_cleanup_directory_name "$ICONSDIRECTORY") +fi + if declare -F "bpgallery_${BPGALLERY_THEME}_page" > /dev/null ; then BPGALLERY_PAGE_FUNCTION="bpgallery_${BPGALLERY_THEME}_page" else @@ -435,11 +470,11 @@ function generate_resized_images() { } function generate_thumbs() { - generate_resized_images $WIDTH icons + generate_resized_images $WIDTH $ICONSDIRECTORY } function generate_medium() { - generate_resized_images $MEDIUMWIDTH medium + generate_resized_images $MEDIUMWIDTH $MEDIUMDIRECTORY } function generate_pages() { @@ -536,7 +571,7 @@ function generate_pages() { } function generate_medium_pages() { - generate_pages __medium medium + generate_pages __${MEDIUMDIRECTORY} ${MEDIUMDIRECTORY} } function generate_general_page() { @@ -565,7 +600,7 @@ function generate_general_page() { caption="" fi - $BPGALLERY_PAGE_FUNCTION > "${PAGESDIRECTORY}$currentpage" + $BPGALLERY_PAGE_FUNCTION > "${UNIXPAGESDIRECTORY}$currentpage" } if [[ $OUTPUTHTML != 0 ]]; then @@ -627,8 +662,13 @@ if [[ "x$PAGESDIRECTORY" != "x" ]]; then $ECHOCOMMAND "Can't write to $PAGESDIRECTORY directory, exiting" exit 16 fi + UNIXPAGESDIRECTORY=$PAGESDIRECTORY/ + PAGESDIRECTORY=$(bpgallery_escape_url $PAGESDIRECTORY)/ BASEURL="../" +else + BASEURL="" + UNIXPAGESDIRECTORY="" fi if [ $GENERATEPAGESFORMEDIUMSIZE != 0 ]; then @@ -638,7 +678,7 @@ fi if [ $GENERATEPAGESFORFULLSIZE != 0 ]; then if [ $GENERATEPAGESFORMEDIUMSIZE != 0 ]; then - generate_pages __medium + generate_pages __${MEDIUMDIRECTORY} else generate_pages fi @@ -661,7 +701,7 @@ $ECHOCOMMAND "Adding Captions" extra="" if [ $GENERATEPAGESFORMEDIUMSIZE != 0 ]; then - extra=__medium + extra=__${MEDIUMDIRECTORY} fi $FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 -I {} $ECHOCOMMAND {} | $SORTCOMMAND -g | while read filename; do filename=${filename#./}; if [ -r captions.txt ]; then caption=$($GREPCOMMAND -E "^$filename " captions.txt); caption=${caption#* }; else caption=""; fi; if [ $GENERATEPAGESFORMEDIUMSIZE != 0 ]; then link=${PAGESDIRECTORY}$(bpgallery_escape_url "${filename}${extra}.html"); elif [ $GENERATEPAGESFORFULLSIZE != 0 ]; then link=${PAGESDIRECTORY}$(bpgallery_escape_url "${filename}.html"); else link=$(bpgallery_escape_url "$filename"); fi; filename=$(bpgallery_escape_url "$filename"); $BPGALLERY_THUMBSLINE_FUNCTION; done >> ${INDEXDOCUMENT} @@ -670,7 +710,7 @@ $BPGALLERY_TAIL_FUNCTION >> ${INDEXDOCUMENT} $ECHOCOMMAND "Finished generating the page" $ECHOCOMMAND "Generating stylesheet" -cd icons +cd $ICONSDIRECTORY MAXHEIGHT=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 $IDENTIFYCOMMAND -format "%h\n" | $GREPCOMMAND -v "^$" | $SORTCOMMAND -g -r | $HEADCOMMAND -n 1) MAXWIDTH=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 $IDENTIFYCOMMAND -format "%w\n" | $GREPCOMMAND -v "^$" | $SORTCOMMAND -g -r | $HEADCOMMAND -n 1) -- 2.39.5