簡體   English   中英

在Rails中制作基本的類似SO的WYSIWYG編輯器

[英]Making a basic SO-like WYSIWYG editor in Rails

我對Rails較陌生,最近完成了Hartl的Rails教程,現在開始我的第一個完整項目。 我有興趣添加到Web應用程序中的是類似於SO中的文本輸入功能,您可以在其中輸入內容,並直接查看文本的顯示方式。 經過一些 周圍的SO,我決定使用寶石bluecloth ,這是Ruby實現降價,但現在有以下幾個問題:

  1. 我不確定如何將bluecloth輸出到form_for助手。 我的理解是,您可以通過函數html = BlueCloth.new(str).to_html()轉換為字符串,但是當您將文本字段作為form_for一部分時,我不確定該怎么做,我應該在哪里插入bluecloth部分? 換句話說,我對在一個框中鍵入內容並在頁面上其他位置看到該項目的魔術感到有些困惑。
  2. WMD的Bar按鈕項目和功能是否包括Markdown編輯器(例如bluecloth),還是我必須手動構建? 如果是這樣,我如何在鍵入時在編輯器中得到類似加粗按鈕的顯示“ ** **”的信息?

謝謝你的幫助!

正如評論所指出的那樣,Markdown是HTML之類的標記語言,因此所見即所得並不容易。

獲得這種功能可能有兩種方法。

服務器端

將您的markdown文本發布到服務器,並讓服務器返回HTML。 我已經在Python中完成了很多工作,但是對於Ruby, 這樣的答案建議maruku 這種方法的缺點是,每次您要查看預覽時,都需要一個服務器請求,然后通過某種方式將其重新集成到您的UI中,而不會打擾用戶。 Stackoverflow通過WMD編輯器和服務器上的某些C#使用此方法。

客戶端

另一種選擇是使用客戶端庫獲取降價“代碼”並生成html,然后可以使用javascript將其集成到頁面中。 一個例子是蒔蘿 這使用文本區域和諸如showdown之類的東西在瀏覽器中呈現HTML。 我正在開發的名為demarcate.js的WYSIWYG Markdown編輯器中將這種方法更進一步

或者...溝Markdown

這些評論已經建議使用其他所見即所得的編輯器...其中大多數不是markdown編輯器,而是會在最后生成HTML的RTF編輯器 TinyMCEwysihtml5是不錯的選擇,我之前也曾使用CKeditor取得了一些成功-最新版本中它具有很酷的“就地”功能,這啟發了我上面的Markdown編輯器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM