5

我有兴趣在ASPNET MVC 站点中使用 ruby​​ 脚本 ( https://github.com/zmoazeni/csscss )。我以前没有使用红宝石的经验,所以我的问题可能很幼稚。

是否可以导入 ironruby nuget 包并执行 ruby​​ 脚本?

我的目标是在 ruby​​ 脚本周围放置一个 .net 包装器,并将输出作为 HTML 输出。


到目前为止,我已经尝试用谷歌搜索开始使用 ironruby,但没有发现太多我理解并且可以开始工作的东西,(是的,这听起来很模糊,但我不知道 ruby​​ 或 Ironruby,也找不到任何好的简单入门指南)。

4

2 回答 2

3

我在https://github.com/edymtt/csscss-from-ironruby实现了一个简单的概念证明,它在控制台应用程序中显示如何使用 IronRuby 运行源代码csscss来分析从文件加载的 CSS。为了达到这个结果,我从这个SO question开始——你可以在程序的评论中找到我使用的其他资源。我没有在 ASP.net MVC 站点中尝试过这段代码——无论如何,这个示例应该是一个很好的起点。

此解决方案维护起来有点麻烦,因为您必须手动将csscss及其依赖库的源代码放入解决方案中。另一种解决方案是在机器上安装 Ruby,csscss使用安装gem(因此它会自动下载依赖项)并从 .NET 调用程序——我还将在示例中展示这种方法。请注意,此解决方案要求您可以在 Web 服务器上安装 Ruby。

更新 2013-09-02 18:15 UTC根据 Zach Moazeni 的建议,我已经能够简化使用 IronRuby 运行的方法,csscss并且我已经相应地更新了概念证明。简而言之:

  • 在 .NET 程序之外,我使用 bundler 下载csscssjson(和依赖的 gem)到项目的本地文件夹;
  • 在 .NET 程序中,我编写了一个函数来发现由创建的 gem 文件夹中库的所有路径bundler(通过查找gems文件夹,然后为每个子文件夹包含该lib文件夹,该算法受到此 SO 线程的启发);
  • 在启动之前,我已将此路径列表传递给 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 回答