2008年11月11日

BlognPlus用テキストフィルタモジュールのサンプル

BlognPlus でのテキストフィルタモジュールを作ろうという計画の途中経過。
基本的な部分は一年と十一ヶ月前にできているので、やることはそれほどないのだけど、いろいろ忘れていてまるで他人が作ったプログラムのようになってしまったコードを整理している最中。

主な仕様:
・BlognPlus の各記事毎に、どのテキストフィルタを使うかを指定できる。
・後からいくつでもフィルタを登録することができ、モジュールそのものを編集しなくても、指定のフォルダにインターフェイスを PHP で記述したスクリプトとPHPで記述されたフィルタ本体を放り込むだけで利用できる。
・標準で使うテキストフィルタを設定できる。BlognPlus は複数人での利用ができるので、この設定は各自のプロフィール設定ページでおこなう。
・データは変換前のソースを保存し、表示の時に各エンジンで変換する。
・(予定)ブログエディタから投稿すると、既定のテキストを適用する。もしくは、先頭行にテキストフィルタを指定する専用のタグを表記することで指定する。(2008.11.13追記)


現在利用可能なのは、Markdown (Extra)
これは、最初に作ったときから使っている。
例えば次のリンクのページで使っている。Juiceを日本語で使うための修正パッチ
一部分のソースを引用すると次のようになっている。
# 差分の適用の仕方

1. 公式サイトから、下のリンクを使って、juice-2.2.2-a1 をダウンロードします。
[juice-2.2.2-a1](http://sourceforge.net/project/showfiles.php?group_id=151000&package_id=166847&release_id=432902)

2. パッチを次のリンクからダウンロードします。
[juice-jp.001.exe](http://et-dev.main.jp/index.php?plugin=attach&pcmd=open&file=Juice-jp.001.exe&refer=%C6%FC%CB%DC%B8%ECjuice)

残りはまだ実験中:
Textile は、以下の記述が次のページのように表示される。
Simple list:

#{color:blue} one
# two
# three

Multi-level list:

# 壱
## aye
## bee
## see
# 弐
## x
## y
# 参

Mixed list:

* Point one
* Point two
## Step 1
## Step 2
## Step 3
* Point three
** Sub point 1
** Sub point 2

http://www.textism.com/tools/textile/index.php
のサンプルコードの一部を日本語が使えるか改変。
Textile テスト

modPukiwikiを使ったテキストフィルタは、
(いくつか問題点を改善したので 2008.11.13更新)
* 目次
#contents

* テスト
-a
-b
--1
--2
-c

> あいうえお
> かきくけこ


* 天気図
&tenki;

* 解説

modPukiwikiを使用。
とりあえず、リンク関係以外基本的なものを使えるようにした。
リンク関係はまだ手を付けていない。

* Pukiwiki フェイスマーク

&heart;⌣&bigsmile;&huh;&oh;&wink;&sad;&worried;

最終更新日時 &_now;
pukiwikiテスト


正規表現も使わない単純な置換だけで実装した BBcode フィルタは、
[list]
[*][color="red"]赤[/color]
[*][color="blue"]青[/color]
[*][color="yellow"]黄[/color]
[/list]

できることしか実装していないので、うまくいく。
順序リストの対応などは、書くのが面倒なのでしていない。
簡易BBCodeのテスト

今のところ、こんな感じ。
Blogged with the Flock Browser


posted by takayan at 03:31 | Comment(0) | TrackBack(0) | BlognPlus | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。