Home > HikiDoc Archive
HikiDoc Archive
Text::HikiDoc::Plugin な仕組みはできた
ぶー、結局 eval でホゲッとやってしまった。この連休中にでもいくつかサンプルプラグイン作ってみて、問題なさそげなら公開する
- Comments: 0
- TrackBacks: 0
Text::HikiDoc::Plugin 構想 (2)
考え始めて以来、丸々一ヶ月手つかず。久しぶりに考え、ちょっと構想変更。
- add_plugin, add_plugin_all, remove_plugin, remove_plugin_all によって、利用するプラグインを操作
- new する時に plugin 追加できるようにするかどうかは、後日検討
new する時しか変更できないのは変だと思うし、to_html 時に追加するくらいなら、専用メソッド用意するのが一番素直じゃね? ってことで。実装は、風邪が治って、子供の行事が全部終わった頃に開始する予定
- Comments: 0
- TrackBacks: 0
Text::HikiDoc::Plugin 構想 (1)
こんな感じで使うものを作ろうかと。
$obj = Text::HikiDoc->new({
string => $text,
level => 2,
empty_element_suffix => ' />',
br_mode => 'true',
table_border => 'false',
plugged => ['br','hoge','fuga'],
});
$obj = Text::HikiDoc->new({
string => $text,
level => 2,
empty_element_suffix => ' />',
br_mode => 'true',
table_border => 'false',
plugged => 'all',
unplugged => ['br','hoge','fuga'],
});
- plugged に配列を渡して、利用するプラグインを指定する
- 指定しない時はプラグインを利用しない
- 全部使う時は、plugged = 'all'。all と組み合わせて、unplugged で使わないものを指定できる
こういう作りにしておけば、Plugin 以下にファイルがあってもデフォルトでは無視されるので、今との互換性も保たれるし。
で、Text::HikiDoc::Plugin 継承した Text::HikiDoc::Plugin::br の中の to_html() を呼び出して処理する、と。
テキスト整形系のプラグイン以外はアプリケーションの側で処理すべきだとは思うが、br タグ埋め込むプラグインとか、現在時刻埋め込むとか、そういうものは HikiDoc 側にあっても悪くはないかもしれぬ。
- Comments: 0
- TrackBacks: 0
ちょっと注目された Text::HikiDoc
Text::HikiDoc に突っ込みをいただく。
viaデジタル猫並の日記帳HikiDoc.pm にプラグインを追加したくていじってますが......
602行目と605行目は
602: my $BLOCK_PLUGIN_RE = '<!(\d+)>'; #←ココ 603: my $BLOCK_PLUGIN_OPEN = '<div class="plugin">'; 604: my $BLOCK_PLUGIN_CLOSE = '</div>'; 605: my $INLINE_PLUGIN_RE = '<p><!(\d+)></p>'; #←ココ 606: my $INLINE_PLUGIN_OPEN = '<span class="plugin">'; 607: my $INLINE_PLUGIN_CLOSE = '</span>';
以下の通り、逆ではありませんかと。
あー、確かに意味的に逆だ (^^;
でも、実はその下の方でロジック的には正しく使ってるっぽい。なぜだか命名規則がテレコってる模様。次の機会に直します。
それよりも、Text::HikiDoc::Plugin とか作った方が需要があるのかな? と思った。
で、トラックバックしようとしたら蹴られた (^^; でも、FSWiki からの TB は、言及リンク関連で蹴られることが多い気がするので気にしない。
- Comments: 0
- TrackBacks: 0
Text::HikiDoc r1_010 公開
HikiDoc.pm r1_010 を公開。フルパッケージは「B's Soft」のコーナーからどうぞ。今回のバージョンアップで HikiDoc から Text::HikiDoc に変更したためご注意を。以下変更点
- to_html で全てのパラメータを指定できるように変更
- HikiDoc から Text::HikiDoc に変更
- 文字修飾記述が入れ子構造に対応していなかったバグの修正
バグフィクスの影響で、オリジナルの hikidoc.rb とビミョーな非互換が出てしまったので書き残しておく。が、とりあえずそのままで。
'''''hoge'''''
と記述した場合、hikidoc.rb だと
<strong>''hoge</strong>''
HikiDoc.pm だと
''<strong>hoge</strong>''
- Comments: 0
- TrackBacks: 0
HikiDoc を使った WEB アプリケーション (10)
そろそろ記事の編集画面作らないといけないんだが(でないと自分で使えない)
ということで、作った。最低限の機能はそろったので、次は整理・再構成。
- Comments: 0
- TrackBacks: 0
HikiDoc を使った WEB アプリケーション (9)
そろそろ記事の編集画面作らないといけないんだが(でないと自分で使えない)、その前に思いついたのでメモ。
画像などのファイル添付機能は実装しない。flickr 等の Plugin を作って、画像表示はそれで対応することにする。なぜかというと、画像を添付するとその画像を管理したくなるわけだが、今作ろうとしているアプリの主役は文章なので、それ以外の機能は肥大化させたくない。画像管理するアプリが必要なら別途用意すればいいわけで。
ちょっと Web2.0 的ですか? わはは。単に怠け者なだけだ。
- Comments: 0
- TrackBacks: 0
HikiDoc を使った WEB アプリケーション (8)
CGI::Application::Plugin::Authenticationの導入はやめて、とりあえず自分でログインページ作った。
投稿画面周りにはロジックいれたので、次は閲覧画面に、ログイン時は編集メニューでるようにするかな。
- Comments: 0
- TrackBacks: 0
HikiDoc を使った WEB アプリケーション (7)
次にやることを、プラグインの仕組みにするか、ファイル添付の仕組みにするか考え中。
とか言うてたんだが、まずはログイン機能つけとこかってことで、とりあえず CGI::Application::Plugin::Session 導入。CGI::Application::Plugin::Authentication はどうするか悩み中。ちなみに、ログイン機能は「投稿時の認証用」「複数投稿者で利用する時の署名用」程度にしか考えてないんだが、それ以外の設定用の管理画面作るかなぁ。。。一番優先度低いな。
- Comments: 0
- TrackBacks: 0
HikiDoc を使った WEB アプリケーション (6)

テンプレートファイルの調整するために、通常時の表示(最新○○件表示)できるようにした。TT でハッシュ使う時って、key で sort されてしまうっぽいな。
次にやることを、プラグインの仕組みにするか、ファイル添付の仕組みにするか考え中。
- Comments: 0
- TrackBacks: 0
Home > HikiDoc Archive