Ruby on Rails 的 BBCode

3

所以我正在建立一个简单的论坛。我希望允许我的用户有限的格式选项,BBCode对于我的用户来说已经足够了。知道我肯定不是第一个想在RoR中使用BBCode的人,我进行了谷歌搜索,但没有找到如何创建接受BBCode的编辑器的简明教程,也没有找到解析和显示BBCode格式输入的方法。

如果有任何帮助或指南,将不胜感激!

3个回答

4
你应该尝试使用bb-ruby。它的网页文档非常清晰简单易懂。

最后一个版本是在2年前发布的,由于它是基于正则表达式的,所以对于嵌套标签的支持很差。因此,[ul] [li] [ul] [li] [/ li] [/ ul] [/ li] [/ ul]将产生不良结果。 - Ben
1
然而,最新版本已经发布了2年。需要注意的是,这是回答发布时的最新信息。 - kirushik

2

我刚刚发布了 rbbcode 的新版本。它比原来的版本好太多了。首先,它基于 Treetop 而不是我自己拼凑的状态机。 - rlkw1024

1
Gemfile
gem 'bb-ruby'
# run `bundle`

在这个位置(haml):
%h1= put_header_string.bbcode_to_html.html_safe
%p= "[b]bold text[/b]".bbcode_to_html.html_safe

除了内置的 bbcode,您还可以根据需要扩展自己的 bbcode。例如:
module BBRuby
  @@tags = @@tags.merge({
      'Email' => [
        /\[email(:.*)?\](.*?)\[\/file\1?\]/mi,
        lambda{ |e| "<span class='email'>#{e[2].gsub('@','<i>(at)</i>')}</span>"},
        'protect email from spam',
        '[email]electronic@test.ru[/email]',
        :email
      ],
    })
end

在原地
[b]Contact me:[/b][email]email@test.ru[/email]

联系我:电子邮件 at test.ru

在Github上的bb-ruby | 在RubyGems上的bb-ruby | bb-ruby主页 | 已处理标签列表


1
为什么不直接在Gemfile中设置bb-ruby gem呢? - sidney
@sidney,天啊,UDP/重写。(这在我的以前的托管提供商那里是不可能的) - Ivan Black

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接