2010年06月26日

サムネイル付きの画像ファイルをアップロードし、HTMLコードを自動するスクリプト(xpWikiのページ用)(修正)

昨日修正しました。このスクリプトを使うには次のような形式でファイル名をつけておく必要があります。
 個人用に作成したものです。参考にしていただければと思いますが、意味が分からないまま実行すると危険が起こるかもしれ ません。自己責任にてお願いします。

ファイル名_数字の連番.jpg

 しかし、二桁以上のファイルがある と一桁の数値のファイルが正しい順番でソートできないという不具合がありました。昨日修正したのもこの点です。

 あらかじめ一桁のファイ ル名を01形式に変換するスクリプトを別に用意しました。ファイルの数が9までであれば必要ないと思われますが、本体には含めず、必要に応じ事前に実行す るようにしました。条件式で自動的に付加することも出来るのですが、面倒なのでそこまでしていません。

 また、実行時に0の引数をつける ことで、sshのアップロードをしないようにしました。リンクのHTMLコードのみが生成されます。

01形式に変換するスクリプト
u9x@ubuntu:~/local-bin % cat 1to01.sh
#!/bin/bash

for f in *.jpg; do
    if [[ $f =~ .*_[1-9]\.jpg ]]; then
        mv $f `echo $f | sed 's/\(.*_\)\([1-9]\)\(.*$\)/\1\x30\2\3/'`
        if [ $? -eq 0 ]; then
               echo $f | sed 's/\(.*_\)\([1-9]\)\(.*$\)/\1\x30\2\3 :変更/'
           fi
       fi
done

修正したスクリプト本体
u9x@ubuntu:~/local-bin % cat jpg-up-xpwiki.sh
#/bin/sh

FILE_NAME=""
for i in *_*.jpg; do if [ -f $i ]; then FILE_NAME=$i; break; fi; done
DIR_NAME=${FILE_NAME%%_*}
if [ -d $DIR_NAME ]; then
    echo "ディレクトリが存在するので中止!"; exit 1
else
    mkdir $DIR_NAME; cp *_*.jpg $DIR_NAME/; cd $DIR_NAME
fi

S="thumbnails"
if [ ! -d $S ]; then
    mkdir ./${S}
fi

#declare -i NO
NO=1

for i in *_*.jpg; do
    x=$(echo $i | sed 's/.*_\(.*\)\.jpg/\1/');
    convert -geometry 600x450 $i ${S}/${FILE_NAME%%_*}_${S}_${x}.jpg
    NO=`expr $NO + 1`
done;


WEB_PATH="http://hirono-hideki-01.sakura.ne.jp/tw-web/jpeg/$DIR_NAME/"

i=1

MSG=""

while [ $i -lt $NO ]; do
if [ $i -lt 10 ]; then
DTMP=`cat << DEOF >> ./data-$$.tmp
* ${FILE_NAME%%_*}_${i}
#html{{
<a href="${WEB_PATH}${FILE_NAME%%_*}_0${i}.jpg" rel="lightbox[groups]">
<img src="${WEB_PATH}${S}/${FILE_NAME%%_*}_${S}_0${i}.jpg" alt="${FILE_NAME%%_*}_${i}.jpg" />
</a><br /><br />
}}

DEOF
`
else
DTMP=`cat << DEOF >> ./data-$$.tmp
* ${FILE_NAME%%_*}_${i}
#html{{
<a href="${WEB_PATH}${FILE_NAME%%_*}_${i}.jpg" rel="lightbox[groups]">
<img src="${WEB_PATH}${S}/${FILE_NAME%%_*}_${S}_${i}.jpg" alt="${FILE_NAME%%_*}_${i}.jpg" />
</a><br /><br />
}}

DEOF
`
fi
    let i=i+1
done

WIKI=`cat <<- DEOF > ./wiki-$$.tmp
#contents

 JavaScriptが有効であれ ば画像をクリックすると拡大表示されます。マウスポインタを画像の上にのせると、Nextなどのボタンが表示され、連続して写真を見ることが>出来 ると思います。

 各写真について、記載されている内容に対する説明をつける予定です。もうしばらくお待ちください。Twitterにてご 案内も致します。
#html{{
<script src="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/js/prototype.js" type="text/javascript"></script>
<script src="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>

<link href="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/css/lightbox.css" media="screen" rel="stylesheet" type="text/css" />
<script src="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/js/lightbox.js" type="text/javascript"></script>
}}

DEOF
`

cat ./wiki-$$.tmp ./data-$$.tmp | xsel -b
cat ./wiki-$$.tmp ./data-$$.tmp

echo $WIKI$MSG

if [ $1 = "0" ]; then
    exit 0
fi

if [ $? -eq 0 ]; then
    scp -r ../$DIR_NAME hirono-hideki-01@hirono-hideki-01.sakura.ne.jp:/home/hirono-hideki-01/www/tw-web/jpeg/
fi

exit 0;




Powered by ScribeFire.

posted by 廣野秀樹 at 10:54| Comment(0) | TrackBack(0) | HTML&JavaScript | このブログの読者になる | 更新情報をチェックする

2010年06月16日

サムネイル付きの画像ファイルをアップロードし、HTMLコードを自動するスクリプト(xpWikiのページ用)

自己使用目的のため、使い方に癖があります。参考程度にしていただきたいのですが、もしコード
をご利用になられる場合は内容を理解された上で自己責任でお 願いします。


#/bin/sh

FILE_NAME=""
for i in *_*.jpg; do if [ -f $i ]; then FILE_NAME=$i; break; fi; done
DIR_NAME=${FILE_NAME%%_*}
if [ -d $DIR_NAME ]; then
    echo "ディレクトリが存在するので中止!"; exit 1
else
    mkdir $DIR_NAME; cp *_*.jpg $DIR_NAME/; cd $DIR_NAME
fi

S="thumbnails"
if [ ! -d $S ]; then
    mkdir ./${S}
fi

#declare -i NO
NO=1

for i in *_*.jpg; do
    x=$(echo $i | sed 's/.*_\(.*\)\.jpg/\1/');
    convert -geometry 600x450 $i ${S}/${FILE_NAME%%_*}_${S}_${x}.jpg
    NO=`expr $NO + 1`
done;


WEB_PATH="http://hirono-hideki-01.sakura.ne.jp/tw-web/jpeg/$DIR_NAME/"

i=1

MSG=""

while [ $i -lt $NO ]; do
DTMP=`cat << DEOF >> ./data-$$.tmp
* ${FILE_NAME%%_*}_${i}
#html{{
<a href="${WEB_PATH}${FILE_NAME%%_*}_${i}.jpg" rel="lightbox[groups]">
<img src="${WEB_PATH}${S}/${FILE_NAME%%_*}_${S}_${i}.jpg" alt="${FILE_NAME%%_*}_${i}.jpg" />
</a><br /><br />
}}

DEOF
`
    let i=i+1
done

WIKI=`cat <<- DEOF > ./wiki-$$.tmp
#contents

 JavaScriptが有効であれば画像をクリックすると拡大表示されます。マウスポインタを画像の上にのせると、Nextなどのボタンが表示され、連続して写真を見ることが>出来ると思います。

 各写真について、記載されている内容に対する説明をつける予定です。もうしばらくお待ちください。Twitterにてご案内も致します。
#html{{
<script src="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/js/prototype.js" type="text/javascript"></script>
<script src="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>

<link href="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/css/lightbox.css" media="screen" rel="stylesheet" type="text/css" />
<script src="http://hirono-hideki-01.sakura.ne.jp/js/lightbox204/js/lightbox.js" type="text/javascript"></script>
}}

DEOF
`

cat ./wiki-$$.tmp ./data-$$.tmp | xsel -b
cat ./wiki-$$.tmp ./data-$$.tmp

echo $WIKI$MSG

if [ $? -eq 0 ]; then
    scp -r ../$DIR_NAME hirono-hideki-01@hirono-hideki-01.sakura.ne.jp:/home/hirono-hideki-01/www/tw-web/jpeg/
fi

exit 0;

posted by 廣野秀樹 at 20:52| Comment(0) | TrackBack(0) | HTML&JavaScript | このブログの読者になる | 更新情報をチェックする

2010年06月14日

lightbox204の設置

<script src="(省略)js/prototype.js" type="text/javascript"></script>
 <script src="(省略)/js/lightbox204/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>

 <link href="(省略)/css/lightbox.css" media="screen" rel="stylesheet" type="text/css" />
 <script src="(省略)/lightbox204/js/lightbox.js" type="text/javascript"></script>

使用例:
<a href="http://hirono-hideki-01.sakura.ne.jp/tw-web/jpeg/gnome-desktop-800.jpeg" rel="lightbox"> <img width="500" height="350" src="http://hirono-hideki-01.sakura.ne.jp/images-tw/seesaa%E4%BA%BA%E6%A8%A9%E6%95%91%E6%B8%88%E5%B9%B3%E6%88%90%EF%BC%96%E5%B9%B4.jpeg" style="max-width: 800px;" alt="" /> </a>




Powered by ScribeFire.

posted by 廣野秀樹 at 11:55| Comment(0) | TrackBack(0) | HTML&JavaScript | このブログの読者になる | 更新情報をチェックする