使用Jekyll,如何在不是帖子或页面的布局中组织/放置段落数据?

时间:2018-03-13 22:49:38

标签: jekyll github-pages

与杰基尔的第一天,我基本上都有杰基尔的迷你主题,我正在修改尝试创建一个新网站。

我在_layouts中有一个home.html。我的目标是将段落放在3个单独的列中,并排放置。我的理解是_layouts和_includes主要用于格式化,至少我是如何看待它们的。我知道可以在这些文件中放置一堆静态文本,但如果要显示的文本类似于_pages文件夹,它看起来更干净(也更容易编辑)。但当然这样做会在标题中创建一个新链接。所以我试图找到一种方法插入一个markdown文件,这个文件只是我可以干净地插入主页面的文本段落,只有那里。

一个地方降价(段落大小)的方式和位置仅用于插入布局或包含,但不能直接写入布局或包含,也不能将其作为帖子或页面,或在_data中使用变量。我希望制作一个降价文件,用于比帖子,页面等更小的目的......

我的_layouts / home.html看起来如下,但降价并未显示。 IIRC,这是因为包含只能访问_includes,我希望不必在_includes或html中写入这些数据。

---
layout: default
---

<div class="home">
    <div class="home-col-wrapper">
        <div class="home-col home-col-1">
            {% include front-col-1.md %}
        </div>
    </div>

    <div class="home-col home-col-2">
            {% include front-col-2.md %}
        column 2
    </div>

    <div class="home-col home-col-3">
            {% include front-col-3.md %}
        column 3
    </div>
</div>

我还尝试在_pages中放置* .md文件并将布局更改为home,但无济于事。文本没有出现在家庭布局中。

---
layout: home
---

A bunch of stuff should probably go here. So be sure to make sure it looks ok. ok? ok! 

1 个答案:

答案 0 :(得分:1)

我刚刚做了类似的事情。如果我正确理解您的问题,您只需要将{% include front-col-1.md %}替换为

{% capture temp %}{% include front-col-1.md %}{% endcapture %}
{{ temp  | markdownify }}

Liquid会在变量temp中捕获markdown文件,然后markdownify将其转换为HTML并添加它。

我认为您不能将降价文件放在别处,但它们必须位于_includes

相关:https://github.com/jekyll/jekyll-help/issues/51