tdiary
英語表示
本来は環境変数を変えるだけで良いが、日英交じった日記を書いているときには、表示だけを英語にしておいた方が良いみたい。(単純に en にしてしまったら、日記の日本語部分が化けたことがあるので。)
cd ~/public_html/tdiary/plugins/ mv ja ja.o cp -pr en ja
いんちきですねぇ
カレンダー(calender2.rb)の英語化
簡単な patch cal2.diff
image.rb から image_ex.rb へ
litebox を使いたいなと思い始めたところから、image.rb よりも image_ex.rb の方が便利そうだと知った。ところが image プラグインと image_ex プラグインは共存させることができず排他的。さらに、これらのプラグイン間で引数の意味の違いのために、過去に image.rb で書き込んだ写真が、image_ex では巨大な画像となって表示されてしまう。
というわけで、過去に書き込んだものを書き換えた上で、プラグインを image.rb から image_ex.rb に切り替えれば良さそう。具体的には data フォルダ内の '年/年月.td2' ファイル(例えば 2012/201204.td2 みたいなファイル)内に記述されている
<%=image 0, '写真の説明', nil, [739,489]%>
を
<%=image 0, '写真の説明'%>
のように書き換えれば良い。(下の書式であれば、image.rb でも image_ex.rb でも解釈できる。)この書き換えは数が少なければ手でやればいいけれど、かなり膨大な数の写真があるので unix コマンドでエイヤっと書き換える。(あぁ、unix って便利だなぁー)
というわけで実際にやったのは以下の通り。 まず data フォルダに入った後、以下のように
ls 20*/*.td2 | while read f do echo $f sed -i -e "s/, nil, \[.*,.*\]//g" $f done
あとはプラグインを切り替えて基本的に終了 :)
どうやらキャッシュが残っているようなので、cache/*.parser と cache/latest.rb についても変換しておいた方がいいだろう
ls cache/*.parser cache/latest.rb | while read f do echo $f sed -i -e "s/, nil, \[.*,.*\]//g" $f done
一応、上記の手続きで image plugin で埋め込んでいた写真も image_ex plugin で表示できるようになった。あと追加で、縮小画像(thumbnail)を自動生成するように tdiary.conf に追記(imagemagikが使えることが前提)
### 絵日記プラグイン機能追加版 ### # # 縮小画像の生成方法 # 0 - 縮小画像を生成しない (縮小画像は手動でアップロードする) # 1 - ImageMagickのconvertで縮小画王を生成 (ImageMagickが必要です) # 2 - netpbm群で縮小画王を生成 (netpbmが必要です) @options['image_ex.useresize'] = 1 # 生成する縮小画像の種類 # 0 - JPEG # 1 - PNG @options['image_ex.converttype'] = 0 # 画像ファイルがこのサイズを超えると縮小画像を生成する @options['image_ex.thresholdsize'] = 160 # 縮小画像のサイズ @options['image_ex.convertedwidth'] = 160 @options['image_ex.convertedheight'] = 120
litebox を tdiary で
こちら( http://www.scrapcode.net/tdiary/20080210.html )の内容に従い設定。
litebox-1.0.zip を取ってきて、tdiary の入っているフォルダ内で展開、フォルダ名を litebox-1.0 から litebox に。litebox/js に入り、litebox-1.0.js を litebox.js に。上述サイトの litebox.rb を tdiary の misc/plugins/ の中に入れる。tdiary.conf の中に、以下を追記。
### for litebox # @options['litebox.url'] = '/litebox/' @options['litebox.resizeSpeed'] = 8 @options['litebox.borderSize'] = 10
写真の説明文が白くて読めなかったので、litebox/css/lightbox.css の 64行目を修正
-#imageData #imageDetails{ width: 70%; float: left; text-align: left; } +#imageData #imageDetails{ color:#000; width: 70%; float: left; text-align: left; }
exif 情報を litebox で表示
litebox で、アップした写真の EXIF 情報を表示するために、ごそごそ弄ったメモ。
参照:EXIFデータをJavaScriptで読み込む方法について
Javascript EXIF Reader の javascript (exif.js, binaryajax.js) を利用する。
exif.js と binaryajax.js を litebox/js/ に入れて、tdiary/misc/plugin/litebox.rb, litebox/js/litebox-1.0.js, litebox/js/exif.js を修正。また10進数値を分数にする dec2frac.js も用意して litebox/js/ に入れる。(素の litebox-1.0 に対する差分ファイル→ litebox-1.0_exif.patch )かなり適当に弄ったので、変なところがあるかも。
tdiary/misc/plugin/litebox.rb の差分
--- litebox.rb.orig 2012-04-03 23:20:54.274381220 +0900 +++ litebox.rb 2012-05-23 23:37:57.669692434 +0900 @@ -26,6 +26,11 @@ <script type="text/javascript" src="#{h @litebox_url}js/prototype.lite.js"></script> <script type="text/javascript" src="#{h @litebox_url}js/moo.fx.js"></script> <script type="text/javascript" src="#{h @litebox_url}js/litebox.js"></script> + <script type="text/javascript" src="#{h @litebox_url}js/binaryajax.js"></script> + <script type="text/javascript" src="#{h @litebox_url}js/exif.js"></script> + <script type="text/javascript" src="#{h @litebox_url}js/dec2frac.js"></script> + + HTML end
Keyword(s):
References:[Software]