A conversão entre ERB e Slim parece ser uma dor por algum motivo. No entanto, eu encontrei html2haml e haml2slim e me perguntei por que não podemos simplesmente converter para Slim em um hit (2 se você incluir as joias;). Bem, aqui vai …
Em primeiro lugar, instale as seguintes joias:
gem install html2haml haml2slim --no-ri --no-rdoc
Em seguida, você pode executar o seguinte para converter ERB em Slim no local (isso cria um arquivo Slim e remove o arquivo ERB antigo):
find ./app/views -name '*.erb' | xargs -I file sh -c
'html2haml --erb file | haml2slim > $(echo file | sed 's/erb/slim/') &&
rm file'
Análise rápida do que está acontecendo:
Encontre todos os arquivos erb no
app/views
diretório (isto é feito sob medida para Rails mas pode ser usado em outro lugarPegue essa saída e passe-a linha por linha para o xargs ( leia sobre isso , é foda!). Estou usando o sinalizador aqui para me dar um nome de espaço reservado razoável para o nome do arquivo de .
-I
find
sh -c
pega o comando entre aspas como uma string e o avaliaLá, convertemos o
file
para HAML, também prestando atenção às guias ERB ( )--erb
Nós tubo que em
haml2slim
que leva a nossa HAML e saídas / redireciona para o arquivo original, mas com uma nova extensão (estamos usando um subnível aqui e, em seguida, usar o comando para substituir o original com no nome do arquivo)$()
sed
.erb
.slim
Finalmente, se funcionar, remova o original – você pode querer mudar isso se quiser manter o arquivo erb original por perto
Você pode pegar este comando e alias em seu .zshrc
arquivo ou outro script de inicialização de shell.
Obrigado a:
haml2slim ,
html2haml
e http://www.22ideastreet.com/blog/2011/10/19/converting-erb-to-slim/ por me dar algumas idéias …