Jekyll,在HTML中包含markdown和布局

时间:2014-12-17 20:29:45

标签: include jekyll

我有一个网站,其中包含一些幻灯片'。每个都有一个固定的结构,由一些脚本使用,但内容可变。我在github上托管它,现在我正在尝试使用Jekyll来更轻松地添加新幻灯片。

我已将每个幻灯片放在不同的html文件中,我将其包含在主页面中:{% include_relative _slides/about.html %}。现在我尝试将其设为markdown文件,并且我想使用前面的内容来制作每个幻灯片文件可以使用的布局。我可以包含一个markdown文件,并通过执行以下操作来呈现:

{% capture myInclude %}{% include_relative _slides/test.md %}{% endcapture %}
{{ myInclude | markdownify }}

但是,当我使用其中定义的布局添加前面的块时,布局不会被应用。它只是呈现为水平线(对于第一个---)然后"布局:幻灯片标题:测试幻灯片 - "用纯文本。

有什么方法可以解决这个问题吗?或者也许是一种更好的方法来分解我的index.html及其中的幻灯片?

非常感谢!

注意:对不起,如果之前有人询问,我用Google搜索了我能想象的所有内容。

2 个答案:

答案 0 :(得分:1)

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

所以我的幻灯片'文件看起来像这样:

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

... the content of the slide ...

{% include slide_end.html %}

正如您所看到的,在第一个包含我提供的参数中,这些参数将被填写并可以使用液体标签{{ 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">

slide_end.html只是两个关闭div代码。

答案 1 :(得分:0)

您正试图混合页面/帖子包含策略。

  1. 页面/帖子有一个前面的问题,并用模板装饰,模板本身可以装饰。 `mypage.html - &gt;布局:页面 - &gt;布局:默认。
  2. 包含包含在页面/帖子中,但它们只是代码部分。它们不能用模板装饰。
  3. 你必须选择。

    https://github.com/shower/jekyller取一个lool,这可能会有所帮助。

相关问题