2011-09-06 27 views
9

Cách dễ nhất (có cách nào dễ dàng?) Để sử dụng Ít (kết hợp với Sass/Scss) trong đường dẫn tài sản 3.1 đường ray?Làm thế nào để sử dụng Less trong ứng dụng rails 3.1?

Tôi muốn tải một tập tin như foo.css.less như tôi sẽ làm cho bar.css.scss

Tôi tìm thấy một số giải pháp rung rinh đó không làm việc cho tôi (đã không cố gắng rất nhiều): https://github.com/thisduck/ruby-less-js/issues/2

Ý tưởng sẽ là sử dụng Twitter Bootstrap một cách rõ ràng. Cảm ơn trước

Trả lời

-1

Chỉ cần đặt tập tin của bạn vào yourlessfile.lesspublic/stylesheets, sau đó theo quan điểm của bạn, bao gồm nó với

stylesheet_link_tag "/stylesheets/yourlessfile.less", :rel => "stylesheet/less" 

Đừng quên bao gồm less.js theo quan điểm của bạn.

+0

Có chắc chắn, đây là một giải pháp làm sạch và đơn giản, nhưng các tập tin ít không đi qua các đường ống dẫn tài sản. Tôi muốn nó được xử lý bằng xích và nén với phần còn lại ... – Sucrenoir

+0

Đó là một câu trả lời hay cho tiêu đề câu hỏi nhưng không phải là chi tiết câu hỏi. Nó tiện dụng cho những người tìm kiếm người xem tiêu đề. –

10

Nếu bạn chỉ muốn sử dụng bootstrap, bạn có thể làm điều đó bằng cách bao gồm các đá quý 'ít đường ray' và 'ít rails-bootstrap' trong GemFile của bạn.

Sau đó, bạn có thể @import bootstrap trong các tập tin .css.less của bạn:

@import "twitter/bootstrap" 

Ngoài ra, bạn có thể bao gồm mỗi tập tin thành phần cá nhân (không bao gồm những người bạn không muốn):

// Reset 
@import "twitter/bootstrap/reset"; 

// Core variables and mixins 
@import "twitter/bootstrap/variables"; 

@import "twitter/bootstrap/mixins"; 

// Grid system and page structure 
@import "twitter/bootstrap/scaffolding"; 

// Styled patterns and elements 
@import "twitter/bootstrap/type"; 
@import "twitter/bootstrap/forms"; 
@import "twitter/bootstrap/tables"; 
@import "twitter/bootstrap/patterns"; 

Nếu bạn không muốn sử dụng đá quý ít rails-bootstrap vì bất kỳ lý do gì, hoặc bạn có các tệp .less không khởi động mà bạn muốn bao gồm, bạn cần phải thêm các đường dẫn không. config. Lưu ý rằng không có tác vụ bổ sung nào cần thiết nếu tên tệp của bạn kết thúc bằng .css.less vì đường dẫn nội dung sẽ xử lý việc biên dịch đó cho bạn (miễn là bạn đã bao gồm 'ít đường ray'). Thủ tục này chỉ được yêu cầu nếu bạn muốn tham chiếu đến các tệp .less bên ngoài trực tiếp trong tệp .css.less của ứng dụng của bạn.

Thiết lập tôi sử dụng cho bootstrap là sao chép các tệp * .less thành vendor/assets/frameworks/twitter/bootstrap. Giữ các tập tin trong vendor/assets/stylesheets/... gây ra cho tôi một số vấn đề, có lẽ do phép thuật Rails giải quyết việc nhập khẩu của tôi vào các tập tin không được xử lý và không biết phải làm gì với chúng (đây chỉ là suy đoán về phần của tôi, tôi không xem xét đầy đủ) .

Khi bạn đã có các tệp .less trong dự án của mình, bạn cần phải thông báo ít đường ray hơn để tìm chúng. Thực hiện điều đó bằng cách đặt thông tin sau vào số application.rb của bạn.

YourApp::Application.configure do 
    config.less.paths << File.join(Rails.root,'vendor','frameworks') 
    # Should be set to true in production. 
    config.less.compress = false 
end 

Bạn có thể nhập chúng vào .css.ít file bằng cách sử dụng:

@import "twitter/bootstrap/reset" 
@import "twitter/bootstrap/variables" 
... 
+0

Tôi đã sử dụng cách tiếp cận thứ hai của bạn và nó hoàn toàn hoạt động! Cảm ơn bạn @ billmag –

Các vấn đề liên quan