J’ai un projet de rails, les vues ne contiennent que des fichiers HTML.ERB, mon client veut convertir ERB en HAML. J’ai trop de fichier de vues. Il faut énormément de temps pour convertir fichier par fichier. Alors que tout simplement je peux convertir le HTML en haml? J’ai installé le plugin haml sous mon projet.
Voilà: http://html2haml.heroku.com/
Vous pouvez utiliser depuis la ligne de commande html2haml
html2haml your_erb_file new_haml_file
Si vous souhaitez convertir tous vos fichiers en une seule fois, consultez cet article: http://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippet
Une alternative plus conviviale à la réponse sélectionnée.
David Leung fournit cette gem sur github qui installe deux tâches de rake.
Avec erb2haml, vous pouvez facilement convertir un projet entier de erb en haml avec rake haml:convert_erbs
ou rake haml:replace_erbs
.
Sur la page haml-rails git , la commande cli permet de convertir tous les fichiers erb en fichiers haml directement dans votre projet.
append gem "haml-rails"
à votre Gemfile
exécuter: rake haml:erb2haml
très simple
dans votre add Gemfile
gem "erb2haml", :group => :development
puis exécutez l’ bundle install
pour convertir *.erb
en *.haml
conservant les fichiers originaux:
rake haml:convert_erbs
pour convertir *.erb
en *.haml
remplaçant les fichiers originaux:
rake haml:replace_erbs
il va rechercher tous les fichiers erb
dans le projet et convertir en haml
.
Pour sténographie: utilisez le convertisseur en ligne
EDIT: html2haml fonctionne comme annoncé, cependant vous devez utiliser la version obtenue à partir de la twig principale actuelle du repoistory haml github.
La version de html2haml incluse avec le gem haml actuellement disponible sur rubygems n’est pas bonne. Ceci est la version que vous obtiendrez si vous deviez faire gem install haml
dès maintenant. L’utilisation de la version fournie avec la gem entraînera un haml invalide, car il ne peut pas traiter correctement ruby.
html2haml est maintenant dans le joyau html2haml, vous pouvez donc utiliser:
$ gem install html2haml $ html2haml path/to/yourfile.html path/to/yourfile.haml
Beaucoup de retard sur le jeu ici, mais ce message vole toujours haut dans le Google lors de la recherche de solutions similaires.
Installez le gem html2haml
, html2haml
votre répertoire app / views et essayez ceci:
find ./ -name '*.erb' -exec html2haml -e {} {}.haml \; find ./ -name "*.erb.haml" -exec sh -c 'mv "$1" "${1%.erb.haml}.haml"' _ {} \; find ./ -name '*.erb' -exec rm {} \;
Le défaut de cette solution est qu’elle ne conserve pas l’historique des révisions de vos anciens fichiers .erb sur vos nouveaux fichiers .haml. Mais parfois, l’historique des révisions de ces fichiers d’affichage n’est pas très important, cette solution m’a plutôt bien servi.
Veillez également à surveiller les éventuelles erreurs sur la ligne html2haml avant de supprimer les anciens fichiers .erb.