2

我正在将 Jekyll 用于学术网站。我正在使用带有publication类别的帖子来表示出版物。例如,由美国最新总统撰写的一篇论文看起来与此类似(除了一些与此问题无关的其他变量):

---
categories: publications
layout: publication
title: "This is the paper Title"
authors: [bomama, gwbush, bclinton]
--- 

特别是,我希望作者列表中的元素转换为一些预定义的 URL,例如,这些 URL 可以指定为站点变量。我想这样做,因此当作者更改机构(以及因此,他/她的网页 URL)时,我不必更改每个出版物(=帖子)。

谢谢!

4

1 回答 1

5

您可以为_config.yml用户定义的变量添加自己的命名空间:

app:
  authors:
    bomama:
      name: 'Barack Obama'
      url: 'http://barackobama.com'
    gwbush:
      name: 'George W. Bush'
      url: 'http://georgewbush.com'

然后在您的模板中循环作者并合并用户定义app:authors

{% for id in page.authors %}

  {% if site.app.authors[id] %}
    <a href="{{ site.app.authors[id]['url'] }}">{{ site.app.authors[id]['name'] }}</a>
  {% endif %}

{% endfor %}

输出:

<a href="http://barackobama.com">Barack Obama</a>

<a href="http://georgewbush.com">George W. Bush</a>
于 2013-06-03T18:55:37.503 回答