【发布时间】:2013-09-20 15:07:11
【问题描述】:
我是第一次使用 Middleman(以及 Ruby 和 Rails),在使用 Redcarpet 作为 Markdown 处理器和 ERb 进行布局渲染单个页面时遇到了一些障碍。
我想使用 Markdown 为单个内容块设置样式,但每个页面都会有不止一个内容,并且样式独特。
有没有办法在页面的多个区域实例化 Redcarpet 渲染器,而不是使用局部渲染器?所以在index.html.erb,会有这样的东西:
<div class="grid5 container">
<% markdown do %>
# Some markdown
<% end %>
</div>
<section class="grid6">
<% markdown do %>
## More markdown
<% end %>
</section>
我尝试构建一个helperbased onseveraltutorials,但我还不太擅长Rails。
编辑 我的 config.rb 助手看起来像:
module MD
def markdown(text)
Redcarpet.new(text).to_html
end
end
helpers MD
每个 ASCIIcasts,上面链接,我的 ERb 模板使用与上面类似的代码:
<span class="g6 pre3">
<% markdown do %>
...etc...
<% end %>
但我在加载页面时遇到错误:ArgumentError at /about
wrong number of arguments (0 for 1)
【问题讨论】:
-
我实际上并没有真正理解您的问题?例如,为什么 Railscast 中内置的帮助器在一个视图中不能多次工作?是的,为每个 Markdown 部分重新创建渲染器的性能不是很好,但它应该可以工作,对吧?或者您想知道如何提高效率?
-
实际上,它根本不起作用,我也不知道为什么。我将使用我正在使用的代码和我遇到的错误更新问题......
-
好的,让我们这样做,然后我们会看到!
-
@lawitschka 已更新以包含有关代码本身的更多信息。
-
“参数数量错误”错误专门指向显示
def markdown(text)的行。
标签: ruby markdown erb middleman redcarpet