2013-06-05 3 views
5

Ho un'app e l'amministratore può creare un articolo e io uso l'editor markup markdown per aggiungere il titolo ecc. Ora, a mio avviso, voglio convertire questo testo markdown in html.Converti HTML in markdown

Quindi a mio avviso se per esempio quando admin scrive l'articolo che scrive esemplare, nella visualizzazione il testo è in grassetto.

Spero che tu capisca e tu puoi aiutarmi.

installo redcarpet e ho messo nel mio aiutante applicazione questo:

module ApplicationHelper 


def markdown(text) 
if text 
    markdown = Redcarpet::Markdown.new(
    Redcarpet::Render::HTML.new 
) 
    markdown.render(text).html_safe 
end 

fine

e, a mio avviso mostrare questo:

<%= markdown(@article.content) %> 

Ho riavviato il mio server, ma ho una errore:

costante non inizializzata ApplicationHelper :: Redcarpet EDIT 2:

THANK's All works !!! !!!!!

+0

add 'require 'redcarpet'' prima' modulo ApplicationHelper' –

+0

quando aggiungo require 'redcarpet' ho questo errore ora mancante aiutanti di file helper/redcarpet.rb –

risposta

11

Sembra avete bisogno di questo gioiello

Trasformare html esistente in Markdown in un semplice wa y, per esempio se vuoi importare i tag esistenti nella tua applicazione basata su markdown.

semplice html Markdown rubino gemma Amiamo Markdown, perchè è gentile da modificare. Quindi vogliamo che tutto sia Markdown


inizializzata ApplicationHelper costante :: RedCarpet

Aggiungi require 'redcarpet' prima module ApplicationHelper

require 'redcarpet' 
module ApplicationHelper 


    def markdown(text) 
    Redcarpet.new(text).html_safe 
    end 
end 
1

È possibile utilizzare la gemma redcarpet per compilare markdown in html nelle guide.


Con redcarpet si può più effettuare le seguenti operazioni:

# application_helper.rb 
module ApplicationHelper 

    def markdown(text) 
    if text 
     markdown = Redcarpet::Markdown.new(
     Redcarpet::Render::HTML.new 
    ) 
     markdown.render(text).html_safe 
    end 
    end 
end 

# some_view.html.erb 
<%= markdown(@article.body) %> 
+0

Io uso redcarpet e ho un errore costante non inizializzata ActionView :: CompiledTemplates :: Redcarpet ma seguo i railscast. –

+0

hai riavviato il tuo server di rotaie? – Daniel

+0

sì, riavvio il mio server. –

6

Il kramdown gemma fornisce un HTML alla soluzione di Markdown in puro rubino.

irb> html = 'How to convert <b>HTML</b> to <i>Markdown</i> on <a href="http://stackoverflow.com">Stack Overflow</a>.' 
=> "How to convert <b>HTML</b> to <i>Markdown</i> on <a href=\"http://stackoverflow.com\">Stack Overflow</a>." 
irb> document = Kramdown::Document.new(html, :html_to_native => true) 
=> <KD:Document: ... > 
irb> document.to_kramdown 
=> "How to convert **HTML** to *Markdown* on [Stack Overflow][1].\n\n\n\n[1]: http://stackoverflow.com\n"