This script travles a directory structure and creates WIKI markup (suitable for Confluence versions lower that 4.0).
This WIKI Markup is injected directly into the MySQL Database, and a Tomcat restart is needed afterwards.
Several Macros are neede for the final page to be displayed correctly. See User Macros
Executing the script:
./updateGallery.sh "FamilieBilleder" 28000 yes|no eGrep |
Parameters:
FamilieBilleder |
is the path to be traveled (this is /data/images/FamilieBilleder) for my installation |
---|---|
28000 |
is Id for the Confluence page needed to be updated |
yes|no |
is if a TOC markup is inserted |
eGrep |
is an optional RegEx string for fine-picking from the Directory structure |
Scriptets source:
#!/bin/bash html="" IFS=$(echo -en "\n\b") # Arguments Dir=$1 Id=$2 MakeToc=$3 GrepFor=$4 # Check Arguments if [ $# -lt 3 ] then echo "There are not at least 3 Arguments: Dir ArticleId yes/no" exit 0 fi if [ Dir == "" ] then echo "Argument 1 is empty" exit 0 fi if [ ! -d /data/images/$Dir ] then echo "Argument 1 Dir: $Dir does not exist" exit 0 fi cd /data/images/"$Dir" for file in `find . -type d | grep -v "thumbs" | grep -v "cache" | egrep -i "$GrepFor" | sort` do NumOfPics=`ls -t "$file" | egrep -i "\.(jpg|gif|png|bmp)$" | wc -l` if [ $NumOfPics -gt 0 ] then file=$(echo "$file"|sed 's/\.\///g') html="$html\\nh1. $file\\n{go-top}\\n" group=$file for image in `ls "$file" | egrep -i "\.(jpg|gif|png|bmp)$"` do file2=$(echo "$file"|sed 's/ /%20/g') html="$html\\n{me-image:path=$Dir/$file2/|image=$image|group=$group}" done html="$html\\n" fi # for movie in `find "$file"/ -maxdepth 1 -type f | grep -v thumbs | egrep -i "\.(bobsos|flv)$" | sort` # do # html="$html {me-video:/images/$Dir/$movie}" # done done if [ $MakeToc == "no" ] then sql="UPDATE BODYCONTENT set body='{include-lightbox}\\n{make-top}\\n$html' where contentid=$Id" else sql="UPDATE BODYCONTENT set body='{include-lightbox}\\n{make-top}\\n{toc}\\n$html' where contentid=$Id" fi echo "SET NAMES 'utf8';$sql" > /tmp/insert.sql #echo "SET NAMES 'utf8';$sql" mysql --user=cadmin --password=******** confluence < /tmp/insert.sql rm /tmp/insert.sql |
This is a sample output for the script:
{include-lightbox} {make-top} {toc} h1. 2 x Fødselsdag 03-09-2011 {go-top} {me-image:path=FamilieBilleder/2011/2%20x%20Fødselsdag%2003-09-2011/|image=CIMG2034.JPG|group=2 x Fødselsdag 03-09-2011} {me-image:path=FamilieBilleder/2011/2%20x%20Fødselsdag%2003-09-2011/|image=CIMG2035.JPG|group=2 x Fødselsdag 03-09-2011} {me-image:path=FamilieBilleder/2011/2%20x%20Fødselsdag%2003-09-2011/|image=CIMG2036.JPG|group=2 x Fødselsdag 03-09-2011} {me-image:path=FamilieBilleder/2011/2%20x%20Fødselsdag%2003-09-2011/|image=CIMG2037.JPG|group=2 x Fødselsdag 03-09-2011} {me-image:path=FamilieBilleder/2011/2%20x%20Fødselsdag%2003-09-2011/|image=CIMG2038.JPG|group=2 x Fødselsdag 03-09-2011} {me-image:path=FamilieBilleder/2011/2%20x%20Fødselsdag%2003-09-2011/|image=CIMG2039.JPG|group=2 x Fødselsdag 03-09-2011} h1. Afslapning 24-07-2011 {go-top} |