J'ai un projet Rails, les vues se composent uniquement de fichiers HTML.ERB, mon client veut convertir ERB en HAML. J'ai trop de fichiers vues. La conversion prend beaucoup de temps fichier par fichier. Afin que de toute façon je puisse convertir HTML en haml? J'ai installé le plugin haml dans mon projet.
Et voilà: http://html2haml.heroku.com/
EDIT: déplacé vers https://html2haml.herokuapp.com/
Vous pouvez utiliser à partir de 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 ce joya sur github qui installe deux tâches de râteau.
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 git haml-Rails , il fournit la commande cli pour convertir tout erb en haml directement dans votre projet.
ajouter gem "haml-Rails"
à votre Gemfile
courir: rake haml:erb2haml
très simple
dans votre Gemfile
ajoutez
gem "erb2haml", :group => :development
puis exécutez bundle install
pour convertir *.erb
à *.haml
conserver les fichiers originaux:
rake haml:convert_erbs
pour convertir *.erb
à *.haml
remplacer les fichiers d'origine:
rake haml:replace_erbs
il va rechercher tous les fichiers erb
dans le projet et les convertir en haml
.
Pour la sténographie: utilisez un convertisseur en ligne
EDIT: html2haml fonctionne comme annoncé, mais vous devez utiliser la version obtenue à partir de la branche principale actuelle du répertoire de github haml.
La version de html2haml incluse avec le joyau haml actuellement disponible chez rubygems n'est pas bonne. Voici la version que vous obtiendrez si vous deviez faire gem install haml
maintenant. L'utilisation de la version fournie avec la gemme 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
Bien en retard dans le jeu ici, mais ce post vole toujours haut dans Google lors de la recherche de solutions similaires.
Installez le html2haml
gem, passez dans 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 {} \;
L'inconvénient de cette solution est qu'elle ne conserve pas l'historique des révisions de vos anciens fichiers .erb vers vos nouveaux fichiers .haml. Mais à certains moments où cet historique de révision de ces fichiers de vue n'est pas un gros problème, cette solution m'a plutôt bien servi.
Veillez également à rechercher d'éventuelles erreurs dans la ligne html2haml avant de supprimer les anciens fichiers .erb.