haml文件中的yaml front matter

时间:2012-05-05 01:03:32

标签: html haml yaml jekyll jekyll-extensions

我试图使用haml-jekyll-extension只是我不明白如何包含yaml前面的事情?我有以下内容:

---
user: hello
---
!!!
%html
  %title RudyIndustries
  %body
    %h1 Hello World! {{ page.user }}

但最终会编译成以下html:

user: hello
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <title>RudyIndustries</title>
  <body>
    <h1>Hello World! {{ page.user }}</h1>
  </body>
</html>

如何标记yaml前端内容,使其正确编译成html?

2 个答案:

答案 0 :(得分:4)

使用反斜杠:

haml文件:

\---
user: hello
\---
%html
  %title RudyIndustries
  %body
    %h1 Hello World! {{ page.user }}

编译成以下html:

---
user: hello
---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <title>RudyIndustries</title>
  <body>
    <h1>Hello World! {{ page.user }}</h1>
  </body>
</html>

答案 1 :(得分:1)

您可以使用Haml comments作为前件。这将允许您在YAML中使用嵌套,并且不会在html中复制最重要的内容。以下haml文件

-#
  ---
  user: hello
  ---
!!!
%html
  %title RudyIndustries
  %body
    %h1 Hello World! {{ page.user }}

将生成以下HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <title>RudyIndustries</title>
  <body>
   <h1>Hello World! {{ page.user }}</h1>
  </body>
</html>