onDiary; nDiary on the WEB
nDiary
をちょっとだけいじって遊んでます。
要するに
nDiary
をcgiとして動かそうというものです。
以下の人にお薦めします。
もう少し詳しく言うと
- っていうかnDiary以外のマークアップまた覚えるの面倒だよ
- キーワードとかで他者と連接なんかせずにひっそりちんまりやりたいのよ
- ネット上でテキスト打ちってのは場所環境を選ばずでいいかな
と翻訳できます。
という条件も付加しておきましょう。
(Wikiとしては、最近は静的生成を行うWikiCloneも多々あるようですので、この意味は薄れたかもしれません。blogとしては、TrackBack等によりむしろ動的生成になりつつあるようなので、この意味は強化されたかもしれません。)
これ以上詳しく言うのは面倒くさいので
入鹿君に任せます。
ちなみに無保証です。
うちでは動いてます。
でもちょっと重くなってくるとタイムアウトとかしそうです。
御使用は程々に。
改造改良はおおいに。
Sample:
onDiary試用
→日記入力・生成用cgi password は「password」で。
→生成された日記
→readme.txt
このsampleでは、HTMLタグは直接は書き込めないようにしています。(セキュリティの為)
Download:
→ondiary20060111.zip
ゼロから作り直した版に今とりかかってます。
ruby-1.8以上専用。
その分すっきりしたはずだし、
「あれが動かない」という話が減ってるはずです。
→ondiary20040204.zip
とりあえず塊を。
ndiary_0.9.4.1.zipに幾つか付して環境を整えています。
日記のスタイルは配布内サンプルのsimpleを利用・微修正。
元日記テキスト位置とhtml出力位置は私の趣味で整えています。(ので適時改変して下さい。)
WEB上から書き込む為のインタフェースは要らないという方はondiary直下の各ファイルが不要です。(それ以外でこれがどう役立つのか判りませんが)
(上を受けて、つまり)WEB上でnDiaryの実行だけしたいという方はscript/diary.cgi(とその同フォルダ内の見慣れぬ.rbファイル)がそれに該当します。
つまり以上2点が新規分で、他はnDiaryのままなので、後は各自の自由に。
Install:
1セット展開してUPしてindex.cgiに実行権限付与ぐらいで動くと思いますが、
注意点を幾つか。
- 一応念を押します、
Ruby
をcgiとして使えるサーバでないと駄目
- config.txtはcgiからは読めて訪問者からは読めないpermissionに変更(passwordが漏れます。気にしないなら放っててもいいです)
- 元日記テキストフォルダとHTML出力フォルダの両方についてcgiからの読書権限を付与
- あまり重いデータの場合は未テスト。タイムアウト等の心配有
- 設定はconfig.txtとscript/ndiary.confぐらいで
- XREAにサンプルを置いてる都合上雛型ファイルやindex.cgiの素形に広告のhtmlが入ってますので削ってください
- 主cgiの文字コードはEUCですので必要でしたら変換を(sjis/下にSJIS変換したものを置いてます)
- 日記テキストでは「全角空白4つ」が「TAB」に置換されます
各種filter,pluginは御随意に。基本的に動くはずですが未テストです。
$stdout($defout)を利用しているfilter,pluginについては危ういかもしれません。
Tips:
- ユーザやサーバの要求によってはcgiファイルの文字コードがSJISのものがいいようです(標準はEUC)。sjis/以下に変換した各ファイルがあるのでこれと置換して下さい。
- パスワードが不要な場合は、index.cgiの88〜126行目付近のコメントに沿って数行をコメントアウトして下さい。
- 設定ファイル(config.txt)の位置や名を変えたい場合は、index.cgiの815行目付近(最終行)を書き換えてください。
ToDo:
- ndiary.confを解釈して共用する事に関連するあれこれ
(PATHの加減算をRubyでスマートにする方法が判らない)
- 元日記テキスト(.diaryファイル)以外でも指定拡張子ファイルは編集可能(試装中)
- 元日記テキストの階層的格納(試装中)
- 空テキスト日記の削除、日記一覧の順序は最新から表示、更新日記への跳び(試装中)
- 更新日記への自動リンク跳び(検討中)
試装中の機能の多くは、config.txt内でオプションを加える事で操作します。
Reference:
導入
参照
ping