2009-10-01 62 views
4

所以我在一個簡單的論壇。我希望允許我的用戶使用有限的格式選項,並且BBC​​ode對我的用戶來說會很有幫助。知道我確實不是第一個想使用BBCode和RoR的人,但我找不到一個簡單的教程,介紹如何創建一個接受BBCode的編輯器,也不能解析和顯示BBCode格式的輸入。BBCode for Ruby on Rails

任何幫助或指導,將不勝感激!

回答

4

您應該試一試bb-ruby。它在網頁上的文檔似乎非常清晰和直接。

+0

然而這個版本的最後一個版本是在兩年前發佈的,而且它對嵌套標籤的支持很差,因爲它是基於正則表達式的。所以[ul] [li] [ul] [li] [/ li] [/ ul] [/ li] [/ ul]會產生不好的結果 – 2011-10-28 00:02:14

+1

>最後一個版本是在2年前發佈的 剛剛在發佈答案的時候,我必須注意。 – kirushik 2011-10-30 00:16:36

2

這裏是另一種寶石,你會發現有用

http://github.com/jarrett/rbbcode

+0

我剛剛發佈了一個新版本的rbbcode。它比原來的更好。對於初學者來說,它基於Treetop而不是我自己的黑客攻擊狀態機。 – rlkw1024 2012-10-27 23:39:10

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。例如:

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][email protected][/email]', 
     :email 
     ], 
    }) 
end 

代替

[b]Contact me:[/b][email][email protected][/email] 

聯繫我:電子郵件(AT) test.ru


bb-ruby on github | bb-ruby on rubygems | bb-ruby home | tags processed list

+1

爲什麼不直接在Gemfile中設置'bb-ruby' gem? – sidney 2014-04-25 14:47:55

+0

@sidney,omg,udp/rewrite。 (這是不可能在我以前的託管服務提供商) – 2014-04-25 16:48:00

+0

好吧,謝謝:)! – sidney 2014-04-25 17:10:41