31 votes

Rendu de texte markdown dans Rails 3

Je veux convertir le markdown en html. Dans mes vues, j'ai markdown(some_text_variable) mais je reçois l'erreur undefined method markdown .

J'ai ajouté require 'BlueCoth' à enviroment.rb et j'ai installé la gemme BlueCloth. Quelqu'un peut-il m'aider ?

49voto

VvDPzZ Points 1570

Dans votre Gemfile :

gem 'bluecloth'  

et n'oubliez pas d'exécuter

bundle install

lorsque vous avez besoin de convertir du markdown en html, utilisez simplement :

markdown = BlueCloth.new(some_text_variable).to_html

Vous pouvez l'utiliser dans une vue :

<%= markdown.html_safe %>

5 votes

Merci pour cela ! De quoi faire gagner du temps aux autres : C'est la dernière version de la gemme : github.com/ged/bluecloth J'ai dû ajouter .html_safe après .to_html pour que le rendu soit correct dans un modèle .erb de rails 3.2.

0 votes

@BaronVonKaneHoffen bluecloth est génial ! Merci pour vos excellents travaux !

1 votes

J'ajouterais un raw en face de cela dans ma vue pour obtenir le HTML rendu et non visible <p> balises, etc.

3voto

Sohan Points 1766

Vous pouvez utiliser RDiscount https://github.com/rtomayko/rdiscount

2voto

Simone Carletti Points 77653

El #markdown l'aide était supprimé dans Rails 3 .

Vous pouvez copier et coller le code depuis le commit ou utiliser un Gem tiers, tel que formater . Vous devrez également inclure les BlueCloth / RedCloth /etc dans votre Gemfile .

1 votes

Cela a fonctionné pour moi sans inclure explicitement BlueCloth dans mon Gemfile. J'ai ajouté formatize à mon Gemfile, et j'ai lancé bundle install et j'ai redémarré webrick et ça marche à merveille.

2voto

Neal Points 1594

Je vous déconseille le bluecloth car il n'a pas l'air d'être très bien entretenu.

La meilleure chose que j'ai trouvée jusqu'à présent (été 2013) est le joyau Redcarpet : https://github.com/vmg/redcarpet

0 votes

Belle pierre précieuse ! Merci pour la recommandation.

0voto

Aaron Hinni Points 7879

Essayez d'ajouter les éléments suivants à votre environment.rb au lieu de l'exigence :

config.gem 'BlueCloth', :lib => 'bluecloth'

Dans Rails 3, ce serait dans le Gemfile :

gem 'bluecloth'

La gemme s'appelle BlueCloth, mais le fichier .rb qui est requis est tout en minuscules.

Assurez-vous de redémarrer rails après avoir ajouté la ligne config.gem.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X