Add ability to generate pages in a seperate directory
authorBrett Parker <arch@sommitrealweird.co.uk>
Mon, 14 May 2007 17:11:11 +0000 (17:11 +0000)
committerBrett Parker <arch@sommitrealweird.co.uk>
Mon, 14 May 2007 17:11:11 +0000 (17:11 +0000)
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 [new file with mode: 0644]
bpgallery.sh

diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
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
index 678f896b079916d2136ab2518d5b0eb8a4d8e7c0..e532c68573b38e6720fe6b7840d70d7b832341c3 100755 (executable)
@@ -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}