我有一个Jekyll设置,看起来像这样:
_config.yml
_records
a.html
b.html
c.html
...
我想创建一个链接到每个记录的主页。但是,我想将a.html
和b.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
?任何其他人可以提供此问题的帮助将不胜感激!
这就是我这样做的方式。在_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 %}