Jekyll,在 html 中包含带有布局的 markdown

The*_*ler 5 include jekyll

我有一个由几张“幻灯片”组成的网站。每个都有固定的结构,供某些脚本使用,但内容可变。我将其托管在 github 上,现在尝试使用 Jekyll 来更轻松地添加新幻灯片。

\n\n

我已经将每张幻灯片放在不同的 html 文件中,并将其包含在主页中:{% include_relative _slides/about.html %}。现在我正在尝试将其制作为 Markdown 文件,并且我想使用 front Matter 来制作每个幻灯片文件都可以使用的布局。我可以包含一个 markdown 文件,并通过执行以下操作来渲染它:

\n\n
{% capture myInclude %}{% include_relative _slides/test.md %}{% endcapture %}\n{{ myInclude | markdownify }}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,当我向其中添加一个 front-matter 块并在其中定义布局时,该布局不会被应用。它只是被渲染为水平线(对于第一个 ---),然后以纯文本形式呈现“布局:幻灯片标题:测试幻灯片 \xe2\x80\x94”。

\n\n

有没有什么办法解决这一问题?或者也许有更好的方法来分解我的index.html 和其中的幻灯片?

\n\n

多谢!

\n\n

注意:抱歉,如果之前有人问过这个问题,我在谷歌上搜索了我能想象到的所有内容。

\n

The*_*ler 3

我找到了适合我的东西。我将模板分为两部分,内容上方的部分和内容下方的部分。然后在我包含的文件中,也有两个包含,一个在顶部,一个在底部。

所以我的“幻灯片”文件如下所示:

{% include slide_start.html title="About" image="images/about.jpg" %}

... the content of the slide ...

{% include slide_end.html %}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,在第一个包含中我给出了一些参数,这些参数将被填充并可以使用 Liquid 标签进行访问{{ include.something }}

我的 Slide_start.html 如下所示:

<div class="slide">
    <div class="header">
        <span>{{ include.title }}</span><!-- no whitespace
     --><img src="{{ include.image }}" alt="{{ include.title }}"/>
    </div>

    <div class="content" markdown="1">
Run Code Online (Sandbox Code Playgroud)

slide_end.html只是两个结束div标签。