问题标签 [middleman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
946 浏览

rewrite - 中间人动态页面 / url 用通配符重写

我似乎无法弄清楚如何重写 URL 以使用 Middleman (3.0.12) 创建动态页面。这是我的尝试:

基本上我需要创建一个简单的重写规则来将所有 list/* 流量转发到索引页面,然后由 AngularJS 的 HTML5 路由器处理。我知道这将在使用 htaccess 的实时站点上工作,但是没有它的开发很烦人。这在中间人中可能吗?

提前致谢,

凯西

0 投票
1 回答
1786 浏览

ruby - 已安装中间人,但找不到二进制文件

我刚刚在我的 Mac (OS 10.8.2) 上安装了 Middleman,但无法生成新项目。我已经安装了 Xcode。谁能告诉我我可能做错了什么?

我正在使用 rbenv。这是我的路径:

0 投票
0 回答
384 浏览

ruby - 宝石与中间人

我正在尝试学习 Middleman 来创建一个静态站点,希望类似于 RailsCasts 在这个非常聪明的基于树的导航片段http://railscasts.com/episodes/162-tree-based-navigation-revised中构建的 CMS 。该站点的内容一旦创建就永远不会改变,因此我认为最好将其作为静态站点而不是 Rails 应用程序,尽管我想在开发中利用 ruby​​。rails 应用程序使用祖先 gem 来创建与某些页面的父子关系。

在 Railscast 中,随后可以动态创建父子页面,即使内容最终是静态的。我不确定中间人是否可以使用祖先 gem 完成类似的过程。虽然我阅读了文档,但我之前从未创建过 Middleman 应用程序。我已经启动了该应用程序,但现在它只是一堆空文件夹。有什么建议可以解决这个问题吗?在尝试新事物时,我通常需要很多指导,并且鉴于缺乏中间人教程,我希望您能提供尽可能多的细节。

更新

\

注意,祖先 gem 将每个条目的父子信息存储在数据库中的字符串中ancestry: "1/2"

更新

我看到的一个问题是,要在 Rails 中使用 Ancestry,我必须has_ancestry在作为 Active Record 子类的类中使用。由于中间人中没有 db,这似乎是不可能的,但我想知道数据是否包含在 yaml 文件中,有没有办法在不继承 Active Record 的类中以某种方式使用 has_ancestry

0 投票
1 回答
1945 浏览

ruby - 中间人父、兄弟、子方法

在中间人中创建页面时,如何指示哪些页面是父母/兄弟/孩子?该文档提供了一些指示,您可以如何使用父兄弟和子方法来构建导航和面包屑,但它没有说明如何排列目录中的页面,以便它们响应这些方法(父,兄弟,子)在适当的方式。

这是父方法 http://rubydoc.info/github/middleman/middleman/Middleman/Sitemap/Extensions/Traversal#parent-instance_method

这是子方法 http://rubydoc.info/github/middleman/middleman/Middleman/Sitemap/Extensions/Traversal#children-instance_method

这是兄弟姐妹方法

http://rubydoc.info/github/middleman/middleman/Middleman/Sitemap/Extensions/Traversal#siblings-instance_method

0 投票
1 回答
609 浏览

coffeescript - 中间人服务器不编译咖啡脚本

我过去曾使用 Middleman 来处理静态项目,并在这些项目中使用过 CoffeeScript。在这种情况下,它似乎不起作用。我的印象是 CoffeeScript 编译应该可以在不对项目设置进行任何额外更改的情况下工作。

我创建了项目,创建了一个名为 file.js.coffee 的文件,并启动了中间人服务器。查看 localhost:4567/file.js 后,该文件不存在。但是,localhost:4567/file.js.coffee 似乎仍然存在。

我错过了一个明显的步骤吗?我不记得上次为启用 CoffeeScript 做过任何额外的工作。

0 投票
1 回答
1375 浏览

json - 中间人 JSON 本地数据

我对 Middleman 和 Ruby 很陌生,所以我提前道歉......

我正在尝试通过“中间人本地数据”读取我的数据文件夹中的一些 JSON 文件,然后将结果保存到环境变量中,这样我最终可以将它传递给我的 JS 文件。像这样的东西:

这实际上是在读取我的 /data/test.json 文件并将其保存到 json_data 变量中。但是,它不是 JSON 格式。这只是我所有节点的字符串连接。我的猜测是我需要在将 JSON 信息保存到变量之前对其进行解码。就像是?

但这也不起作用。我试图安装一个 json gem,但它确实有效。

有什么我可能会丢失的线索吗?

0 投票
1 回答
450 浏览

ruby-on-rails - 中间人在文章页面中给出 404

我开始使用 middleman-blog 扩展构建一个带有 Middleman 的博客。到目前为止,主页上的一切都运行良好。当我单击链接以查看完整的博客文章时,就会出现问题。完整的博客文章页面没有应用任何 CSS。经过进一步检查,我收到 404 错误。我通过在我的 CSS 链接 href 中向上移动 3 个级别来修复它在开发工具上,如下所示:

之前(在主页中工作,但不在文章页面中)

之后(向上移动两个级别不再给我 404)

我的问题是:我需要修改什么以便文章页面在主页保持不变的情况下查找 CSS 3 级别?

0 投票
3 回答
5258 浏览

ruby - 如何通过 Middleman 安装和使用 Slim 模板引擎

我是 Middleman 和 ruby​​ 的新手。

我已经安装了 Ruby 我已经安装了 Middleman 和 gems 来让它运行。

我需要使用 slim 而不是默认的模板系统。

所以我安装了 Slim gem。Slim 的网站只说我需要“slim”才能让它工作。

中间人网站说我只需要将模板引擎添加到 config.rb 文件中,但它没有给出示例......

对于没有红宝石背景的人来说,这无济于事。

我在 git 上找了几个 config.rb ,它们都有:

我将它添加到我的 config.rb 文件并创建了 layout.slim 和 index.html.slim

当我刷新本地服务器时,我得到:

我用 Boilerplace 安装了中间人。我不确定是否还有更多需要更改的文件,但是我在网上找不到任何好的资源,这很奇怪。

谁能给我一些关于我缺少什么的方向?

0 投票
1 回答
736 浏览

ruby-on-rails - heroku 上的 slug 大小有多大影响

计划制作一个包含静态 html 内容的网站,我探索了在 Heroku 上使用 Rails 的替代方案,因为我不需要数据库或 Rails 提供的任何其他功能。我听说 Middleman 静态站点生成器可能会帮助我创建一个可以部署到 Heroku 的轻量级站点。

我用 Middleman 创建了一个测试站点,其中包含大约 6 个大部分为空的 html 内容页面(基本上每个页面上只有一个标题)。推送到 Heroku 后,我得到了这些 repo 和 slug 大小的统计信息

slug 大小大于 repo 大小。根据 Heroku 文档,slug 应该是“应用程序的压缩和预打包副本,已针对在测功机流形上的闪电般快速分布进行了优化。” 我猜蛞蝓大小应该小于回购大小。

为了比较,我查看了我的一个基本 Rails 应用程序的统计数据,我只是将它用作博客引擎(使用 Enki)。它目前有一个数据库和大约 50 篇博客文章。

因此,虽然 Rails 应用程序的 repo 大小要大得多,但 slug 的大小要小得多。

slug 大小是影响 Heroku 性能的唯一因素吗?如果是这样,即使我真的只打算发布一点静态内容,对我来说明显的选择是回到使用简单的 Rails 站点吗?

撇开蛞蝓大小不谈,您是否认为中间人站点可能仍然更快,因为它不使用数据库?因此不必进行查询来检索内容?对于中间人站点,我只是将内容直接写入 html 页面。我对网站真正关心的是让用户在内容页面之间快速移动。对于较小的 slug 大小的 Rails 应用程序,这将涉及数据库查询,而对于较大的 slug 大小的 Middleman 应用程序,它不会。

0 投票
2 回答
3309 浏览

ruby - Sass/Compass 未使用 Guard 和 Middleman 设置进行编译

我正在运行 Mac OS X Mountain Lion 并最近通过 RVM 设置 Ruby。然后我安装了 Middleman ( http://middlemanapp.com/ ),它工作正常。我已经能够添加配置设置并构建项目。

我的问题来自尝试使用 Guard 编译 Sass/Compass 并与 LiveReload 链接以自动刷新我的浏览器。

我的中间人项目结构如下:

{项目名称}/站点/源

(来源是中间人文件夹,它编译到同一级别的“构建”文件夹)

我的 gemfile/config.rb/guardfile 在这里:

{项目名称}/站点/

下面列出了我的 Gemfile、Config.rb 和我的 Guardfile。

宝石文件:

Congid.rb(还包含一些中间人构建的配置,但与 Sass/Compass 无关)

保护文件

我可以运行有效的“bundle exec guard”,当我在浏览器中运行 LiveReload 时,终端会告诉我浏览器已连接。

需要注意的一件事是,在运行“bundle exec guard”后出现此错误:

/Users/Mark/.rvm/gems/ruby-1.9.3-p385/gems/compass 0.12.2/lib/compass/configuration/inheritance.rb 行 ["264"] 上的 NoMethodError:激活

目前也很难弄清楚这一点。

主要问题是,当我在 sass 目录中保存的 .scss 文件之一中实际编写任何 Sass 时,它们不会编译为我的 css 目录中的 .css。终端什么也没说,什么也没发生。我的配置有问题,但无法弄清楚是什么。

有人可以帮忙吗?

谢谢,

标记。