2017-01-27 3 views
1

У меня есть коллекция _authors с некоторыми вводами.Как использовать коллекцию для тегов

Я хочу, чтобы назначить автор-тег на мои посты с помощью:

{% assign author = site.authors | where: "title", page.author | first %} 
{% if author %} 
    <a href="{{ author.url }}">{{ author.title }}</a> 
{% endif %} 

я проверил это только с личным именем, как Bob и она работает. Если я выберу переднюю и фамилию Bob Baumeister для названия в моей коллекции авторов, это не сработает. кто-нибудь знает, почему это произошло?

Пример Frontmatter сообщение:

--- 
title: Building 
date: 2017-01-11 16:22:51 +0100 
author: Bob Baumeister 
--- 

Content 

Пример Frontmatter Коллекция запись:

--- 
title: Bob Baumeister 
twitter: bobby 
--- 

Content 

Спасибо за вашу помощь.

+0

Можете ли вы дать пример записи автора? –

+0

Возможно, это связано с использованием фильтра «первым», который выбирает первую строку в имени авторов, обновляет вопрос на примере примера page.author и его записи в файле данных – marcanuy

+0

@ David: Да, Я добавил несколько примеров выше. – user3473628

ответ

2

попробовать с ":

author: "Bob Baumeister" 

Update

<!-- Bob Bau => bob-bau --> 
{% assign slug = page.author | slugify %} 

<!-- filter by the slugified title --> 
{% assign author = site.authors | where: "title", slug | first%} 
... 

, но я думаю, что использование authors.yml файла вместо коллекции может дать большую гибкость:

- name: Bob Baumeister 
    title: bob-baumeister 
    url: /bob-baumeister 

- name: Henri Beyle 
    title: Stendhal 
    url: /stendhal 

- name: Jon Doe 
    title: jon-doe 
    url: https://author.jo 
+0

Спасибо за подсказку. Пробовал это на своих постах. Но не работает. Если я использую только одно имя, например 'Bob'it. И «Боб-Баумейстер» тоже. Только «Bob Baumeister» не работает ... – user3473628

+0

кажется, что 'author' работает как url, – yaitloutou

+0

Это был правильный путь. Поскольку 'page.author' был slugified и« title »из сайта. Авторы не добавили еще один тег в коллекцию авторов, например' authors_slug', с содержимым 'bob-baumeister' Или можно ли сбросить" название "также? Спасибо! – user3473628

Смежные вопросы