From 5207b33c23b0f42288bc6d1ff1b16960bdbf3d1f Mon Sep 17 00:00:00 2001 From: Brett Parker <arch@sommitrealweird.co.uk> Date: Mon, 14 May 2007 17:11:11 +0000 Subject: [PATCH] Add ability to generate pages in a seperate directory If PAGESDIRECTORY is set, write all pages except the index in to that directory To accomodate this, filename in the generate page is automatically set to the right path, for anything else (e.g. linked stylesheets, or the stylesheet generated by bpgallery, use ${BASEURL} infront of the filename and it'll automatically get ../ when required.) Also adds a (not very good) changelog - will improve that later! git-archimport-id: arch@sommitrealweird.co.uk--2005-desktop/bpgallery--mainline--1.1--patch-10 --- ChangeLog | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++ bpgallery.sh | 48 ++++++++++++++++---- 2 files changed, 163 insertions(+), 8 deletions(-) create mode 100644 ChangeLog diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..48c7caf --- /dev/null +++ b/ChangeLog @@ -0,0 +1,123 @@ +2007-05-14 18:09:30 GMT Brett Parker <iDunno@sommitrealweird.co.uk> + Add in pages directory support through PAGESDIRECTORY variable + Up'd version number to be +arch as this is still in development + +2007-05-14 00:29:30 GMT Brett Parker <arch@sommitrealweird.co.uk> patch-9 + + Summary: + Up version for release + Revision: + bpgallery--mainline--1.1--patch-9 + + Up version number for release + + + modified files: + bpgallery.sh + + +2007-05-14 00:28:15 GMT Brett Parker <arch@sommitrealweird.co.uk> patch-8 + + Summary: + Fix caption generation code + Revision: + bpgallery--mainline--1.1--patch-8 + + * Fixes captions + * Removes silly logging + + modified files: + bpgallery.sh + + +2007-05-13 10:53:09 GMT Brett Parker <arch@sommitrealweird.co.uk> 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 <arch@sommitrealweird.co.uk> 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 <arch@sommitrealweird.co.uk> 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 <arch@sommitrealweird.co.uk> 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 <arch@sommitrealweird.co.uk> 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 <arch@sommitrealweird.co.uk> 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 <arch@sommitrealweird.co.uk> 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 diff --git a/bpgallery.sh b/bpgallery.sh index 678f896..e532c68 100755 --- a/bpgallery.sh +++ b/bpgallery.sh @@ -19,7 +19,7 @@ set -f -VERSION="1.1.1" +VERSION="1.1.1+arch" function bpgallery_default_head() { cat <<END @@ -28,7 +28,7 @@ cat <<END <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>${TITLE}</title> - <link rel="stylesheet" href="style.css" type="text/css" /> + <link rel="stylesheet" href="${BASEURL}style.css" type="text/css" /> </head> <body> END @@ -133,7 +133,7 @@ function bpgallery_default_page() { <h1>${caption}</h1> <div class="navigation"> <ul> - <li><a href='${INDEXDOCUMENT}'>Thumbnails</a></li> + <li><a href='${BASEURL}${INDEXDOCUMENT}'>Thumbnails</a></li> END if [[ ! -z $previouspage ]]; then $ECHOCOMMAND "<li><a href='${previouspage}'>Previous</a></li>" @@ -285,6 +285,15 @@ if [[ -z $GENERATEPAGESFORMEDIUMSIZE ]]; then GENERATEPAGESFORMEDIUMSIZE=1 fi +if [[ -z $PAGESDIRECTORY ]]; then + PAGESDIRECTORY="" +else + temp=${PAGESDIRECTORY:${#PAGESDIRECTORY}-1:1} + if [[ "x$temp" != "x/" ]] && [[ "x$temp" != "x\\" ]]; then + PAGESDIRECTORY=${PAGESDIRECTORY}/ + fi +fi + if [[ -z $MEDIUMWIDTH ]]; then MEDIUMWIDTH=400 fi @@ -484,7 +493,12 @@ function generate_pages() { else nextpage=${nextimage}.html fi - filename=${extradir}${currentimage} + + if [[ "x$PAGESDIRECTORY" != "x" ]]; then + filename=../${extradir}${currentimage} + else + filename=${extradir}${currentimage} + fi if [ "x$currentpage" != "x" ]; then generate_general_page "$previouspage" "$currentpage" "$nextpage" $addlink fi @@ -503,8 +517,12 @@ function generate_pages() { else addlink=${currentpage} fi - - filename=${extradir}${currentpage} + + if [[ "x$PAGESDIRECTORY" != "x" ]]; then + filename=../${extradir}${currentpage} + else + filename=${extradir}${currentpage} + fi if [[ $addlinks == 1 ]]; then currentpage=${currentpage}${extra}.html previouspage=${previouspage}${extra}.html @@ -547,7 +565,7 @@ function generate_general_page() { caption="" fi - $BPGALLERY_PAGE_FUNCTION > "$currentpage" + $BPGALLERY_PAGE_FUNCTION > "${PAGESDIRECTORY}$currentpage" } if [[ $OUTPUTHTML != 0 ]]; then @@ -600,6 +618,19 @@ fi generate_thumbs +if [[ "x$PAGESDIRECTORY" != "x" ]]; then + if [ ! -d $PAGESDIRECTORY ]; then + mkdir -p $PAGESDIRECTORY + fi + + if [ ! -w $PAGESDIRECTORY ]; then + $ECHOCOMMAND "Can't write to $PAGESDIRECTORY directory, exiting" + exit 16 + fi + + BASEURL="../" +fi + if [ $GENERATEPAGESFORMEDIUMSIZE != 0 ]; then generate_medium generate_medium_pages @@ -619,6 +650,7 @@ else DESCRIPTION="" fi +BASEURL="" $ECHOCOMMAND "Starting to generate page" @@ -632,7 +664,7 @@ if [ $GENERATEPAGESFORMEDIUMSIZE != 0 ]; then extra=__medium 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=$(bpgallery_escape_url "${filename}${extra}.html"); elif [ $GENERATEPAGESFORFULLSIZE != 0 ]; then link=$(bpgallery_escape_url "${filename}.html"); else link=$(bpgallery_escape_url "$filename"); fi; filename=$(bpgallery_escape_url "$filename"); $BPGALLERY_THUMBSLINE_FUNCTION; done >> ${INDEXDOCUMENT} +$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} $BPGALLERY_TAIL_FUNCTION >> ${INDEXDOCUMENT} -- 2.39.5