Home > HikiDoc Archive

[ << < 1  2  3  4  5  6 >> ]

HikiDoc Archive

Text::HikiDoc::Plugin な仕組みはできた

ぶー、結局 eval でホゲッとやってしまった。この連休中にでもいくつかサンプルプラグイン作ってみて、問題なさそげなら公開する

Text::HikiDoc::Plugin 構想 (2)

考え始めて以来、丸々一ヶ月手つかず。久しぶりに考え、ちょっと構想変更。

  • add_plugin, add_plugin_all, remove_plugin, remove_plugin_all によって、利用するプラグインを操作
  • new する時に plugin 追加できるようにするかどうかは、後日検討

new する時しか変更できないのは変だと思うし、to_html 時に追加するくらいなら、専用メソッド用意するのが一番素直じゃね? ってことで。実装は、風邪が治って、子供の行事が全部終わった頃に開始する予定

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 側にあっても悪くはないかもしれぬ。

ちょっと注目された 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 は、言及リンク関連で蹴られることが多い気がするので気にしない。

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>''

HikiDoc を使った WEB アプリケーション (10)

そろそろ記事の編集画面作らないといけないんだが(でないと自分で使えない)

ということで、作った。最低限の機能はそろったので、次は整理・再構成。

HikiDoc を使った WEB アプリケーション (9)

そろそろ記事の編集画面作らないといけないんだが(でないと自分で使えない)、その前に思いついたのでメモ。

画像などのファイル添付機能は実装しない。flickr 等の Plugin を作って、画像表示はそれで対応することにする。なぜかというと、画像を添付するとその画像を管理したくなるわけだが、今作ろうとしているアプリの主役は文章なので、それ以外の機能は肥大化させたくない。画像管理するアプリが必要なら別途用意すればいいわけで。

ちょっと Web2.0 的ですか? わはは。単に怠け者なだけだ。

HikiDoc を使った WEB アプリケーション (8)

CGI::Application::Plugin::Authenticationの導入はやめて、とりあえず自分でログインページ作った。

投稿画面周りにはロジックいれたので、次は閲覧画面に、ログイン時は編集メニューでるようにするかな。

HikiDoc を使った WEB アプリケーション (7)

次にやることを、プラグインの仕組みにするか、ファイル添付の仕組みにするか考え中。

とか言うてたんだが、まずはログイン機能つけとこかってことで、とりあえず CGI::Application::Plugin::Session 導入。CGI::Application::Plugin::Authentication はどうするか悩み中。ちなみに、ログイン機能は「投稿時の認証用」「複数投稿者で利用する時の署名用」程度にしか考えてないんだが、それ以外の設定用の管理画面作るかなぁ。。。一番優先度低いな。

HikiDoc を使った WEB アプリケーション (6)

japs_preview060626.jpg

テンプレートファイルの調整するために、通常時の表示(最新○○件表示)できるようにした。TT でハッシュ使う時って、key で sort されてしまうっぽいな。

次にやることを、プラグインの仕組みにするか、ファイル添付の仕組みにするか考え中。

[ << < 1  2  3  4  5  6 >> ]

Home > HikiDoc Archive

Feeds

Return to page top