Templates 通过YAML标题列表在Jekyll中的画廊

Templates 通过YAML标题列表在Jekyll中的画廊,templates,gallery,markdown,jekyll,liquid,Templates,Gallery,Markdown,Jekyll,Liquid,根据答案,我在Jekyll中实现了一个简单的照片库 _layouts/photos.html: --- layout: layout --- <section class="content"> <h1> <a href="{{ page.url }}">{{ page.title }}</a> </h1> <section class="byline"> {{ page.date | date

根据答案,我在Jekyll中实现了一个简单的照片库

_layouts/photos.html:

---
layout: layout
---

<section class="content">
  <h1>
    <a href="{{ page.url }}">{{ page.title }}</a>
  </h1>

  <section class="byline">
    {{ page.date | date: "%B %e, %Y" }}
  </section>

  {% for pic in page.photos %}
  <a href="{{ pic.url }}"><img src="{{ pic.url }}" alt="{{ pic.alt }}" /></a>
  {% if pic.caption %}<p>{{ pic.caption }}</p>{% endif %}
  {% endfor%}

  {{ content }}

</section>
---
布局:布局
---
{{page.date | date:“%B%e,%Y”}
{page.photos%中的图片为%s}
{%if pic.caption%}{{pic.caption}

{%endif%} {%endfor%} {{content}}
这样我就可以简单地列出所有需要的信息,并以这种方式自动生成图库:

示例_gallery.md:

---
layout: photos
title: SOME TITLE

photos:

 - url:     /path/to/img1.png
   alt:     alt1
   caption: Caption with [hyperlinks](example.com) formatted [three][ways] [that][fail]
            [fail]: failure.com/sadface
 - url:     /path/to/img2.png
   alt:     alt2.
   caption: Caption with <a href="/explicit/html/tags.html"> that work but hurt the eyes, are annoying to write, and don't allow me to separate formatting from content</a>.
---
[ways]: doesntwork.com    
---
版面:照片
标题:一些标题
照片:
-url:/path/to/img1.png
备选:备选1
标题:带有[超链接](example.com)格式的[三种][方式][那一种][失败]的标题
[失败]:failure.com/sadface
-url:/path/to/img2.png
alt:alt2。
标题:带有标题的标题。
---
[方式]:doesnetwork.com
我遇到了与img1标题中格式相同的链接错误

读取文件/path/to/example_gallery.md:()时出错:在分析第7行第4列的块映射时未找到所需的键

如果我将
[link]
的定义与
标题:
放在同一行(没有换行符),它也会失败

在上面的链接示例中,作者明确提到在标题中不能使用标记。为了解决这个问题,我尝试在layout photos.html中将
{{pic.caption}}
更改为
{{pic.caption | markdownify}}
,但没有效果

因此,我的问题是:有没有一种方法可以通过编辑每张照片的布局或YAML(即不编写插件,如中所示)来降低图像标题中的标记?类似的事情似乎也适用于摘录(例如,请参见:[我不需要液体标签来在标题中工作,正如在回答中所讨论的那样])


顺便问一下,
标题
中是否可能有换行符?

有很多问题,因此我将尝试逐一进行讨论

在YAML首页中包含链接的唯一方法是采用
[hyperlinks](example.com)
格式。这只是由于Jekyll呈现页面的顺序

我以您的示例代码为例,将标题的呈现方式更改为包含
markdownify
过滤器,并且它按照预期工作(在从标题中删除第二行之后)

请注意每行之间的额外换行符,以及每行文本开头的两个空格。如果不希望在输出中使用换行符,请使用“>”字符而不是“|”

所有这些都已经在Jekyll中使用kramdown markdown解析器进行了测试

 {% if pic.caption %}<p>{{ pic.caption | markdownify }}</p>{% endif %}
caption: | 
 Caption with [hyperlinks](example.com).

 Line break preserved

 And another