Как у меня может быть несколько авторов для одного сообщения в Jekyll?
у меня есть следующий заголовок на Jekyll post с одним автором "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] %}
Это, очевидно, будет поддерживать только одного автора, есть способ получить обоих авторов страницы? т. е. страница.автор[0] например?
1 ответов
если вы хотите указать несколько авторов в вашем YAML Frontmatter, то вы захотите использовать синтаксис списка YAML, как вы это сделали с категориями и тегами, например:
author:
- usman
- someone_else
это будет полезно для динамического ввода информации об авторе в каждый из сообщений.
Что касается разрешения нескольким людям вносить вклад в одну и ту же статью, я не думаю, что это имеет какое-либо отношение к Джекилу или тому, что указано в Frontmatter. Это вопрос наличия ваш контент Jekyll размещен в общем месте (например, на GitHub, как и многие), где вы и ваш сотрудник можете работать над файлом. При этом имейте в виду, что вы можете столкнуться с неприятными конфликтами слияния, если вы работаете над тем же файлом markdown параллельно.
обновление
это обновление, основанное на изменениях OP в исходном вопросе.
простой взломан подход будет установить тег автора, как это:
author: Usman and Someone_Else
это не дает вам много гибкости, хотя. Лучшим решением, которое потребует от вас изменить используемый шаблон, было бы сделать что-то вроде следующего:
во-первых, настройте свой фронт YAML, чтобы он мог поддерживать нескольких авторов.
authors:
- Usman
- Someone_else
теперь вы изменяете шаблон, чтобы пройти через авторов, указанных в переднем вопросе YAML.
<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>