Wiki
http://www.hyuki.com/tropy/ また結城さんがおもしろそげなものを… Wikiぽいけど、「リンクを繋げる」というWikiの発想とは全く逆の発想で作られたWikiもどき。結城さんの説明は、http://www.hyuki.com/d/200511.html#i20051103183338 にあります。 ユーザ…
http://espion.just-size.jp/files/js/smemo/ これには可能性を感じる。入力したWiki記法がリアルタイムに画面に反映されていくのはとても気持ちいい。検索ベースなのも○だし、Ajaxでさくさく動いてくれるのは嬉しい。基本的に入力した文字は適当なタイミン…
http://rakusai.org/nota/ お。ついにきましたか、Flashを使ったWiki。けっこう前の話みたいだけど今日はじめて知りました。未踏に採択されてたんですね。なんでもありだな、未踏。 ウェブブラウザ上に直接文字を書いたり、手書きで線を描いたり、絵を貼り付…
http://cake.dyndns.org/sociewiki/index.php?mod=Top SNS寄りの性格を持った、ユーザー登録ありきのポータルつきWikiとしてSourceForgeにて開発中です。 製作目標は「コミュニティの運営に特化したWikiEngine」 とのこと。なかなかおもしろげ。でもやっぱ、…
マジックナンバーやらマジックファイル名やらをwishi_config.rbに分離して、sourceforgeの片隅にUP. http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/rego/playground/wishi/ からとれます。 ドキュメントはいっさいなし。ソースが(ry動かすのに必要なもの r…
つけた。 引用は、>>と<<のペアで、preは>と<のペアにしてみた。racc定義が大変なことになっているけど、最後に載せておく。長いので覚悟してください。 class WikiParser token ITEM_1 ITEM_2 STRING NEWLINE TABLE DL SECTION PRE_BEGIN PRE_END BQ_BEGIN …
はてなと同じように、URLらしき文字を書いたら自動的にリンクになる処理を追加。 最初 URLの正規表現を探してたんだけど、URIライブラリのURI.extract(str[, schemes])*1を発見して、さくっと活用。便利だなあ。 これで、リンクも満足。あーあと、引用と整形…
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ではページ名とは独立にidでページを管理しています。なのでタイトルは変え放題ですが、タイトル変えたときもリンク関係が崩れないように内部的にはリンクをidで保持しています。 内部的にはそれでよいのですが、ユーザーが編集しようとした…
http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?1%2E5%B7%CFDIV%B9%BD%C0%AE%BF%DE を眺めて設定しないといけないclassを探る。日付のところにページ名いれればいいか。ツッコミはいまんとこ考えてないので無視。サイドバーも嫌いなので無視。tDiary…
上記のRACCで生成されたparserを通すと、Wiki記法で書いたテキストが入れ子の配列に落ちます。 配列の最初の要素には、要素の種類を表すシンボルが、二番目からは種類によって異なるデータが格納されます。子要素が存在する場合には番目以降に配列がはいりま…
Wiki記法をえいやで実装することにする。 RACCを使わない。(時間かかりそうだから) 文字列をなんらかの中間構造におとす。 中間構造からHTMLを生成するのはあとまわし。 という感じにしよう。中間構造は、Nodeとかいうオブジェクトがいるとかっこよいかもし…
ううむ。Wiki記法どうしようかなあ。ぱちぱちパーサー書くのがめんどうだ。できればありものを使いたい。 Wiki記法からHTMLなり内部表現なりに変換してくれるライブラリをあさる。最近、Hatenaを常用していることもあってXHatenaMLを使おうかと思ったんだけ…
編集はid引数に加えて、command引数cにeditというのを与えることで呼ばれることにする。なんて安直。 ついでに新規作成もつける。次はWiki記法かな。とりあえずここでひと休憩。100行くらいになってしまった。 #!/usr/local/bin/ruby require 'webrick' requ…
これでバックエンドができたので、さっきのservletと組みあわせて表示だけさせてみる。引数idでページ番号指定にしておいて、何も指定がなければフロントページを表示。フロントページではあるページ一覧のリストを出す。その2でつくったやつを、wishi.rbと…
全体のデザインとしては、PageManagerシングルトンがidでページオブジェクトを管理し、ページオブジェクトは自分をHTML化する方法と自分のタイトルを知っているということにする。PageManagerをmadeleineでつつんで自動的にバックアップ。よし。というわけで…
今回、madeleineをページの保存に使いたかったので、プロセス常駐型なのは決定。webインターフェイスにはwebrickを利用。 servletにしたら軽くできるんでねえの?と甘く考えて、まずwebrickのservletの使い方を調べよう。http://www.webrick.org/のサンプル…
あまりに眠れないので、休みの2日間をつかってWikiをつくってみることにした。 素材は、webrickとmadeleine。場合によってはamritaかerb。Wiki記法は、とりあえず見出しとulとdlのみ。各ページをincludeして一枚のページにすることが可能。tDiaryテーマ準拠…