I'm working on a little thing that would require some bbcode, and I really need it to have spoiler tags. I read through the example on adding my own tags to the library, but I don't really understand how it works. All I want the spoiler tag to do is have a toggle-able button which hides some text.
1 に答える
0
bb-rubyの場合、最初の引数としてbbcode_to_htmlを呼び出すと、独自のタグ定義を送信できるように見えます...したがって、次のようになります。
"Your string with [spoiler]spoiler[/spoiler]".bbcode_to_html(my_spoiler)
my_spoilerは次のとおりです。
my_spoiler = {
'Spoiler' => [
/\[spoiler\](.*?)\[\/spoiler\]/mi, # regex to match spoiler
'<div class="spoiler"><a>Show Spoiler</a><p>\1</p></div>', # what to output, change this if needed
'Spoiler text', # description
'[spoiler]this is a spoiler[/spoiler]', # sample
:spoiler # actual tag used
]
}
出力を必要なものに変更する必要があります。また、jQueryでスポイラーを表示するためのjavascriptも必要です。
$('.spoiler').each(function () {
$(this).find('p').hide();
$(this).find('a').click(function () {
$(this).find('p').toggle();
});
});
私は著者なので、bbcoderも試してみたとおっしゃっていましたが、その方法も投稿します。bbcoderの場合、アプリケーションの初期化に、または実際の文字列の解析を開始する前に、次のようなものを配置する必要があります。
BBCoder.configure do
tag :spoiler do
<<-EOS
<div class="spoiler">
<a>Show Spoiler</a>
<p>#{content}</p>
</div>
EOS
end
end
BBCoderを設定したら、準備が整いました。それ以降、スポイラータグが認識され、解析されるので、次のことを行う必要があります。
"My [spoiler]spoiler string[/spoiler]".bbcode_to_html
私はこれらのソリューションをテストしていませんが、大騒ぎせずに動作するはずです。
于 2012-04-13T03:50:04.960 に答える