鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

MojoliciousとBootstrapの連携-フォーム作成を楽しちゃおう

Mojoliciousタグヘルパーを覚えるのはつらいというわけで、自動的に生成するWebツールMojoHel を作ってみた。MojoHel自体もMojoliciousアプリとなっています。ソースも公開していますこちら

いまのところ、 TextAreaの改行がコピペするとうまく反映されない。 Selectボックスの要素の空白がうまく設定されない。 処理中なんだかどうだかわからない。

2013/2/27 とりあえず、改行のバグをつぶして、空白のバグもつぶして、 xsltprocのオプションで--novalidを渡して、パフォーマンスの高速化したので 実用的になったかも。fieldsetにxmlnsが出力されてしまうバグがありますが・・・

2013/2/28 selectボックスのバグをつぶした。日本語で文字化けするバグを発見。 「テスト」という文字列が以下のようにかえってきていて、これをうまくデコードできていないような・・・ テスト

2013/3/1 日本語の文字化けに対応

    my $line = decode('utf8', $line);
   $ep_text = $ep_text . encode_entities($line,"<>&'\""). "\n";

Mojohelのやっていることは以下のとおり

BootStrap Form Builder を元に、HTMLを作成させる。

②フォームビルダーが出力したXTMLをXHTMLに変換させる。

tidyp.exe -o test.xml --doctype -asxhtml -wrap 0 test.html 

tidypはこちらから

XSLTXMLをepファイルに変換する。

xsltproc.exe --novalid test.xsl test.xml > test.ep

①、②、③をオールインワンで1つのWebアプリにしたというわけ。 BootStrap Form Builderの作者の方から組み入れる了解を得ています。