nDiki : WikiForum
WikiForum - Wikiフォーラム / Wiki Forum
スポンサード リンク
Related term
2004年2月7日 (土)
■ [ WiKicker ] 複数のキーワード集合による、AutomaticLink

WiKicker の Wiki間連携の強化(および開発中の DiKicker との相互連携)のために、 AutomaticLink を実現しているtrieによるキーワード抽出クラスを拡張する。
本来は一つの trie に属性付きでキーワードを登録して lookup するのがよいのだろうが、
- キーワード集合に優先順位をつけたい (最長でなくても、キーワード集合の優先度の高い方に含まれるキーワードを優先して使用する)。
- 既存の(単独集合用の)クラスも性能低下させずに維持したい
ということでもっと簡単に実装。 単純に複数の trie を作って、それぞれ順番にキーワード抽出(2番目以降は先のキーワード抽出でマッチしなかった部分文字列に対して適用)するというようにした。 キーワード集合が増えるとどんどん遅くなるが、2つぐらいだったら耐えられるかな。
@ 抽出した語のリンク先
通常の AutomaticLink はその WikiForum 内のページにリンクされるのだが、例えば他のWikiForum の WikiName 集合を第2キーワード集合とした場合はその WikiForum 内のページURIに resolve する必要がある。
WiKicker の設定ファイルでどうやって指定するようにするかな。 InterWikiDefinition で定義してある InterWiki にマップするのも手だな。
さらに一歩すすめて、 WRI (WiKicker Resource Identifier) に写像してしまえば InterWiki だけでなく、いろいろ活用の幅が広がるかもしれない。
- [ WiKicker ] 自動InterWiki (2004-02-09)
- WiKicker / DiKicker の AutomaticLink 長... (2007-03-01)
- 私的10大ニュース2003 (2003-12-31)
- [ WiKicker ] 日記機能開発開始 (2003-12-27)
- WiKicker でソフトウェアかんばん (2007-03-01)
2004年2月9日 (月)
■ [ WiKicker ] 自動InterWiki

一昨日実装した、 複数のキーワード集合による、AutomaticLinkモジュールを WiKicker CGI プログラムから使えるようにしてみた。
ローカルにおいておいたキーワードリストファイルを読み込み AutomaticLink 処理(WikiForum 内で AutomaticLink でマッチしていない部分文字列に対して)。 マッチした場合は InterWiki を使ってURIに変換しリンク化する。
あわせてIndexPage.txtでWiKicker WikiForum 内の PageName を取得できるようにした。
これで例えば、2つの WiKicker WikiForum が cron で互いの IndexPage.txt を定期的に取得し、AutomaticLink するようにすれば、相補的に連携する事ができるようになる(ただし AutomaticLink のみ。WikiName や BracketName は依然としてその WikiForum 内のみ)。
AutomaticLink でのリンク先は(指定した)任意の InterWiki で定義できるので、あるキーワード集合について Google の検索結果ページや「はてなダイアリーキーワード」への自動リンクも実現可能(はてなダイアリーキーワード自動リンクAPIはキーワードリストではなく正規表現を返してくるので、元に戻す必要有り。またあれだけ巨大なキーワードリストだと毎回 AutomaticLink のために、trie 再生成するのも辛いのでもう一工夫必要)。
- [ WiKicker ] 複数のキーワード集合による、AutomaticLink (2004-02-07)
- [ WiKicker ] 憧れのサイドバー (2004-01-23)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- はてなダイアリーキーワード自動リンクAPI (2004-02-05)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
2005年4月19日 (火)
■ 最後がピリオド(.)で終わるファイル名をつけられない

Windows で「最後がピリオド(.)で終わるファイル名」を新規作成する。 最後のピリオド(ドット)が無くなる。
……。
8.3形式の名残なのか? Explorer 上で作成しても、プログラム(Perlスクリプト)から作成しても駄目。
環境は Windows XP Home Edition SP2 + NTFS。 Windows 2000 + NTFS でも同様。
@ WiKicker
これは WiKicker のテストをしていて気がついた。 WiKicker では「PageName の base64 を生成し 『/』 を 『.』 で置き換えたもの」をファイル名にしている。 例えば UTF-8 で「タ」は
44K/
となるので、ファイル名は 「44K.」となる。 で最後の文字が消えてしまうので、デコードするとおかしくなると。
これを機会に Windows 環境でのエンコーディングは RFC3548 「4. Base 64 Encoding with URL and Filename Safe Alphabet」を使うように変更するか。
本当は全てこれに変更したいのだけれど、すでに動いている WikiForum の事を考えると移行は難しいかも。
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 実装 (2002-10-20)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
2005年9月13日 (火)
■ [ WiKicker ] hell mode - HTMLタグ付けブロックの導入

WiKicker では、直接 WikiPage にHTMLタグを記述して表示に反映させる機能を提供していない。
@ HTMLタグ付けを許すのは嫌だ
HTMLタグ付けを許すと
が起きやすくなるし、ページのソースの単純さが大きく失われてしまう。 レンダリングしてHTMLにした時に、正しいHTMLを出力されることを保証することが困難になるとともに、HTML以外へのレンダリング/コンバートもかなり難しくなる。
この機能を導入すると、Wiki の良さの半分(あるいはもうちょっと沢山か、もうちょっと少なめ)が失われてしまう。
@ でも
とはいえ欲しいという声があることも事実。 オープンな WikiForum では全くお勧めできないが、閉じたユーザグループの中ではまぁ必要悪なのかもしれぬ。
また正直ちょっとした表現を追加したい時に、WiKicker 用のプラグインを書くのも面倒だというのは確かにある。
WiKicker では開始・終了マーカによる複数行にまたがるブロックを表すための文法は(閉じ忘れを避けるため)意図的に排除してある。 このため、複数行にわけて書きたいような長いデータを扱うような拡張も導入しにくい。
ちょっと手抜きして「生HTML書けちゃえば」という誘惑はなくはない。
@ 大人の事情
ということでまあ自分に言い訳をしつつ、標準ではオフというかたちで HTMLタグ付けブロックを導入することにした。 スイッチは hell mode とかにしたい (今回は syntax.html というプロパティ名にしたけれど)。
記法は単純に、
normal wiki syntax text... <html> html tagged text... ... </html> normal wiki syntax text...
のように行頭が <html> である行から、行頭が </html>である行までをHTMLタグ付けブロックとすることに。 このため、<html>ではじまる段落が書けなくなるという小さな非互換が発生するが、いたしかたない。
@ サニタイズ
HTMLタグを直接使えるようにするとはいえ、全てを許してしまうのはあまりに危険で非人道的すぎる。 有効なHTMLタグや属性は限定的であるべきだ。
このあたりの処理は面倒だが、幸いにしてCPANにモジュールがある。 今回は HTML::Scrubber を使うことにした。 HTML::Parserを使って parse し、指定したルールに従ってサニタイズしてくれる。
ちょっと使ってみた範囲では日本語(UTF-8、UTF8 フラグなし)でも問題ないようだし、文法的に正しくなくてもきちんとサニタイズできているようだ。
ということで、これを採用することに。
どの要素・属性を許すかはまだきちんと決めかねる。 当面は様子をみながら、調整していく予定。 サニタイザは設置者が置き換えられるようにプラガブルにしておかねばならないな。
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- [ WiKicker ] form/list の paragraph から... (2003-05-03)
- Wikiの文法の標準化 (2004-02-10)
- 無制限 HTML タグ付けブロックを使って nDiki に Google ... (2007-08-23)
2005年10月20日 (木)
■ 社内で Wiki やっとブレイク?

社内に WikiForum を作ってからもう3年ぐらい経っている。 現在動いている社内サーバ上で、WiKicker でサービスを開始してからももう2年半ぐらい経つ。
必要な時に閲覧はされていたみたいだけれど、実際に編集までする人はあまりいなくて、自分のチームのメンバぐらいであった。
しかしここにきてようやく啓蒙活動が実ってきたのか、昼休みに話題になって数人がちょっと編集しはじめた。
やはり勝手に編集していいかどうかのタメライが最初はあるようだな。 その辺りの周知不足であったか。
- [ WiKicker ] 複数のキーワード集合による、AutomaticLink (2004-02-07)
- [ WiKicker ] 自動InterWiki (2004-02-09)
- 「s」文字をキー入力できない WikiEngine (2006-05-24)
- 社内 Blog 開設 (2006-05-16)
- [ WiKicker ] hell mode - HTMLタグ付けブロックの導入 (2005-09-13)
2007年1月13日 (土)
■ [ WiKicker ] spam と検索エンジン対応に noindex、nofollow を追加

@ <a rel="nofollow">
相変わらず www.naney.org 上の WikiForum (NaneyOrgWiki) にも毎日のようにリンク spam 書き込みがある。
気がつき次第削除と、その URL や関連キーワードの書き込み禁止文字列ブラックリストへの登録を行っているが、手間でしょうがない。
これらのリンク先に貢献するのは腹立たしいのでリンク (A 要素)へ
rel="follow"
属性をデフォルトで設定するように WiKicker を書き換えた。 ようやく。
@ <meta name="robots" content="noindex,nofollow">
あわせて、検索エンジン対応もしていおくことにした。
編集ページや履歴ページは検索エンジンに登録してもしょうがないので、インデックスから除外されるように HTML の HEAD に
<meta name="robots" content="noindex,nofollow">
を追加するように修正。
クエリ付きの URL のページで noindex した場合、クエリ無しや他のクエリを持つ URL のページまで一緒にインデックスから外されてしまわないかちょっと心配で、今まで保留にしていたのだけれど、Wikipedia などを見ても大丈夫のようだ。
[ SEO ]
- DiKicker の出力する HTML コードを小さく (2006-10-05)
- Wiki ではロボット除けをしてはいけない (2007-01-21)
- DiKicker に grep 検索機能を追加 (2007-02-02)
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- WiKicker における PageName 最長文字数 (2006-06-10)
スポンサード リンク
■よく検索されるキーワード
perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 15.128249s / load averages: 0.18, 0.18, 0.16
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク