【问题标题】:inserting blocks of text in haml在haml中插入文本块
【发布时间】:2010-08-27 18:57:08
【问题描述】:

在我的 Jekyll 博客中,我使用 include 标签将文件的内容放入文档中。但是,如果我尝试使用基于 HAML 的文档执行此操作,则包含文本的缩进是错误的。 :preserve 不起作用,因为它需要缩进。有没有办法在不依赖缩进的情况下指定一个文本块?

%html
  %body
    - preserve do
<strong>included text from file</strong>
    - end

【问题讨论】:

    标签: ruby syntax haml markup jekyll


    【解决方案1】:

    似乎在当前版本的 Haml 中删除了 :text 过滤器。现在您可以使用:plain 过滤器。不对该块内的文本进行任何处理。您可以在那里粘贴多行文本块或 HTML 代码。 HTML 将不转义地显示在页面上。

    :plain
      Some text <b>or HTML</b>.
    

    【讨论】:

    • 也适用于新行
    【解决方案2】:

    对于文本,使用过滤器:

    :text
      some text
    :erb
      <%= render :partial ... %>
    

    http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#filters

    【讨论】:

    • 我认为 render 是 Rails 的东西而不是 jekyll。
    • 是的,对原始 HTML 使用 :erb 过滤器,因为 ERB 扩展了 HTML。
    • :text 对我不起作用:ActionView::Template::Error (Filter "text" is not defined.)
    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多