Wikiプラグイン一通り実装完了。
以下のプラグインを実装しました。
delプラグイン(inline)
最初、block型も作ってみたんですよ。でも、どうも
#del||> ... ||<
と書くと、HTMLタグ上、
<del> <div>...</div> </del>
brプラグイン(inline/block)
block型作っても意味無いとかそこ、言わない!!
インライン要素中で手動で改行タグ(br)を挿入したい時に使います。多分、テーブルを作る時に、文章を改行させたい時に使うと思います。
| 要素1 | 要素2 | 要素3-1 &br() 要素3-2 |
みたいな。
これ、KinoWikiには確か無かった。PukiWikiには有るのだけれど。不思議。
まぁYakiBikiで使えるようになったから良いよね。
htmlプラグイン(inline/block)
うー・・・。ヤバイのは重々承知です。なので、config.phpに次の項目を追加しました。
// Enable/Disable "HTML" Wiki Plugin _YB('wiki.plugin.html.disable', true); // false: enable, true: disable
SVN中のconfig.phpのデフォルトではtrueになっています。つまり、htmlプラグインは無効化されます。
無効化されるとどうなるかというと、単に
javascriptプラグイン(inline/block)
これもヤバイのは重々承知です。config.phpに以下を追加、デフォルトは無効化されてて
// Enable/Disable "JavaScript" Wiki Plugin _YB('wiki.plugin.javascript.disable', true); // false: enable, true: disable
一応、第一パラメータにjsファイルを指定して、外部jsを読み込ませたりできます。
&javascript(jquery.js, http://example.com/test.js) { ... }
↑は、↓のように展開されます。
<script type="text/javascript" src="_YB('url') + 'jquery.js'"></script> <script type="text/javascript" src="http://example.com/test.js"></script> <script type="text/javascript"> <!-- ... // --> </script>
第一パラメータを省略した場合は、通常の
<script type="text/javascript"> <!-- ... // --> </script>
のみとなります。
jsファイルについてはカンマ区切りで複数指定できます。空白が前後に挟まっても、trim()されますので平気です。
html, javascriptプラグインの注意点。
それぞれ _YB('wiki.plugin.html.disable'), _YB('wiki.plugin.javascript.disable') でON/OFFできますが、実はこれ、yb_特殊タグ系列じゃないので、キャッシュされます。
つまり、ある時点までdisableをfalse、つまり有効化しておいて記事を書いていて、ある時点からdisableに戻した場合、以前の記事は相変わらずhtmlやjavascriptが有効化されて表示されてしまいます。
これを回避するには
1.WikiテキストのHTML変換後のキャッシュの有効期限が過ぎ、再キャッシュされるまで隠しておく。
2.cacheディレクトリの中身を一旦全て削除する。
3.html, javascriptプラグインを使って書かれた記事を一つ一つ、更新して古いキャッシュを削除する。
などする必要があります。
技術レベルと気心の知れた数人だけで使う場合はずっとONでも構わないとは思いますが、何人もに書いてもらう場合はOFFにするのをお奨めします。特にHTMLプラグインの場合、HTMLタグを壊してしまう場合が十分ありえるので、特に検索画面での一覧表示がおかしくなる可能性が高いです。
基本OFFをお奨めします。JavaScriptのデモなどを見せたい場合は、デモのファイルをまとめたtarボールなどをUPっておけば良いのではないでしょうか。あるいはFlashビデオにしてYouTubeなどにUPっておくとか。
PukiWiki形式の強調・取消線記法に対応
''太字になります。'' : <strong>タグ '''斜体字になります。''' : <em>タグ %%取消線が引かれます。%% : <del>タグ
一応KinonWikiの強調記法('*', '**')も残してありますので、好きな方を使えると思います。
取消線について一点だけ、&del()との違いを。"%%"で囲った場合は、中の文字列はインライン要素にはならず、そのまま表示されます。
つまり、
%%取消線の中に ''太字は'' 入れられません!%% でも &del(){ delプラグインの中になら ''太字は'' 入れられます。 }
ということです。