gpt4 book ai didi

jekyll - Jekyll 中的一篇文章如何拥有多个作者?

转载 作者:行者123 更新时间:2023-12-04 03:22:04 32 4
gpt4 key购买 nike

我在一个 jekyll 帖子上有以下标题,其中一个作者“usman”生成 this文章。我想要类似“作者:usman,someone_else”这样的同事也可以为这篇文章做出贡献。这可能吗?我将如何设置它。

--- 
layout: post
title: The pitfalls of building services using Google App Engine -- Part I
date: 2013-02-24 08:18:17
author: usman
categories:
- System Admin
tags:
- GAE

---

我查看了我正在使用的主题的帖子模板,它有以下行:
{% assign author = site.authors[page.author] %}

这显然只支持一个作者,有没有办法让页面的两个作者?即 page.author[0] 例如?

最佳答案

如果你想在你的 YAML Frontmatter 中指定多个作者,那么你将需要像使用类别和标签一样使用 YAML 的列表语法,如下所示:

author:
- usman
- someone_else

这对于将作者信息动态注入(inject)每个帖子很有用。

至于允许多人为同一篇文章投稿,我认为这与 Jekyll 或 Frontmatter 中的规定无关。这是将 Jekyll 内容托管在共享位置(例如在 GitHub 上,就像许多人一样)的问题,您和您的协作者都可以在该文件上工作。话虽如此,请注意,如果您并行处理同一个 Markdown 文件,您可能会遇到令人讨厌的合并冲突。

更新

这是基于 OP 对原始问题的编辑的更新。

一个简单的黑客方法是像这样设置你的作者标签:
author: Usman and Someone_Else

但是,这并没有给您太大的灵 active 。一个更好的解决方案,它需要您修改您正在使用的模板,将执行类似以下的操作:

首先,设置您的 YAML Front Matter,以便它可以支持多个作者。
authors:
- Usman
- Someone_else

现在,您修改模板以通过 YAML Front Matter 中指定的作者。
<p>
{% assign authorCount = page.authors | size %}
{% if authorCount == 0 %}
No author
{% elsif authorCount == 1 %}
{{ page.authors | first }}
{% else %}
{% for author in page.authors %}
{% if forloop.first %}
{{ author }}
{% elsif forloop.last %}
and {{ author }}
{% else %}
, {{ author }}
{% endif %}
{% endfor %}
{% endif %}
</p>

生成的 HTML:

如果未指定作者:
<p>No author</p>

如果指定了一位作者:
<p>Usman</p>

如果指定了两个作者:
<p>Usman and Someone_Else</p>

如果指定了两个以上的作者:
<p>Usman, Bob, and Someone_Else</p>

关于jekyll - Jekyll 中的一篇文章如何拥有多个作者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15189008/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com