5

ASPNET MVC サイトで Ruby スクリプト ( https://github.com/zmoazeni/csscss )を使用することに興味があります。私はルビーの経験がないので、私の質問は素朴かもしれません。

ironruby nuget パッケージをインポートして ruby​​ スクリプトを実行することはできますか?

私の目標は、Ruby スクリプトの周りに .net ラッパーを配置し、出力を HTML として出力することです。


これまでのところ、私は Google で Ironruby を使い始めようとしましたが、理解して動作させることができるものはあまり見つかりませんでした (はい、あいまいに聞こえますが、Ruby や Ironruby を知らず、開始するための適切な簡単なガイドを見つけることができませんでした)。 )。

4

2 に答える 2

3

https://github.com/edymtt/csscss-from-ironrubycsscssで、IronRuby を使用してソース コードを実行し、ファイルから読み込まれた CSS を分析する方法をコンソール アプリケーションで示す簡単な概念実証を実現しました。この結果を達成するために、私はこのSO の質問から始めました。プログラムのコメントで、私が使用した追加のリソースを見つけることができます。ASP.net MVC サイトでこのコードを試したことはありません。とにかく、このサンプルは良い出発点になるはずです。

csscssこのソリューションは、とその依存ライブラリのソースを手動でソリューションに配置する必要があるため、維持するのが少し面倒です。別の解決策は、マシンに Ruby をインストールし、それcsscssを使用してインストールしgem(依存関係を自動的にダウンロードする)、.NET からプログラムを呼び出すことです。この方法もサンプルで示します。このソリューションでは、Web サーバーに Ruby をインストールできる必要があることに注意してください。

UPDATE 2013-09-02 18:15 UTC Zach Moazeni からの提案に従って、IronRuby を使用して実行するアプローチを単純化することができ、csscssそれに応じて概念実証を更新しました。手短に:

  • .NET プログラムの外では、バンドラーを使用して(および依存する gem を) プロジェクトのローカル フォルダーにダウンロードcsscssしました。json
  • .NETプログラムで、作成されたgemフォルダー内のライブラリのすべてのパスを検出する関数を作成しましたbundler(フォルダーを見つけて、gems各サブフォルダーにフォルダーを含めることにより、このアルゴリズムはこのSOスレッドlibに触発されました);
  • を起動する前に、このパスのリストを IronRuby インタープリターに渡しましたcsscss

このアプローチは、.NET のみを使用してプログラムを実行する機能と、 および によって提供される更新の容易さを結合する必要がgemありbundlerます。

于 2013-04-14T15:40:05.223 に答える
2

私は csscss の作成者であり、この理由から JSON 出力を作成しました。

csscss -j file.css

これは完璧な解決策ではありませんが、人間が読めるテキストを出力する代わりに、どの言語/ランタイムからでも解析できる JSON を出力します。

于 2013-04-16T20:19:50.547 に答える