web-dev-qa-db-fra.com

Convertir le fichier html.erb existant en Haml

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.

46
palani
26
mikewilliamson

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

98
Mike

http://www.htmltohaml.com

Une alternative plus conviviale à la réponse sélectionnée.

16
bevanb

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.

13
IAmNaN

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

10
aviemet

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

http://www.htmltohaml.com

9
Kaleem Ullah

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.

4
EmFi

html2haml est maintenant dans le joyau html2haml, vous pouvez donc utiliser:

$ gem install html2haml
$ html2haml path/to/yourfile.html path/to/yourfile.haml
1
JobJob

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.

1
joealba