2013-04-10 9 views
6

Jestem zainteresowany wykorzystaniem skryptu ruby ​​(https://github.com/zmoazeni/csscss) z witryną ASPNET MVC. Nie miałem wcześniejszych doświadczeń z rubinem, więc moje pytanie może być naiwne.można zainstalować pakiet ironruby nuget, a następnie użyć go w wanilii VS2012

Czy można zaimportować pakiet ironruby nuget i wykonać skrypty ruby?

Moim celem byłoby umieszczenie wrappera .net wokół skryptów ruby ​​i umieszczenie wyjścia jako HTML.


Do tej pory próbowałem Googling podręczny z IronRuby ale nie znalazłem bardzo, że rozumie i mógłby dostać pracę, (tak, że dźwięk niejasne, ale nie wiem, rubin lub IronRuby i nie mógł znaleźć wszelkie dobre proste przewodniki na temat rozpoczynania pracy).

+0

[Co próbowaliście?] (Http: // mattgemmell.com/2008/12/08/what-have-you-tried /) –

Odpowiedz

3

Zrobiłem prosty dowód koncepcji na https://github.com/edymtt/csscss-from-ironruby, który pokazuje w aplikacji konsoli, jak używać IronRuby do uruchomienia kodu źródłowego csscss, aby przeanalizować CSS załadowany z pliku. Aby osiągnąć ten wynik, zacząłem od tego SO question - możesz znaleźć dodatkowe zasoby, których użyłem w komentarzach do programu. Nie próbowałem tego kodu w witrynie ASP.net MVC - w każdym razie ta próbka powinna być dobrym punktem wyjścia.

To rozwiązanie jest nieco kłopotliwe w utrzymaniu, ponieważ musisz ręcznie umieścić źródła dla csscss i jego zależnych bibliotek w rozwiązaniu. Alternatywnym rozwiązaniem jest instalacja Rubiego na komputerze, instalacja csscss przy użyciu gem (aby pobrać zależności automatycznie) i wywołanie programu z .NET - pokażę to również w przykładzie. Zauważ, że to rozwiązanie wymaga zainstalowania Ruby na serwerze WWW.

UPDATE 02.09.2013 18:15 UTC Zgodnie z sugestią z Zach Moazeni udało mi się semplify podejście, że używany IronRuby uruchomić csscss a ja odpowiednio zaktualizowane dowód koncepcji. W skrócie:

  • poza programem .NET używałem Bundler ściągnąć csscss i json (i klejnotów utrzymaniu) do folderu lokalnego projektu;
  • w programie .NET Pisałem funkcję odkryć wszystkie ścieżki biblioteki w folderze gem stworzonej przez bundler (znajdując folder gems a następnie w tym dla każdego podfolderu folderu lib, algorytm ten został zainspirowany this SO thread);
  • Podałem tę listę ścieżek do interpretera IronRuby przed uruchomieniem csscss.

Podejście to powinno odmieniać możliwość korzystania tylko .NET, aby uruchomić program z łatwością aktualizacji podanej przez gem i bundler.

+0

Nie znam IronRuby, ale czy jest kompatybilny z [bundler] (http://gembundler.com/)? Jeśli tak, może to zaoszczędzić wiele kłopotów z 'Gemfile'. –

+0

Dzięki za opinię - muszę przeprowadzić pewne badania i eksperymenty na ten temat. Wygląda na to, że IronRuby obsługuje perełki z linii poleceń i hostowanego silnika (zobacz odpowiednio [tutaj] (http://stackoverflow.com/questions/44973/can-i-run-rubygems-in-ironruby) i [tutaj] (http://rubyforge.org/pipermail/ironruby-core/2010-July/007119.html)), ale od tej pory nie mogę załadować 'csscss' pobranego w lokalnym folderze z' bundler' w Ruby 2.0. – edymtt

+0

@ZachMoazeni Byłem w stanie wykorzystać twoją sugestię, aby wymyślić lepszy sposób wykonywania 'csscss' pod IronRuby. Dzięki jeszcze raz! – edymtt

2

Jestem autorem csscss i z tego powodu zbudowałem wyjście JSON.

csscss -j file.css 

Nie jest to idealne rozwiązanie, ale zamiast wyprowadzania ludzkiego czytelnego tekstu, to będzie wyjście JSON, które można analizować z jakiegokolwiek języka/runtime.

Powiązane problemy