Jekyll - 如何将.md文件中定义的内容拆分为单独的元素

时间:2014-10-16 01:58:48

标签: jekyll

我刚刚安装了Jekyll,我正在追随几个问题。我知道您在根目录中的.md文件中定义了内容,并根据您选择的布局文件生成了html文件,但我没有得到的是如何拆分{{ content }}

比如说我希望我{。1}}中的.md文件中的一条内容和<article>中的另一条内容我将如何进行此操作?有问题的代码粘贴在下面。感谢

.md文件

<aside>

布局文件

---
layout: page
title: Page Test
permalink: /page-test/
bodyclass: page-test
---

Article content
* Hey this is my content!

Aside content
* Test links

3 个答案:

答案 0 :(得分:6)

您可以使用the post.excerpt functionality

<强> _config.yml

excerpt_separator: "<!--more-->"

发表

---
frontmatter
---
Excerpt text
<!--more-->
Body text
....

<强>布局

---
layout: default
---
<div class="post">

<header class="post-header">
<h1 class="post-title">{{ page.title }}</h1>
</header>

<article class="post-content">
{% assign contentArray = page.content | markdownify | split: site.excerpt_separator %}
{{ contentArray.last }}
</article>

<aside>
{{ contentArray.first }}
</aside>

</div>

答案 1 :(得分:2)

您可以在.md内使用Liquid - 帖子。因此,您可以在includes - 帖子中使用.md

示例:

  1. 在名为aside.html
  2. 的文件夹中创建名为_includes的新文件
  3. 在其中加入一些内容。
  4. .md - 帖子中调用包含。
  5. 代码:

    ---
    layout: page
    title: Page with aside
    ---
    
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    
    {% include aside.html %}
    

    有关的更多信息,请> http://jekyllrb.com/docs/templates/#includes

答案 2 :(得分:2)

还有一个解决方案:

在frontmatter中声明一个变量,稍后通过Liquid调用它,如下所示:

---
layout: page
title: Page Test
aside: "Here you can even use <strong>HTML</strong>. Even <a href='http://jekyllrb.com'>Links</a>. But it looks nasty."
---

Article content
* Hey this is my content!

Aside content
* {{ page.aside }}