0

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.

4

1 に答える 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 に答える