Jekyll:在site.records中包含记录但不呈现html页面

问题描述 投票:0回答:1

我有一个Jekyll设置,看起来像这样:

_config.yml
_records
  a.html
  b.html
  c.html
...

我想创建一个链接到每个记录的主页。但是,我想将a.htmlb.html渲染到/records/,但我不想将c.html渲染到/records/,因为HTML将完全从不同的进程提供给我的服务器。

我尝试在_config.yml中设置以下内容:

exclude:
  _records/c.html

但这也从c.html中删除了site.records,这不是我想要的。我现在最好的解决方案是阻止我的部署脚本部署_site/records/c.html,但我更倾向于阻止_site/records/c.html首先生成。

是否有可能在c.html中包含site.records来创建主页上的链接但不渲染/records/c.html?任何其他人可以提供此问题的帮助将不胜感激!

jekyll liquid
1个回答
0
投票

这就是我这样做的方式。在_records/c.html内部,设置在前面的事情:

permalink: '_'
route: /records/c.html

这将使我们将页面的html内容呈现给_site/_.html,这是一条永远不会被访问的路线。

然后在index.html中创建此页面的route属性的链接,使用:

{% for record in site.records %}
  {% if record.route %}
    {% assign url = record.route %}
  {% else %}
    {% assign url = record.url %}
  {% endif %}
  <a href='{{ url }}'>{{ record.title }}</a>
{% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.