Wiki

Tropy (とろぴぃ)

http://www.hyuki.com/tropy/ また結城さんがおもしろそげなものを… Wikiぽいけど、「リンクを繋げる」というWikiの発想とは全く逆の発想で作られたWikiもどき。結城さんの説明は、http://www.hyuki.com/d/200511.html#i20051103183338 にあります。 ユーザ…

ScrapMemo

http://espion.just-size.jp/files/js/smemo/ これには可能性を感じる。入力したWiki記法がリアルタイムに画面に反映されていくのはとても気持ちいい。検索ベースなのも○だし、Ajaxでさくさく動いてくれるのは嬉しい。基本的に入力した文字は適当なタイミン…

Nota

http://rakusai.org/nota/ お。ついにきましたか、Flashを使ったWiki。けっこう前の話みたいだけど今日はじめて知りました。未踏に採択されてたんですね。なんでもありだな、未踏。 ウェブブラウザ上に直接文字を書いたり、手書きで線を描いたり、絵を貼り付…

SocieWiki

http://cake.dyndns.org/sociewiki/index.php?mod=Top SNS寄りの性格を持った、ユーザー登録ありきのポータルつきWikiとしてSourceForgeにて開発中です。 製作目標は「コミュニティの運営に特化したWikiEngine」 とのこと。なかなかおもしろげ。でもやっぱ、…

二日間 Wikiクッキング その12 Configクラスを追加 して こっそり公開

マジックナンバーやらマジックファイル名やらをwishi_config.rbに分離して、sourceforgeの片隅にUP. http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/rego/playground/wishi/ からとれます。 ドキュメントはいっさいなし。ソースが(ry動かすのに必要なもの r…

二日間 Wikiクッキング その11 引用(blockquote)と整形済み表示(pre)の追加

つけた。 引用は、>>と<<のペアで、preは>と<のペアにしてみた。racc定義が大変なことになっているけど、最後に載せておく。長いので覚悟してください。 class WikiParser token ITEM_1 ITEM_2 STRING NEWLINE TABLE DL SECTION PRE_BEGIN PRE_END BQ_BEGIN …

二日間 Wikiクッキング その10 外部リンクの処理

はてなと同じように、URLらしき文字を書いたら自動的にリンクになる処理を追加。 最初 URLの正規表現を探してたんだけど、URIライブラリのURI.extract(str[, schemes])*1を発見して、さくっと活用。便利だなあ。 これで、リンクも満足。あーあと、引用と整形…

二日間 Wikiクッキング 番外編 7行wiki

7行wikiスクリプトをバックアップから発見したので勢いではりつけておきます。 perlの7行Wikiをrubyに移植しただけ。 require'cgi';$c=c=CGI.new('html4');def t(f)File.mtime(f)end;def d(n)test(?e,n)end;def l(a)$c.script_name+'/'+a;end;r=/\b(([A-Z][a…

二日間 Wikiクッキング その9 リンクの処理

えーと、このWikiではページ名とは独立にidでページを管理しています。なのでタイトルは変え放題ですが、タイトル変えたときもリンク関係が崩れないように内部的にはリンクをidで保持しています。 内部的にはそれでよいのですが、ユーザーが編集しようとした…

二日間 Wikiクッキング その8 tDiaryのテーマ流用

http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?1%2E5%B7%CFDIV%B9%BD%C0%AE%BF%DE を眺めて設定しないといけないclassを探る。日付のところにページ名いれればいいか。ツッコミはいまんとこ考えてないので無視。サイドバーも嫌いなので無視。tDiary…

二日間 Wikiクッキング その7 HTML化

上記のRACCで生成されたparserを通すと、Wiki記法で書いたテキストが入れ子の配列に落ちます。 配列の最初の要素には、要素の種類を表すシンボルが、二番目からは種類によって異なるデータが格納されます。子要素が存在する場合には番目以降に配列がはいりま…

二日間 Wikiクッキング その6-B Wiki記法のparse

Wiki記法をえいやで実装することにする。 RACCを使わない。(時間かかりそうだから) 文字列をなんらかの中間構造におとす。 中間構造からHTMLを生成するのはあとまわし。 という感じにしよう。中間構造は、Nodeとかいうオブジェクトがいるとかっこよいかもし…

二日間 Wikiクッキング その5 Wiki記法編

ううむ。Wiki記法どうしようかなあ。ぱちぱちパーサー書くのがめんどうだ。できればありものを使いたい。 Wiki記法からHTMLなり内部表現なりに変換してくれるライブラリをあさる。最近、Hatenaを常用していることもあってXHatenaMLを使おうかと思ったんだけ…

二日間 Wikiクッキング その4 ページの編集ができるwiki編

編集はid引数に加えて、command引数cにeditというのを与えることで呼ばれることにする。なんて安直。 ついでに新規作成もつける。次はWiki記法かな。とりあえずここでひと休憩。100行くらいになってしまった。 #!/usr/local/bin/ruby require 'webrick' requ…

二日間 Wikiクッキング その3 表示だけできるwiki編

これでバックエンドができたので、さっきのservletと組みあわせて表示だけさせてみる。引数idでページ番号指定にしておいて、何も指定がなければフロントページを表示。フロントページではあるページ一覧のリストを出す。その2でつくったやつを、wishi.rbと…

二日間 Wikiクッキング その2 madeleine編

全体のデザインとしては、PageManagerシングルトンがidでページオブジェクトを管理し、ページオブジェクトは自分をHTML化する方法と自分のタイトルを知っているということにする。PageManagerをmadeleineでつつんで自動的にバックアップ。よし。というわけで…

二日間 Wikiクッキング その1 webrick編

今回、madeleineをページの保存に使いたかったので、プロセス常駐型なのは決定。webインターフェイスにはwebrickを利用。 servletにしたら軽くできるんでねえの?と甘く考えて、まずwebrickのservletの使い方を調べよう。http://www.webrick.org/のサンプル…

二日間 Wikiクッキング その0

あまりに眠れないので、休みの2日間をつかってWikiをつくってみることにした。 素材は、webrickとmadeleine。場合によってはamritaかerb。Wiki記法は、とりあえず見出しとulとdlのみ。各ページをincludeして一枚のページにすることが可能。tDiaryテーマ準拠…