Wiki系とWikiEngineについて語るスレーPart3
専用(に作った)ソフト。
これから作るのかよ!
違うの?
で、作ってみようと思う。って言うと、クレクレ の人が GPL で キボンヌ するんだよ。
PukiWiki初心者です。
負荷対策の為にHTML化した閲覧用ページと、
PHPの編集用ページに分けようと考えてます。
自作プラグインでsnapshot.inc.phpという
Wikiの指定ページをhtml化するプラグインがあるらしいので、
これを使ってhtmlディレクトリに1時間毎に全ページをhtml化しようと思ってますが、
もっと良い方法や別の考え方などありましたら教えて頂けると助かります。
(FSWikiではHTMLキャッシュ機能で実現できそうですが、
なるべくPukiWikiで実現したいなと思ってます。)
896 :
nobodyさん:04/12/29 14:35:02 ID:TotaFMc9
>>895 1時間ごとに全部キャッシュを作る必要性は?
ページの更新時とか、コメント登校時とかにそのページだけ作れば
良いと思うんだけど。
897 :
895:04/12/29 15:10:37 ID:???
>>896 言われてみればそのタイミングの方が良いですね。
1時間ごとに全部キャッシュはその方が作るプログラムとか楽かなと思って。
snapshot.inc.phpで試行錯誤したのですが、
そのページのHTML化は出来てもメニューやヘッダー等を含めた
全体のHTML化は出来ないみたいなので断念・・・
という訳でPukiWikiとFSWikiのどちらにしようか思案中です。
PukiWiki
○スキン豊富でデザイン良い
○利用者が多くてなんとなくとっつきやすい
FSWiki
○HTMLキャッシュ機能
○テーブル編集プラグインあり
それぐらい自分で付け足せよ
「負荷対策」が必要な
>>895のコンテンツはどれだけ素晴らしいのか、
あるいはサーバ環境がどんなに貧弱なのか、それが気になる。
いや、それは軽いに越したことはないだろうがね。
根本的解決策は HTML 化
Vikiwiki使えば?
自賠責更新 -> 1月中
灯油
猫砂
ライターのガス
いまpukiwikiダウンロードできなくね?
結局、wikiにどんな機能があれば今より使いやすくなるの?
おしえてえろいひと
冷暖房機能
Auto自賠責保険 (時刻でNotifyしてくれる機能)
編集開始から3分で強制アップする機能
どうでもいい推敲で時間を浪費しなくていい
ブログでも欲しい機能だ
で、流してはいけない情報を流して、会社からバイバイと。
>>909 ユーザ管理するタイプのWikiだったら自賠責はともかくwとして
簡単なNotifyしてくれる奴があっても面白いかもな
こんな感じかすら
『テクノロジー・ライフサイクル』
価格と品質重視派
Early Majority みんなが使ってるから派
Late Majority
ビジョン先行派 |
Early Adopter ↓ _,、-''''゙゙゙゙| |~~゙゙''-、, |
ハイテクオタク ,、''゙ | | ゙-, ↓ ハイテク嫌い
Innovators | ,,、''゙ | | ゙-, Laggards
↓ ,、''゙ | | `、
| ,、'゙ | | ゙-, |
↓ /| i゙ Blog | | Windows ヽ , ↓
_,,-'゙ | | Firefox | | Office | |`-、
_,,、-'゙ .| | | | IE | | ~`''-、_
._,,,,,,、--''''゙゙| |. Wiki | | | | 普通のHP | | ケータイ ~`''ー
|____| |____| |________| |_______| |______
/||ヽ
||
ハイテクの落とし穴 = キャズム
ケータイの層は、Late Majority だろ。
ハイテク嫌いの層は、そもそもインターネット自体が嫌いな層だよ。
しかも、世の中ではこいつらがかなり幅を効かせてる。
Fiirefox の層も、Early Majority よりは、Early Adopter に近そうな気がしたり。
さすがにハイテク嫌いな土方のあんちゃんでもケータイ持ってるだろ
917 :
nobodyさん:05/01/05 10:29:15 ID:iz6KnYoi
ケータイ持ってたからといって、それでネットを使いこなしてるかどうかは別問題。
つーか、wiki作っていても携帯持っていない奴がいるんだが。
この分類にどういう意味があるんだ?
>>918 日露戦争での森鴎外の不祥事って知ってる?
高木と森の意見の違いをよく見てください。
Wiki系とWikiEngineについて語るスレなんで、歴史の話は別板でヨロスコ。
そもそも
>>915の時点からスレ違い。
ケータイがどこに位置しようとWikiとは直接関係ないだろ
Wikiは金の匂いがしないからメジャーにならない
しかし金の匂いにつられて寄ってくる奴等なんかウザいだけ
だからWikiはこのままメジャーになんてならなくていい
階層や連続したページを簡単に設定できるwikiとか、
リンクするときに<a>タグのrel属性を設定できるwikiって無いかね?
>>930 > 階層や連続したページを簡単に設定
では意味が不明瞭。
きみの頭の中のイメージはエスパー以外には覗けない。
バカかこいつ・・・
>>930 連続したページってあれだろ?ITmediaの記事みたく、
一つの記事を複数ページにわたって書いたものとかだろ。
wikiで設定がやりやすいって具体的にどんな感じなの?
そういえばWikiで作られた説明ページの弱点として。
「次にすすむ」みたいなリンクが作りにくいという指摘があったな。
「hogehoge/説明」
↓
「hogehoge/インストール」
というナビゲーションをしたいとか。
PukiWikiのnaviプラグインみたいなもんがあればOK?
941 :
_:05/01/07 20:07:16 ID:+dnLunED
差分を行単位ではなく文字単位で見れるWikiはありませんか?
前からある要求だけど。
Wikipediaが文字単位だった気がする
945 :
941:05/01/08 11:28:09 ID:1+/AkAA+
情報ありがとうございました。
今使っているFreeStyleWikiを改造したら、
完全な文字単位とまではいかなくとも、\wと\Wの境界、
1バイト文字と2バイト文字の境界、句読点の前後程度には区切って
表示させられるようになりました。
ブロックの書式があるWikiって何がある?
とりあえず、TikiとVikiWikiにはあるようだが他に何かある?
>945
頼むから差分を開発サイトのWikiに張ってぇー
嫌です
そんな、殺生な〜
. /ヘミミミ/ ``'ー-.、,ヽ丶)ヽ、
、. レ"ヾヘミミ/ ヽソノ;、ヾi
_ヽlヾミミミン -zュ、、 ´ ';ソ:|
i A;ヽミミゾ ,__,.、,、,..,、、.,、,、、..,_ /i
| | iミミソ ヽ;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
| ヽiミソ ''、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄ /i
゙iー:ソ ,、-' |ヽ,;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
ノソ ` = _, | '、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
. "! ,.r===;-、, ` '′ ,'
ハ. / ヽ、 ヽ,) ノ
,r'イ ', l!、 ゙i ./ ,.'
. i | ', iゝヽ..ノ,イ /
. !│ ヽ ゝ.二 '´ /.│
. ! | ヽ / !、 それが、VIPクォリティ
. | | >‐‐ァ" | \
http://ex7.2ch.net/news4vip/
そろそろ次スレキボンヌ
# ▽▽▽▽
- my @msg1 = split(/\n/,$wiki->get_page($pagename));
- my @msg2 = split(/\n/,$wiki->get_backup($pagename,$generation));
+ my($m1)=Util::escapeHTML($wiki->get_page($pagename));
+ my($m2)=Util::escapeHTML($wiki->get_backup($pagename,$generation));
+
+ sub c_d_t_d
+ {
+ my($s)=shift;
+
+ $s=~s/\n\n/\n\0\n/g;
+ $s=~s/\n/\n\r\n/g;
+ $s=~s/\b/\n/g;
+ $s=~s/&\n(\w+)\n;/&$1;/g;
+ $s=~s/ /\n<!--EnSpc-->\n/g;
+ $s=~s/ /\n \n/g;
+ $s=~s/、/\n、\n/g;
+ $s=~s/。/\n。\n/g;
+ $s=~s/・/\n・\n/g;
+ $s=~s/(/\n(\n/g; $s=~s/)/\n)\n/g;
+ $s=~s/「/\n「\n/g; $s=~s/」/\n」\n/g;
+ $s=~s/『/\n『\n/g; $s=~s/』/\n』\n/g;
+ $s=~s/&/\n&/g;
+ $s=~s/([:;]+)/$1\n/g;
+ $s=~s/([[\]]+)/\n$1\n/g;
+ $s=~s/([\x01-\x7f]+)/\n$1\n/g;
+ $s=~s/\n\n/\n/g;
+ return $s;
+ }
+
+ my @msg1=split(/\n/,&c_d_t_d($m1));
+ my @msg2=split(/\n/,&c_d_t_d($m2));
# △△△△
# ▽▽▽▽
- return "<pre>".Util::escapeHTML($diff_text)."</pre>";
+ $diff_text=~s/\r/<\/p>\n<p>/g;
+ $diff_text=~s/<\/del><del>//g;
+ $diff_text=~s/<\/ins><ins>//g;
+ $diff_text=~s/\0<!--Ret-->/<!--Ret-->/g;
+ $diff_text=~s/\0/<span class="Spc">↓<\/span><!--Spc-->/g;
+ $diff_text=~s/<!--Ret-->/<span class="Spc">↓<\/span><!--Spc-->/g;
+ $diff_text=~s/<!--EnSpc-->/<span class="Spc">_<\/span><!--Spc-->/g;
+ $diff_text=~s/<\/span><!--Spc--><span class="Spc">//g;
+ $diff_text=~s/<!--Spc-->//g;
+ return '<p class="Note DiffNote">※'
+ . '削除された箇所は<del>この表示</del>で、'
+ . '追加された箇所は<ins>この表示</ins>です。</p>' . "\n"
+ . '<div class="Diff">' . "\n"
+ . '<p>' . $diff_text . '</p>'. "\n"
+ . '</div>';
# △△△△
# ▽▽▽▽
- $diff_text .= join('', map { "-$_\n" } splice(@diff_deleted));
- $diff_text .= join('', map { "+$_\n" } splice(@diff_added));
+ $diff_text.=join('',map{ &d_d_t_s($_) } splice(@diff_deleted));
+ $diff_text.=join('',map{ &d_a_t_s($_) } splice(@diff_added));
}
+
+ sub d_d_t_s
+ {
+ my($s)=shift;
+
+ $s=~s/\r/<!--Ret--><\/del>\r<del>/g;
+ $s="<del>" . $s . "</del>";
+ $s=~s/<del><\/del>//g;
+ return $s;
+ }
+
+ sub d_a_t_s
+ {
+ my($s)=shift;
+
+ $s=~s/\r/<!--Ret--><\/ins>\r<ins>/g;
+ $s="<ins>" . $s . "</ins>";
+ $s=~s/<ins><\/ins>//g;
+ return $s;
+ }
# △△△△
# ▽▽▽▽
- #$diff_text .= "=$msgrefA->[$a]\n";
+ $diff_text.=$msgrefA->[$a];
# △△△△
>>947 以上はDiff.pmの改造です。
PHP に ediff ってないかな ( Perl には Text::ediff がある )
>>956 親フォルダごとクラッシュしますた・・orz
pukiwiki
paintプラグイン使えてますか?
ちゃんとjarファイル入れても使えない
アプレットの部分が灰色になったままなんだけおd
sleipnir + j2re 142
>>959 その環境で、他サイトのアプレット等はちゃんと見えてる?
FSWikiのサイト落ちてる?
MoinMoin使えよ
日本語名の問題と パラメータの受け渡し方とかの問題は別の問題だと思う
&や?が使えるかとかは URLエンコードをちゃんとすれば問題ない話だけれど
(特にUTF-8とかを使ったとき)ページ名(=>URLも)が以上に長くなるのが嫌って話とか
パラメータを渡すのに&や?を使うと検索エンジンがひろってくれ難いから嫌だとかって話とか
ごっちゃになっている気がしないでもないけど・・
日本語ページ名でURLが長くなる問題なら・・
>>964の番号というか・・w
エイリアスのような機能や、ページ名とタイトルを別に扱うような仕組みがあればいいんだと思う
967 :
964:05/01/21 12:50:50 ID:???
wiki.cgi?形式にしておいて、mod_rewriteで後者の形式も使えるようにしとけ。
sakura.ad.jpでmod_rewriteが使えないのは知らん。
URLに日本語を入れると、強制的にエスケープされると思うよ。
wikipediaはUTF-8エンコードには対応してるから、IEとかOperaからは直接入力で見にいけるけど、
win版Mozillaはeucかなにかでエンコードするから、ページ名が化けて見にいけない。
まったく新たに作るのであれば書き方法は?
[[テスト@test]]
と書くと、
wiki.cgi?page=test
でリンクが張られ、アクセスできるようにする、という方法。
@ の部分は > でも :: でも何でもいいです。
ファイル名に連番って実装は あんまり想像できないんだけど
ハッシュドWikiやwemaのような ページの中の細かい単位のものを
個別にファイルに収めるとか 声のかけらのようなものを実装するなら
番号という選択肢も頭に浮かぶんだけど・・
まぁ、それはそれ・・w
連番使うとページ名と1:1保証されないってのもよくわからないけど・・
一度ページを削除してから新たに別のページを作ったとき 空き番号でファイルを作成
したりすると、誰かがリンクした古いページのURLで違うページにとかって話なのかな。
私個人的には 連番を使うなら、新規ページは現存最大番号+αで作るとか
ハッシュで同一(番号)ファイル名を作らないようなアルゴリズムを考えるとか
まぁ・・ それもいいやw
入力しても強制的にエスケープ?
ブラウザのURL入力欄に直接入力するときの話?
ウィキペディアも日本語名のページはURLエンコードされてるけど?
972 :
966:05/01/21 14:53:54 ID:???
アドバイス&突っ込みありがとうございます。
>>968 できるだけ幅広いサーバで、単純に動くようにしたいので
サーバ依存の mod_rewrite はできるだけ避けたい方法です。すいません。
>>969 なるほど、ブラウザ依存な部分もあったんですね。
しかしそうすると、日本語URLの使用はますます危うい……
>>970 いくつかの文法パーサを組み込めるようにする予定なので
使う文法によっても変わってくるかもしれませんが……
標準では [[テスト|test]] 、あるいはMarkdown風に [[テスト]](test) と。この二つ。
>>971 > 実装
現時点では、「新規ページは現存最大番号+αで作る」実装になっています。
新しいページを作ると、そのページの本文を「rw_0001.wiki」というファイルに書き込み。
ページ名と連番の対応は別のデータファイルで記録。
> ウィキペディアも日本語名のページはURLエンコードされてる
Operaではエンコードされず、完全に日本語ままで扱えるようです。
いや、だからさ・・w
じゃぁさ アドレス欄に日本語を入れたときって その日本語コードは何として扱われるわけ?w
サーバーに日本語ファイル名でHTMLのファイルを置いたときに
サーバーに置いた日本語ファイル名の日本語エンコードと
ブラウザ毎に アドレス欄に日本語を直接入力したときの動作を色々試してみたら?w
ようするに、アドレス欄に日本語を直接入れたときの動作なんてブラウザ依存でしかないし
そのブラウザ依存だって おそらくはアドレス欄に入力された日本語を適当に
(そのブラウザ固有の)エンコーディングで扱ってるだけなんじゃないかな
(よく知らないけど たぶん)URL(URI?)の規格として日本語を直接扱えたり 特定のエンコーディングを想定してたり
そんなことはないと思うし・・ね
で、最初にあげた例を最後に補足
パラメータと違って、ファイル名の場合はサーバー(ApacheやIIS)がファイル名をどう扱うかも
関わってくるとおもうから CGIのパラメータとしてのURLとは例としてふさわしくないところもあるんだけど
ようするに、そこらへんの変換やエンコードは結局ブラウザ依存でしかないんじゃないかって話ね
>>973の補足
もちろん ブラウザ固有で適当なエンコーディングとして扱った結果
アクセスするURLは そのエンコーディングで扱った日本語データを URLエンコードした
結果のURLにアクセスするんだろうし
アドレス欄の表記を日本語のままにしているのか URLエンコードして表示しなおすのかってのも
ブラウザ依存の話なんじゃないかと思う
上の少しだけ突っ込んだ話だけど、
href="
http://日本語" や アドレス欄に直接日本語を入力したときは
ブラウザが勝手に URL エンコードする。
そのとき、IE なら元のページの文字コードが何であろうとエンコード文字列は Unicode に、
Mozilla 系ならエンコード文字列は元のページの文字コードだか何か(確認してない、スマソ)になる。
Wikipedia の文字コードは Unicode なので IE ならそのまま日本語アドレスでも大丈夫だが、
Mozilla 系だと文字化けする事態になる。
つまりパラメータを受け取ったときにページ名の文字コードを判別すれば、
日本語 URL でも何とかなるんじゃないかと思うんだけど、実際できるかはわからないな。
Opera は UTF-8 でエンコードされた URL をデコードしてアドレス欄に表示しているってだけだよね。
でも、Shift-JIS、EUC-JP、ISO-2022-JP、UTF-8 のどれでエンコードされようが、きちんと認識してくれる
Wiki を見たことあるから、そういう実装をすれば良いと思う。
どれでエンコードされようがっていうのは
つまり、そのWikiでは ユニコード対応のnkfで ページ名を
対応するインターウィキ名のエンコードでエンコードしているという事じゃないのかな
インターウィキの話じゃないのかな・・
リンク(URL)内に記述された日本語を 何らかのエンコードになおすという話だとしたら
URLエンコードするときの日本語エンコーディングに何を選択するのかの情報を
いったいどこから入手するのだろう・・
リンク先のページの文字エンコーディングを判別?
Wiki等の パラメータとして日本語を受け取るCGIの場合なら
URLのエンコードとページのエンコードは おそらく 一致しているからそれでいいのかもしれない
だけど、実際のファイルのファイル名が日本語ファイル名で
その日本語ファイル名のエンコードと
そのファイルの中身のエンコード HTTP-EQUIVの charsetが一致する保証もないわけだし・・
あ・・
Wiki側で URLで渡されたページ名を
いったんURLデコードした後に
自分自身が扱うエンコーディングにnkfで変換するって話なのかな
ファイル名、あるいはURL内のページ名に番号という選択肢は私的には避けたい選択肢のひとつなんだけど
cvsやrcsを使う場合にファイルシステム上にデータファイルを保存する事になるので
SQL等を使ってデータを管理するなら、データのテーブルとして、
ページ名やページデータの他にページ番号をiノードやFAT番号の変わりのように
使うのもありだなぁ・・ と思ったw
まず半角を使え。
ぼくのWIKIも開発していいですか?
983 :
981:05/01/22 00:34:44 ID:???
以下ループ
で、新スレは?
986 :
972:05/01/22 02:21:02 ID:???
>>973-976 アドバイスありがとうございました。とても参考になります。
要するに、日本語URLの処理にはブラウザ依存な部分が大きいので
とりあえず一通りの文字コード(SJIS、EUC、ISO-2002-JP、UTF-8)に対応させるぐらいしか
解法がない、と。
ひとまずその方向で実装してみることにします。
# ただ、Rubyを使ってるのでUTF-8への対応がネックに。
>>980 ページ名を半角英数のみにすれば、全てがすっきりすることは確実なんですが
1.別ページへのリンクを張るときに厄介
2.ページ名からページの内容を連想しづらい(特に一覧表示のとき)
という問題が。
ちなみにIEではインターネットオプションの詳細設定で
「常にUTF-8としてURLを送信する」
というオプションが存在する。
漏れのとこでは このオプションは触っていないが
チェックされた状態になっている。
おそらく、IE6なら デフォルトではこのオプションがチェックされた状態っていう事だろう。
>>986 migemoの応用でなんとかならんかな?
とてきとーに言ってみた
989 :
986:05/01/22 16:05:12 ID:???
>>988 Ruby/Kakasi あたりを使えば、似たようなことは出来そうなんですが
日本語←→ローマ字の変換精度に疑問があるのと
1:1対応が保証されない問題(hasiは橋? 端?)のために
Wikiの上で使うにはちょっと……。
+ ;
* ☆_+
: , xヾ:、__,..-‐‐:、、,へ___.ィ/~~~' _ テテテテ・・・
く '´ _/ /  ̄`ヽ}
/0:》@ i(从_从))
= {o:::: ||ヽ|| ゚ -゚ノ|
':,:::::::::::つ:::::::つ
= ヽ、__;;;;::/
し"~(__)