传递Jekyll变量“;“向上”;范围

传递Jekyll变量“;“向上”;范围,jekyll,liquid,Jekyll,Liquid,我试图在我的内容页面中设置一个Jekyll(Liquid)变量,并在include Jekyll模板中公开该变量及其内容。在这个用例中,我希望在单个MD文件中编写主页内容和侧栏内容,但控制所述内容的注入 这是我的设置 \u layouts/default.html <div>{{ content }}</div> <div class="side-bar">{% include sidebar.html sidebarContent=sidebar %} {

我试图在我的内容页面中设置一个Jekyll(Liquid)变量,并在include Jekyll模板中公开该变量及其内容。在这个用例中,我希望在单个MD文件中编写主页内容和侧栏内容,但控制所述内容的注入

这是我的设置

\u layouts/default.html

<div>{{ content }}</div>
<div class="side-bar">{% include sidebar.html sidebarContent=sidebar %}
{{ include.sidebarContent }}
页面/my content page.md

----
layout:default
----

This is the main content portion's content.

{% capture sidebar %}
This is the sidebar content

* one
* two
{% endcapture %}
似乎没有办法将“sidebar”变量传递到范围内;我似乎只能把它传下去。我想做的就是将内容创作分离为一个页面(由两个独立的区域组成;内容和侧边栏),并避免在我的“内容”文件(也称为MD文件)中引入布局标记

如果有一种方法,我可以打破他们到不同的MD文件,我会开放的,以及。。。前

my-page.md
my_page_sidebar.md


我在这方面有一定的回旋余地,因为我使用的是页面而不是帖子。

当你在版面中时,你可以从
首页
内容
本身获取数据。所以只有
页面。一些变量可用

但是,无法在页面内容中
捕获
分配
,并从布局中获取结果变量

你可以试着把你的边栏放在你的前面,但这可能会很棘手

一种解决方案是使用类似于帖子使用的工具将内容从侧边栏中分离出来

\u config.yml
中,设置

content_separator: "<!--separator-->"
在模板中:

{% assign contentSplitted = content | split: site.content_separator %}
{% assign myContent = contentSplitted | first %}
{% assign navbar = contentSplitted | last %}

<div>{{ myContent }}</div>
<div class="side-bar">{{ navbar }}</div>
{%assign contentSplitted=content | split:site.content_separator%}
{%assign myContent=contentSplitted | first%}
{%assign navbar=contentSplitted | last%}
{{myContent}}
{{navbar}}

注:我使用
myContent
作为
content
变量已在使用。

Wow!我喜欢这个主意@DavidJacquel!非常鼓舞人心!:)酷。但我认为你可以用另一种方式将内容和导航分开。确切地说,你为什么要混合内容和导航?它是页面内导航吗?
This is the main content portion's content.

{{ site.content_separator }}

This is the sidebar content

* one
* two
{% assign contentSplitted = content | split: site.content_separator %}
{% assign myContent = contentSplitted | first %}
{% assign navbar = contentSplitted | last %}

<div>{{ myContent }}</div>
<div class="side-bar">{{ navbar }}</div>