Wiki

シンタックス・ハイライト

ソースコードのカラーリングできたらいいよね, みたいな話があって 言語毎に専用のパーサを用意するのか, それとも単に文とか式とかスペースだけで判断して 1個のパーサでまとめてやろうかとか考えていたのだけど, どっちもあんまりいい方法では ない気がし…

リンク記法拡張

久々にソースコードを見たら何が書いてあるのか全くわからなかった, なんてことは 随分前に卒業したつもりだけど, その昔書いたSTGのコードが未だに誰も読むことができない 状態なのはとりあえず置いといて下さい。 リンク記法はとっくに実装していたんだけ…

続・mailto記法

id:cubicdaiya:20060801の続き。mailto記法だが, 勉強が一通り終わった後にPHPポケットリファレンスを見ていて 実はちょ〜簡単にできることに気が付いた。 private function createMailTo(){ $reg = '/^([a-z0-9_]|\-|\.|\+)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6…

mailto記法

さっき院試の出願用書類を書き終わったのだけど, 80円切手やら成績証明書やら いろいろ用意しないといけないので結構めんどくさい。とっとと行こう。・・・と思ったけど, 関数1個ぐらい書いてからでもいいだろうと思ってmailto記法を実装。mailto:cubicdaiya…

include記法

ほかのファイルをincludeできる記法とかあったら便利かも?と思って作ってみた。 元々, ViewにはSmartyをフル活用してるのでSmartyのinclude関数を利用して実装。id:test;file:test.tplと書くと, <div id="test"> {-include file="test.tpl"-} </div>に変換。コードは以下のような…

テーブル記法

中間発表の終わって気が楽になったので気分転換のついでに書いてみた。 ,1-1,1-2,1-3 ,2-1,2-2,2-3 ,3-1,3-2,3-3を <table border="1"> <tr><th>1-1</th><th>1-2</th><th>1-3</th></tr> <tr><td>2-1</td><td>2-2</td><td>2-3</td></tr> <tr><td>3-1</td><td>3-2</td><td>3-3</td></tr> </table>に変換。 public function createTable(){ $in_table_flag = false; /…

Text_Wiki

前から言ってるWikiパーサはPHP(Rubyでもよかったと思ってる)で書いてて, 2日ぐらい前に気づいたんだんだけど, PEAR(PerlのCPANのようなもの)に Text_WikiっていうWiki用モジュールが既にあった。とりあえずソースを眺めてみたんだけど, どうももっさりして…

Wikiパーサその2

とりあえず, 「見出し」, 「引用」, 「リンク」, 「コメント」, 「リスト」, 「番号付きリスト」を解釈できるようにしてみた。何気に「リスト」が一番苦労した。 後は割と楽。

Wikiパーサ

今, Wikiパーサを書いてるんだけど, 単に書くだけならそんなに難しくない。 で, 当り前だけど拡張性とか柔軟性を意識して設計するのって大切だよなあと改めて思った。ここの大家さんみたいにブログサービスとかやってるところだと, ユーザが簡単に設定を変更…