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

Jekyll 如何将.md文件中定义的内容拆分为单独的元素,jekyll,Jekyll,我刚刚安装了杰基尔,我正在跟踪一些图坦卡蒙。我知道你在根目录中的.md文件中定义了你的内容,并根据你选择的布局文件生成了你的html文件,但是我不知道如何将你的{{content}分割开来 比如说,我想把.md文件中的一部分内容放在中,另一部分放在中,我该怎么做呢?有问题的代码粘贴在下面。谢谢 .md文件 --- layout: page title: Page Test permalink: /page-test/ bodyclass: page-test --- Article conte

我刚刚安装了杰基尔,我正在跟踪一些图坦卡蒙。我知道你在根目录中的.md文件中定义了你的内容,并根据你选择的布局文件生成了你的html文件,但是我不知道如何将你的
{{content}
分割开来

比如说,我想把.md文件中的一部分内容放在
中,另一部分放在
中,我该怎么做呢?有问题的代码粘贴在下面。谢谢

.md文件

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

Article content
* Hey this is my content!

Aside content
* Test links
---
layout: default
---
<div class="post">

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

<article class="post-content">
{{ content }}
</article>

<aside>

</aside>

</div>
布局文件

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

Article content
* Hey this is my content!

Aside content
* Test links
---
layout: default
---
<div class="post">

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

<article class="post-content">
{{ content }}
</article>

<aside>

</aside>

</div>
---
布局:默认值
---
{{page.title}}
{{content}}
您可以使用

\u 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>
---
前沿物质
---
节选文本
正文
....
布局

---
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>
---
布局:默认值
---
{{page.title}}
{%assign contentArray=page.content | markdownify | split:site.extract_separator%}
{{contentArray.last}
{{contentArray.first}

您可以在
.md
-posts中使用液体。因此,您可以在
.md
-post中使用
includes

例如:

  • 在名为
    \u includes
    的文件夹中创建一个名为
    aside.html的新文件
  • 在里面放一些内容
  • .md
    -post中调用include
  • 代码:

    更多信息包括›

    另一种解决方案:

    在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 }}
    
    ---
    版面:第页
    标题:页面测试
    旁白:“在这里,你甚至可以使用HTML。甚至。但它看起来很糟糕。”
    ---
    文章内容
    *嘿,这是我的内容!
    旁白内容
    *{{page.aside}
    
    Hi mate我尝试了这个方法,但它返回了一个异常:在_layouts/page.html中,参数类型nil(预期为Regexp)错误。在使用page.content和page.extract之前是否需要在某个位置进行定义?如果未传递任何摘录,则为“是”
    {{post.content | remove:post.extract}
    将生成异常。我已将代码更改为更具适应性。这看起来是一种方法,您的其他方法也适用,但这样我可以在该页面中定义该页面的自定义内容。我不想要一个全局包含,所以为每个页面创建一个不同的包含可能会变得非常混乱。谢谢