转换ERB模板SLIM(Convert ERB template to SLIM)

2019-07-29 04:46发布

我的很多观点是渺茫的模板,我希望在加vote_form部分到我的应用程序。 我将如何转换从ERB到SLIM这个局部视图?

<strong class="result">Votes: <%= voteable.votes_for - voteable.votes_against %></strong>
<%= form_tag user_votes_path(current_user) do |f| %>
  <%= radio_button_tag :thumb_direction, :up %>
  <%= radio_button_tag :thumb_direction, :down %>
  <%= hidden_field_tag :voteable, @voteable %>
  <%= submit_tag :vote %>
<% end %>

谢谢 :)

Answer 1:

如何将您的.erb到.slim:

更新! 18-08-2015

你可以简单地使用html2slim宝石

gem install html2slim

该软件包包括一个工具,叫做erb2slim可以递归ERB文件转换为渺茫。 选项-d用于完成转换后删除ERB文件。

erb2slim -d <dir of your views>

观色器件维基

更新结束!

你必须通过HAML!

在你的环境,或将宝石安装HAML依赖

gem install html2haml # This was moved out of haml gem
gem install ruby_parser

切换到HAML模板

find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "html2haml -r #{i} #{i.sub(/erb$/,"haml")}"}' | \
bash

安装SLIM工具的依赖

gem install haml2slim # https://github.com/fredwu/haml2slim

切换到SLIM模板

find . -name '*haml' | \
xargs ruby -e 'ARGV.each { |i| puts "haml2slim #{i} #{i.sub(/haml$/,"slim")}"}' | \
bash

清洁ERBHAML模板

find . -name '*erb' -exec rm -f {} \;
find . -name '*haml' -exec rm -f {} \;

删除依赖性

gem uninstall html2haml
gem uninstall ruby_parser
gem uninstall haml2slim

这一切,有乐趣



Answer 2:

在这里,你有,只是贴上再培训局代码,然后点击“走出去”:
http://html2slim.herokuapp.com/



Answer 3:

这是@乔尔的辉煌答案基础上的。 我不得不修改了一点,因为有些宝石似乎已经感动,我做了一些其他方面的改进:

  • 它是所有一个脚本,只是复制粘贴
  • 在最后不要删除的宝石,因为我可能需要这为下一个项目(例如,当我创建色器件的看法)
  • gem install ...部分然后被发射到做出更快的处理速度。

转换文件

更新 :通过HAML转换不再需要。 这是更新后的脚本:

#### gem install html2slim # this will install `erb2slim` command line tool.
find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "erb2slim #{i} #{i.sub(/erb$/,"slim")}"}' | \
bash

# Clean ERB templates
find . -name '*erb' -exec rm -f {} \;
git add app/views/*
git commit -m "Replace erb with slim"

结果

在我的例子(后运行rails g devise:views )所有.erb文件与被替换.slim文件,然后将其删除:

对于单个文件的替代

有时候,我只是婉转换剪断。 就像是之前提到的。 在这种情况下,我使用

https://html2slim.herokuapp.com

旧的方法

所以在这里我们去:

# You must pass through HAML !
# Install HAML dependencies on your environment or your gemset
gem install haml html2haml hpricot ruby_parser haml2slim

# Switch to HAML templating
find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "html2haml -r #{i} #{i.sub(/erb$/,"haml")}"}' | \
bash

#Switch to SLIM templating
find . -name '*haml' | \
xargs ruby -e 'ARGV.each { |i| puts "haml2slim #{i} #{i.sub(/haml$/,"slim")}"}' | \
bash

# Clean ERB and HAML templates
find . -name '*erb' -exec rm -f {} \;
find . -name '*haml' -exec rm -f {} \;


Answer 4:

我喜欢事实上的答案,但认为人们很想知道一个新的宝石,其做到这一点更快,少些麻烦。 它是目前相当然而越野车。 :(

退房html2slim 。 说我想我所有的观点改变从.erb.slim ,然后我跑(从头开始,并从轨道根目录)以下内容:

gem install html2slim
erb2slim app/views --delete

如果您运行erb2slim -h可以看到-d / --delete是事后删除ERBS一个选项, --trace显示了任何错误,一个完整的回溯。 从笔者认为它仍然是实验性的说明。



Answer 5:

只需重命名文件结束与.html.slim代替.html.erb ,并替换类似以下内容:

strong.result= "Votes: #{voteable.votes_for - voteable.votes_against}"

= form_tag user_votes_path(current_user) do
  = radio_button_tag :thumb_direction, :up
  = radio_button_tag :thumb_direction, :down
  = hidden_field_tag :voteable, @voteable
  = submit_tag :vote


Answer 6:

这是在线工具,你想要做什么http://erb2slim.herokuapp.com是转换ERB片段苗条。



Answer 7:

正如在以前的答案我用两种宝石:

 gem install html2haml haml2slim

然后:

 find app/views -name \*.erb -print | sed 'p;s/.erb$/.haml/' | xargs -n2 sh -c 'html2haml "$0" "$1" && rm "$0"'

更换*.erb与转换*.haml版本。

现在转换*.haml*.slim和删除*.haml文件:

 haml2slim -d app/views

所有可选后:

 gem uninstall html2haml haml2slim


文章来源: Convert ERB template to SLIM