7
votes

Convertir HTML en Marquage

J'ai une application et l'administrateur peut créer un article, et j'utilise l'éditeur MarkiUp Markdowdown pour ajouter le titre, etc. À mon avis, je veux convertir ce texte de marquage en HTML.

donc à mon avis si pour l'exemple lorsque l'administrateur écrit l'article qu'il écrit Exemple fort>, dans la vue, le texte est en gras. P>

J'espère que vous comprenez et vous pouvez aider moi. P>

I Installation ReDCarpet et je mets dans mon aide de l'application Ceci: p> xxx pré>

extrémité p>

et dans mon spectacle Voir ceci:

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


2 commentaires

Ajouter nécessite 'redcarpet' avant Module ApplicationHelper


Lorsque j'aimerais avoir besoin 'redcarpet', j'ai cette erreur maintenant des aides de fichier d'assistance manquants / redcarpet.rb


3 Réponses :


4
votes

Vous pouvez utiliser Redcarpet GEM pour compiler le marquage dans HTML dans les rails.


Avec RedCarpet, vous pouvez effectuer ce qui suit: P>

# 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) %>


6 commentaires

J'utilise redcarpet et j'ai une erreur ininitialisée constante Actionview :: compiledTemplates :: redcarpet mais je suis les rails.


Avez-vous redémarré votre serveur de rails?


D'accord, j'ai ajouté un exemple de méthode d'assistant de marquage qui rendrait votre marquage à HTML. J'espère que cela pourra aider.


J'ai la même erreur: Uninitialisé constant ApplicationHelper :: Redcarpet


Avez-vous exécuté Bundle installer après avoir ajouté gem 'redcarpet' à votre gemfile? Si je le retire de mon gemfile, j'ai la même erreur.


La question était HTML à marquage non marquée à HTML



13
votes

Il semble que vous ayez besoin de ce gemme

  • inverse_markdown li> ul>

    Transformez le HTML existant en marquage de manière simple, par exemple si vous souhaitez importer des balises existantes dans votre application basée sur votre marquage. P> blockQuote>

    • HTML2MARKDOWDOWDOW LI> ul>

      Simple HTML à Markdowd Ruby Gem Nous aimons Markdown, car il est amical de modifier. Nous voulons donc que tout soit marquage p> blockQuote>

      • HOPKMARK LI> ul>

        Un convertisseur HTML à marquage. P>

        Plankmark définit une grammaire d'expression d'analyse (PEG) à l'aide du gemme de painsœux très génial. Cette cheville est ensuite utilisée pour convertir HTML en marquage en 4 étapes: P>

        1. Analysez le XHTML dans une syntaxe abstraite (AST). LI>
        2. normaliser l'AST dans un hachage imbéh d'éléments HTML. LI>
        3. Marquez les sous-arbres de bloc et de niveau de span qui doivent être ignorés (table, div, span, etc.). Li>
        4. Convertissez les feuilles AST en marquage. LI> ol> blockQuote>

          Application constant non initialiséHelper :: redcarpet p> blockQuote>

          Ajouter nécessite "redcarpet" code> avant Module ApplicationHelper CODE> P>

          require 'redcarpet'
          module ApplicationHelper
          
          
            def markdown(text)
              Redcarpet.new(text).html_safe
            end
          end
          


0 commentaires

15
votes

the Kramdown GEM fournit une solution HTML à marquage dans Pure Ruby.

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"


1 commentaires

Kramdown est le meilleur analgésique de marque (comme dans: Pouvoir tous les JEKYLL). Upvoted.