nDiki : WikiName

WikiName

WikiName とは「WikiName」のように大文字で始まり小文字が続く単語を2つ以上並べたもの。

多くの WikiEngine では、自動的に WikiPage への参照(リンク)になる。

WiKicker の場合

WiKicker では、WikiName を / で連結したものも自動的に参照になる。

関連情報

スポンサード リンク

2002年9月20日 (金)

Wiki

最近 NaneyOrgWiki も少しづつではあるがページ数が増えてきた。

検索の重要性

TheWikiWayをとりあえず一通り読み終えて「検索」機能を随分重視しているなぁと思ったのだが何となくわかってきた。

ある程度ページ数が増えてくると、index 機能は使いにくくなってくる。 ページ数が少ないうちは中身も把握しているし IndexPage のリストも短いのでそこからピックアップするのも容易である。 検索フォームにいちいちタイプするより楽。 が、IndexPage が長くなると目で追いかけて探し出すのも面倒になってくる。 そうすると、俄然検索の方が楽になってくる。

WikiPage のページ名は「そのページ名での検索」にリンクされているので関係するページに2クリックでジャンプできる。 新規にページを作成した場合もこの検索を行って、必要に応じて他のページからきちんとリンクになっているかをチェックしたりできる。

カテゴリ

本家 WikiWikiWeb ではページのカテゴリ化も、検索を使って擬似的に実現している。 「ほにゃらら」カテゴリとしたいページには「Categoryほにゃらら」という WikiName を書いておく。「ほにゃららカテゴリ」のページから「Categoryほにゃらら」の一覧へは、

  1. 「Categoryほにゃらら」をクリック
  2. そのページのタイトル「Categoryほにゃらら」をクリックして、その文字列の含まれているページを検索

と2クリックで到達。

InterWiki をうまく組み合わせれば、1つのリンクでページのカテゴリ指定しつつカテゴリ一覧(検索結果)へのリンクも可能。カテゴリ:ほにゃららのリンク先が'カテゴリ:ほにゃらら' という文字列を検索するページになるような InterWiki の定義をしておけばよろし。

階層ページ名

ページ数が増えて、検索機能が主役になってくると果たして「階層ページ名」はどうなのかな? とりあえず多義語を別ページに分けられるというメリットはある。 ただ、DanglingLink から新規作成されるページは、通常階層化したページ名じゃないから必要に応じて移動しなければならないんだよね。

階層ページ名の有効性は今後の成行きを見るという感じ。

text 整形出力

仕事場に Wiki を入れて情報を入力したりすると、すぐ欲しくなった機能が。

  • 整形された plain text 出力機能

入力してある WikiPageメールとかにコピーしたい場合は、plan text で適当に整形したものが出力できると嬉しい。

今の WikiEngineWikiPage のパーサとHTML フォーマッタが一体となっている。 まずはこれを分離して、HTML、テキストそれぞれの Builder を作るとするかな。

スポンサード リンク
[ 9月20日全て ]

2002年10月19日 (土)

WikiEngine 開発開始

YukiWiki2 をベースにちょこちょこいじってきた NaneyOrgWiki であるが、コードもこみいってきた。そろそろ、フルスクラッチしたくなってくる季節。

ということで、さっそくコーディング開始。 名前は WiKicker研究社の新和英大辞典をめくりつつ、

  • WikiName になり、
  • 'Wiki'、またはそれに準ずる名前で、
  • 既出でないもの。

kicker はいわゆる、「蹴る人」という意味以外に、

  • 批判家
  • 船外機 (WikiEngine と エンジンつながり)
  • 刺激を与えるもの (Wiki って刺激的?)
  • 以外な難点、思わぬ何問題

なんていうのもあって、まそれなりによさそげだし。 Kicker ならアイコンを作ろうと思った時に抽象的でないから作りやすそうというのもメリット。 地肌に優しい。 ただし手がまだ覚えていないのでつい、WiKicler とミスタイプしてします。

WiKicker への移行の主なポイントは、

あたり。

[ 10月19日全て ]

2002年10月21日 (月)

NaneyOrgWiki 改良

WikiEngine開発にははいったけれども、稼働するのはずっと後になりそうなので、今使用している engine もまだまだ手を入れて遊びます。

DanglingLink の強調

WikiName と違って[[, ]]で区切るページ名は DanglingLink の時に「どこまでが名前かわからない」かなと思い、 CSS で破線をつけるようしてみる。

shared lock の導入

今までは CGI スクリプトの最初で必ず exclusive lock をかけるというバカ lock だった。 これだと WantedPages のような時間のかかる処理のあるページにアクセスがあると、他のページの read が軒並み sleep させられてしまう。

なので、書き込みのないアクセス時には shared lock で flock するように修正。 これで read vs read でのアクセスが待たされたくなったはず。 それでも時間のかかる shared lock なアクセスがあると write 系のアクセスはやっぱりしばらく待たされてしまうのだけれど、write 系は頻度が低いから……。

[ 10月21日全て ]

2004年1月30日 (金)

word-break: break-all

NaneyOrgWikiサイドバーで、長いWikiNameを表示すると折り返すところがなくてはみ出ししてしまって見苦しい。

CSSword-break: break-all してみた。 IE6だと効く。 Galeon 1.3.11a だと駄目。

[ 1月30日全て ]

2004年2月7日 (土)

[ 2月7日全て ]

2004年2月9日 (月)

[ WiKicker ] 自動InterWiki

一昨日実装した、 複数のキーワード集合による、AutomaticLinkモジュールを WiKicker CGI プログラムから使えるようにしてみた。

ローカルにおいておいたキーワードリストファイルを読み込み AutomaticLink 処理(WikiForum 内で AutomaticLink でマッチしていない部分文字列に対して)。 マッチした場合は InterWiki を使ってURIに変換しリンク化する。

あわせてIndexPage.txtWiKicker WikiForum 内の PageName を取得できるようにした。

これで例えば、2つの WiKicker WikiForumcron で互いの IndexPage.txt を定期的に取得し、AutomaticLink するようにすれば、相補的に連携する事ができるようになる(ただし AutomaticLink のみ。WikiNameBracketName は依然としてその WikiForum 内のみ)。

AutomaticLink でのリンク先は(指定した)任意の InterWiki で定義できるので、あるキーワード集合について Google検索結果ページや「はてなダイアリーキーワード」への自動リンクも実現可能(はてなダイアリーキーワード自動リンクAPIはキーワードリストではなく正規表現を返してくるので、元に戻す必要有り。またあれだけ巨大なキーワードリストだと毎回 AutomaticLink のために、trie 再生成するのも辛いのでもう一工夫必要)。

[ 2月9日全て ]

2005年4月10日 (日)

Windows 上での Apache 2.0.53 では PATH_INFOシフト JIS

WiKickerWindows 上での動作確認の続き。 WiKickerPPM パッケージを作成して ActivePerl 5.8.6.811 上にインストール。 依存するモジュールで、ActivePerl に入っていないものは以下の通り。

既に手元で PPM パッケージ化済みなので、これもインストールしておく。

後は RCS をパスの通っているディレクトリに入れてタイムゾーンを設定。

 TZ=JST-9

CGI プログラムとして実行。 お、表示できた。 書き込みはと。

エラー

予想していたけれど、sendmail に依存していたところ。 sendmail が見つからない場合はメールの送信をスキップするように修正。

これでうまく動くかなと思ったら、日本語名のページを作るとうまく表示できない問題を発見。

PATH_INFOシフト JIS で渡される

WiKicker では UTF-8 文字列をURIエスケープして WikiPageURLを生成している。 このURIにアクセスされると WiKicker は、PATH_INFO から WikiName を取り出す。 この文字列がシフト JIS になってしまっている。

Windowsファイル名に使用する charset にあわせて、Apache が変換してしまっているようだ。 調べてみると他の WikiEngine でも同様の問題にあっているという記事が見つかった。

将来の 2.0 系でパッチが取り込まれて修正されるとか、そうでないとか。

現状どうするかなぁ。 WiKicker 側でシフト JIS から UTF-8 に戻すというのもできない事はないけれど、あまりやりたくはないな。 いったんシフト JIS を介しているという時点で、シフト JIS に無い文字の扱いに関する問題をかかえてしまっているし(Apache が)。

対策案:

  • Apache 1.x 系を使う (まだ未確認だが、こちらだと勝手に変換されないらしい)
  • WiKickerPATH_INFO を使わないオプションをつける(URI Query Component は勝手に変換されない)
  • WiKicker 側でシフト JIS から UTF-8 に変換する
[ 4月10日全て ]

2016年10月26日 (水)

ようやく日記システム DiKicker のメンテナンス開始

この日記(nDiki)で使っている自作日記システム DiKicker開発し始めたのが2003年12月末なのでもう13年物だったりします。ここ最近大きなメンテナンスはしていなかったのですが、まだこの先10年以上使えるように手を入れることにしました。一昨日から着手。

やりたいこと

  • もともと WiKicker (WikiEngine) からの派生で作ったのでが WiKiEngine の方は使わなくなったので、不要なコードを削除したい。共通部分をスーパークラス化してあるけれどもここもまとめたい。
  • WikiName の特別扱いをやめたい。
  • Perl 5.005_03 でも動くように Perl v5.8.0 未満かどうかで処理を変えているけれども、もう 5.005_03 用のコードは消したい。
  • データを Berkeley DB にトリッキーな形で入れているので SQLite あたりに変えて簡単にしたい。
  • 最終的には Go で書き換えたりして。
[ 10月26日全て ]

2017年1月3日 (火)

WikiName の特別扱いをついに停止

この日記日記システム(DiKicker)は WikiEngine からの派生で作られた生い立ちをもっていて、現時点でも WikiName を特別扱いし自動的にそのキーワードへのリンクになるようになっていました。今日はコードを修正してその特別扱いをやめることにしました。

実装ですがまず WikiName を先に抽出し、そのあとに他のキーワードを AutomaticLink するようになっていました。このため例えば MacBook Pro という文字列はまず MacBook という WikiName として抽出されてしまうため MacBook Pro という文字列で自動的にリンクさせることができていませんでした(それだと困るので明示的に BracketName で書いていました)。

WikiNameWikiWiki というコンセプト的に良いものでしたが AutomaticLink実装している日記システムではもう不要な表現です。

ようやく重い腰を上げて今回のコード修正となりました(いじったのは数行なのですけれども)。

今日のさえずり: 正月なのでお昼はカレー

2017年01月03日

  • 12:02 WikiName の特別扱いをついに停止。
  • 13:36 正月なのでお昼はカレー。
  • 14:46 年賀はがきを買いに本局まできた。
  • 19:33 自分の環境だと Jota+ Connector for Dropbox V2 で開いているファイルの自動保存が失敗しがちなので自動保存オフにしてみた。
  • 23:22 iThoughts の Windows 版が出る! / “iThoughts for Windows Beta Signup — toketaWare” http://bit.ly/2hLuTFl
[ 1月3日全て ]

2017年1月4日 (水)

年末年始にやったこと 2017 【日記】

rimage:/nDiki/2017/01/04/2017-01-04-104527-nDiki-800x1200.jpg

元日に出掛けたら例年より長い列だったので拝まずに帰ってきた神社にあらためて初詣に行き、あわせて図書館にも行ってきた7連休最後の日。去年は11連休だったのでちょっと短めの年末年始でした。過去3年「年末年始にやったこと」を書き出しているので今年もふりかえってみます。

電車に乗って出掛けたのは今日ぐらい。昨年同様日記まわりやデータの整理が中心でした。昨年の年末年始Day One をやめて Evernote に集約することにしたのですが、その後テキストファイル化を決めたため日記データが3箇所に分散している状態になっていたのですがこの年末年始でまとめることができかなりすっきりしました。

[ 1月4日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・PO をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.105938s / load averages: 0.57, 0.47, 0.41
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker