Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jekyll中列出所有集合_Jekyll - Fatal编程技术网

在Jekyll中列出所有集合

在Jekyll中列出所有集合,jekyll,Jekyll,我正在与Jekyll(v2.5.3)建立一个杂志网站。上的文档让我相信我可以列出网站上的所有收藏,并将每个收藏的YAML数据嵌入我的\u config.yml _config.yml: collections: issue_001: output: true permalink: /:title/:path title: Rebirth date: 2015-07-01 issue_002: output: true permalink:

我正在与Jekyll(v2.5.3)建立一个杂志网站。上的文档让我相信我可以列出网站上的所有收藏,并将每个收藏的YAML数据嵌入我的
\u config.yml

_config.yml:

collections:
  issue_001:
    output: true
    permalink: /:title/:path
    title: Rebirth
    date: 2015-07-01
  issue_002:
    output: true
    permalink: /:title/:path
    title: Talking Heads
    date: 2015-08-01
index.html:

{% for issue in site.collections %}
  <li>
    <h6 class="post-meta">Issue {{ issue.name }} &mdash; {{ issue.date | date: "%b %-d, %Y" }}</h6>

    <h2>
      {{ issue.title }}
    </h2>
  </li>
{% endfor %}
{%用于site.collections%中的问题]
  • 问题{Issue.name}&mdash;{{issue.date}日期:%b%-d,%Y} {{issue.title}
  • {%endfor%}

    我的主页上出现了两个问题,但我访问的每个问题的数据(姓名、日期、标题等)都没有出现。我知道这是一个测试版功能,所以只想问一下这是坏了还是我做错了?

    {%for issue In site.collections%}
    中,
    issue
    是一个数组,包含:

    0 => "issue_001",
    1 => Hash
     {"output"=>true,
      "permalink"=>"/:title/:path",
      "title"=>"Rebirth",
      "date"=>#,
      "label"=>"issue_001",
      "docs"=>[#],
      "files"=>[],
      "directory"=>"/home/djacquel/www/test.dev/jekyll/wat/_issue_001",
      "relative_directory"=>"_issue_001"}
    
    访问数据的正确方法是:

    {% for issue in site.collections %}
      <li>
        <h6 class="post-meta">
          Issue {{ issue[1].label }}
          &mdash;
          {{ issue[1].date | date: "%b %-d, %Y" }}
        </h6>
        <h2>
          {{ issue[1].title }}
        </h2>
      </li>
    {% endfor %}
    
    {%用于site.collections%中的问题]
    
  • 问题{问题[1]。标签} &mdash; {问题[1]。日期|日期:“%b%-d,%Y”} {{问题[1]。标题}
  • {%endfor%}
    如果有人仍然有此请求,下面介绍它在最新的Jekyll(v3.8.3)中的工作原理:

    更新:经过测试,它在v4.2.0中仍然有效

    {%用于site.collections%}
    来自{{collection.label}的项
    
      {站点[collection.label]%中的项的%s}
    • {%endfor%}
    {%endfor%}
    第二优先;太棒了!在这段代码和来自默认Jekyll主题(Minima)的源代码之间,我能够预感到以下内容

    第一秒;很好的问题是,两人的票数都没有增加,这有点令人困惑

    以及许多其他相关点的第三点;我并没有走上与问题海报相同的道路,但以下代码可能对读者有用。我的用例需要一种类似于默认的Jekyll
    home
    layout的方式来列出集合的一致性

    注意:源链接可通过以下方式下载:单击
    Raw
    link/按钮,然后按Ctrl-s保存为常规文本文件,但是,这些链接已被及时冻结,因此请确保检查分支以获取更新。在本例中,输出示例仅是可能内容的示例,例如,它可以是Lorem字符串,用于演示接下来的内容

    ---
    布局:默认值
    ---
    {%comment%}
    S0和S0的许可证说明;这方面的编辑。
    最小值(以下代码的来源)在
    麻省理工学院李森分校,https://github.com/jekyll/minima/blob/master/LICENSE.txt
    因此,对Minima源代码的任何修改都将在MIT Lisense下重新共享
    {%endcomment%}
    {%capture workspace_collections%}
    {%assign collection_name=page.collection_name |默认值:include.collection_name |默认值:nil%}
    {%assign target\u collection=站点[collection\u name]}
    {%-if page.title-%}
    {{page.title}}
    {%-endif-%}
    {{content}}
    {%assign有_输出=False%}
    {%-if target_collection.size>0-%}
    {%capture workspace_collection%}
    {{page.list_title}默认值:“Posts”}
    
      {%-对于目标_集合中的post-%} {%-如果page.relative_path==post.relative_path-%} {%-continue-%} {%-else-%} {%assign有_输出=True%} {%-endif-%}
    • {%-assign date_format=site.minima.date_format |默认值:'%b%-d,%Y'-%} {{post.date | date:date_format} {%-if site.show_摘录-%} {{post.extract | markdownify | remove:''| remove:'

      '} {%-endif-%}
    • {%-endfor-%}
    {%endcapture%} {%-if has_output==True-%} {{-workspace\u collection-}{%assign workspace\u collection=nil%} {%-endif-%} {%-endif-%} {%endcapture%}{{workspace_collections}{strip}{%assign workspace_collections=nil%}
    顺便说一句,我记不起是从哪里学来的
    capture
    some
    workspace
    技巧的,但是
    strip
    ping新行和其他格式化把戏真是让人汗流浃背。如果读者知道是谁引起了这种幻想,请编辑或留下评论


    此布局的使用与Minima布局的使用非常相似

    。。。前面的内容从集合中选择看起来像

    布局:命名的\u集合
    集合名称:管理
    标题:管理
    列表标题:用法示例
    永久链接:/admin/
    
    。。。导致输出集合列表

    。。。前面的内容从集合中选择看起来像

    布局:命名的\u集合
    集合名称:git\u shell\u命令
    标题:Git Shell命令
    列表标题:用法示例
    permalink:/git\u shell\u命令/
    
    。。。导致输出集合列表


    关于收藏的更多说明 如果我正确阅读了最新的文档,从版本
    3.7.0
    开始,可能会有一个自定义的集合目录,在这个问题中,它可能看起来像

    ls~/git/杂志名称/
    # ... 其他文件和/或目录
    #问题/
    # ... 其他文件和/或目录
    #_config.yml
    
    。。。其中
    issues/
    目录包含子目录,如

    ls~/git/杂志名称/发行/
    #   _001/
    #   _002/
    #   _003/
    # ...
    
    。。。而
    \u config.yml
    文件已

    collections\u dir:问题
    收藏:
    001:
    输出:真
    # ...
    
    。。。神奇的酱汁是
    collections\u dir
    not,使用的是一个分数不足的前缀基目录。文档中关于最后一点的内容非常响亮,例如,
    \u问题/
    会造成不好的结果

    我不确定是否会有加班
    collections_dir: misc
    
    mkdir misc
    mv _posts misc/