2013-04-10 12 views
6

Tôi quan tâm đến việc sử dụng tập lệnh ruby ​​(https://github.com/zmoazeni/csscss) với trang web ASPNET MVC. Tôi không có kinh nghiệm trước đây với ruby ​​nên câu hỏi của tôi có thể ngây thơ.có thể cài đặt gói nuget ironruby sau đó được sử dụng trong vanilla VS2012

Có thể nhập gói gói phần mềm sắt và thực thi các tập lệnh ruby ​​không?

Mục tiêu của tôi là đặt một trình bao bọc .net xung quanh (các) tập lệnh ruby ​​và đặt đầu ra dưới dạng HTML.


Cho đến nay tôi đã cố gắng Googling bắt đầu với IronRuby nhưng đã không tìm thấy nhiều đến nỗi tôi hiểu và có thể nhận được làm việc, (có mà âm thanh mơ hồ, nhưng tôi không biết ruby ​​hoặc IronRuby và không thể tìm thấy bất kỳ hướng dẫn đơn giản nào tốt về việc bắt đầu).

+0

[Bạn đã thử gì?] (Http: // mattgemmell.com/2008/12/08/what-have-you-tried /) –

Trả lời

3

Tôi đã nhận ra bằng chứng khái niệm đơn giản tại https://github.com/edymtt/csscss-from-ironruby hiển thị trong ứng dụng bảng điều khiển cách sử dụng IronRuby để chạy mã nguồn của csscss để phân tích CSS được tải từ tệp. Để đạt được kết quả này, tôi đã bắt đầu từ số SO question này - bạn có thể tìm thấy các tài nguyên bổ sung mà tôi đã sử dụng trong các nhận xét của chương trình. Tôi đã không thử mã này trong một trang web ASP.net MVC - anyway mẫu này nên là một điểm khởi đầu tốt.

Giải pháp này hơi phức tạp để duy trì, vì bạn phải tự đặt nguồn cho csscss và các thư viện phụ thuộc của nó trong giải pháp. Một giải pháp thay thế là cài đặt Ruby trên máy, cài đặt csscss bằng cách sử dụng gem (để tự động tải xuống phụ thuộc) và gọi chương trình từ .NET - Tôi cũng sẽ hiển thị phương pháp này trong mẫu. Lưu ý rằng giải pháp này yêu cầu bạn có thể cài đặt Ruby trên máy chủ web.

CẬP NHẬT 2013/09/02 18:15 UTC Tiếp theo gợi ý từ Zach Moazeni tôi đã có thể để semplify phương pháp được sử dụng để chạy IronRuby csscss và tôi đã cập nhật phù hợp bằng chứng của khái niệm. Tóm lại:

  • ngoài chương trình NET Tôi đã sử dụng bundler tải csscssjson (và đá quý phụ thuộc) vào một thư mục địa phương của dự án;
  • trong chương trình .NET Tôi đã viết một hàm để khám phá tất cả đường dẫn của thư viện trong thư mục gem được tạo bởi bundler (bằng cách tìm thư mục gems và sau đó bao gồm cho mỗi thư mục con trong thư mục lib, thuật toán này được lấy cảm hứng từ this SO thread);
  • Tôi đã chuyển danh sách đường dẫn này tới trình thông dịch IronRuby trước khi khởi chạy csscss.

Cách tiếp cận này nên liên hợp khả năng chỉ sử dụng .NET để chạy chương trình dễ dàng cập nhật được cung cấp bởi gembundler.

+0

Tôi không quen với IronRuby, nhưng nó có tương thích với [bundler] (http://gembundler.com/) không? Nếu vậy, điều đó có thể giúp bạn tiết kiệm rất nhiều rắc rối với một 'Gemfile'. –

+0

Cảm ơn phản hồi - Tôi cần thực hiện một số nghiên cứu và thử nghiệm về vấn đề này. Có vẻ như IronRuby đã hỗ trợ cho đá quý từ cả dòng lệnh và công cụ lưu trữ (xem tương ứng [ở đây] (http://stackoverflow.com/questions/44973/can-i-run-rubygems-in-ironruby) và [ở đây] (http://rubyforge.org/pipermail/ironruby-core/2010-July/007119.html)) nhưng hiện tại tôi không thể tải 'csscss' được tải xuống trong một thư mục cục bộ với' bundler' trong Ruby 2.0. – edymtt

+0

@ZachMoazeni Tôi đã có thể sử dụng đề xuất của bạn để đưa ra một cách tốt hơn để thực thi 'csscss' trong IronRuby. Cảm ơn một lần nữa! – edymtt

2

Tôi là tác giả của csscss và tôi đã tạo đầu ra JSON vì lý do này.

csscss -j file.css 

Đây không phải là giải pháp hoàn hảo, nhưng thay vì xuất ra văn bản có thể đọc được, nó sẽ xuất JS mà bạn có thể phân tích cú pháp từ bất kỳ ngôn ngữ/thời gian chạy nào.