Tôi có dự án đường ray, chế độ xem chỉ bao gồm các tệp HTML.ERB, ứng dụng khách của tôi muốn chuyển đổi ERB thành HAML. Tôi có quá nhiều lượt xem tệp. Mất rất nhiều thời gian để chuyển đổi tệp theo tệp. Vì vậy, mà chỉ đơn giản là cách tôi có thể chuyển đổi HTML để haml? Tôi đã cài đặt plugin haml trong dự án của mình.Chuyển đổi html.erb hiện tại thành Haml
Trả lời
Có bạn đi: http://html2haml.heroku.com/
Bạn có thể sử dụng từ dòng lệnh html2haml
html2haml your_erb_file new_haml_file
Nếu bạn muốn chuyển đổi tất cả các file của bạn trong một đi, nhìn vào bài viết này: http://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippet
Theo [mã nguồn html2haml mới nhất] (https://github.com/haml/html2haml), html2haml "đang trong quá trình được trích xuất từ đá quý haml." –
bây giờ là [gem riêng biệt] (https://github.com/haml/html2haml). có vẻ như bản dựng hiện tại cũng không đi qua. –
Tôi không chắc chắn về ý nghĩa của hai ý kiến trên. Tôi quyết định cung cấp cho dòng lệnh 'html2haml' một shot và nó có vẻ hoạt động tốt. –
EDIT: html2haml không hoạt động như được quảng cáo, tuy nhiên bạn phải sử dụng phiên bản thu được từ nhánh chính hiện tại của haml github repoistory.
Phiên bản html2haml đi kèm với đá quý haml hiện có sẵn từ rubygems là không tốt. Đây là phiên bản bạn sẽ nhận được nếu bạn đã làm gem install haml
ngay bây giờ. Sử dụng phiên bản được cung cấp kèm với đá quý sẽ dẫn đến haml không hợp lệ, vì nó không thể xử lý ruby đúng cách.
Chỉ muốn thêm vào thời điểm hiện tại (2011/7/21), công cụ html2haml của gemll hoạt động. Tuy nhiên, bạn phải 'gem install hpricot' và' gem install ruby_parser' trên đầu trang của haml. Nếu bạn cố gắng thực hiện chuyển đổi erb-> haml, nó sẽ nhắc bạn cài đặt những viên đá quý này. –
Một lựa chọn thân thiện với người dùng hơn cho câu trả lời đã chọn.
html2haml hiện đang trong đá quý html2haml, vì vậy bạn có thể sử dụng:
$ gem install html2haml
$ html2haml path/to/yourfile.html path/to/yourfile.haml
câu trả lời của ứng dụng là những gì cần thiết, chứ không phải các tệp riêng lẻ. không ai muốn loại bỏ các tệp riêng lẻ. nó chỉ có một bước ở trên làm nó bằng tay. một tác vụ trên toàn ứng dụng sẽ xử lý các tệp riêng lẻ. – ahnbizcad
David Leung cung cấp this gem trên github rằng cài đặt hai nhiệm vụ cào.
Với erb2haml, bạn có thể dễ dàng chuyển đổi toàn bộ dự án từ erb sang haml bằng rake haml:convert_erbs
hoặc rake haml:replace_erbs
.
Cách đến cuối trò chơi ở đây, nhưng bài đăng này vẫn bay cao trong Google khi tìm kiếm các giải pháp tương tự.
Cài đặt html2haml
đá quý, pop vào app/views thư mục của bạn và cung cấp cho một thử này:
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 {} \;
Các lỗ hổng trong giải pháp này là nó không giữ lại lịch sử sửa đổi từ file .erb cũ sang các tệp .haml mới của bạn. Nhưng vào những thời điểm mà lịch sử sửa đổi của các tệp xem đó không phải là vấn đề lớn, giải pháp này đã phục vụ tôi khá tốt.
Ngoài ra, hãy nhớ xem mọi lỗi trong dòng html2haml trước khi bạn xóa các tệp .erb cũ.
rất đơn giản
trong bạn Gemfile
thêm
gem "erb2haml", :group => :development
sau đó chạy bundle install
fo r Chuyển đổi *.erb
để *.haml
giữ file gốc làm:
rake haml:convert_erbs
cho chuyển đổi *.erb
để *.haml
thay thế file gốc làm:
rake haml:replace_erbs
nó sẽ tìm kiếm tất cả các erb
tập tin trong dự án và chuyển đổi sang haml
.
Đối viết tắt: sử dụng trên dòng chuyển đổi
Trên haml-rails git page, nó cung cấp các lệnh cli để làm chuyển đổi tất cả ERB để Haml ngay trong dự án của bạn.
thêm gem "haml-rails"
để Gemfile bạn
chạy: rake haml:erb2haml
Vì vậy, dễ dàng, và WAY tốt hơn so với kéo trong một đá quý IMO. – labyrinth
nếu tôi có thẻ hình ảnh html
Đây không phải là câu trả lời 'xấu', nhưng nó không được chấp nhận là câu trả lời hay nhất. Công cụ dòng lệnh (bên dưới) là tốt hơn. –
Vui lòng đọc bài đăng, anh ấy nói anh ấy không muốn chuyển đổi từng tệp riêng lẻ. – JackHasaKeyboard