Jekyll 为覆盖整个网站的标签指定字体图标

Jekyll 为覆盖整个网站的标签指定字体图标,jekyll,yaml-front-matter,Jekyll,Yaml Front Matter,我在每一篇帖子上都有这样一个YAML头条: --- title: Title subtitle: Description date: 2017-09-26 13:15:18 +0200 post-type: front-end tages: - HTML - CSS - jQuery --- 我有这个代码来显示列表中的每个标记 {% for tag in page.tags %} <a class="btn btn-primary" r

我在每一篇帖子上都有这样一个YAML头条:

---
title:       Title
subtitle:    Description
date:        2017-09-26 13:15:18 +0200
post-type:   front-end

tages:
 - HTML
 - CSS
 - jQuery
---
我有这个代码来显示列表中的每个标记

{% for tag in page.tags %}
    <a class="btn btn-primary" role="button" href="/tags#{{ tag | slugify }}" rel="tag">{{ tag }}</a>
{% endfor %}
{%for page.tags%}
{%endfor%}
现在,我想通过添加以下内容在每个标记内添加一个字体图标:

<span class="badge badge-light"><i class="fab fa-..."></i>

像这样:

{% for tag in page.tags %}
    <a class="btn btn-primary mr-1 mb-2" role="button" href="/tags#{{ tag | slugify }}" rel="tag">{{ tag }} <span class="badge badge-light"><i class="fab fa-github"></i></span></a>
{% endfor %}
{%for page.tags%}
{%endfor%}
现在我的问题来了。我想完成的是手动为标签指定一个字体图标链接。当我在YAML的前面填写一个或多个标签时,我想说的是字体很棒的链接。但我不知道怎么做。我是杰基尔的新手


我的第一个想法是以某种方式使用config.yml,但我同样不知道如何处理它,也不知道在谷歌中应该表述什么问题。我希望你们中的一位能给我指出正确的方向。

我认为你们有两个这样做的机会。您可以在单独或相同的yaml中有一个键-值对,将标记映射到图标,或者使用描述标记和图标的项目类型使标记列表更加复杂。我将给你一个我试图解释的简单例子


样本1 post.yaml

tags:
- HTML
- CSS
- jQuery
mapping.yaml(需要代码解析的单独文件,根据需要命名)

在您的模板中,您将获得如下字体图标类名:

// ... load mapping yaml somewhere over here into `mapping` variable
{% for tag in page.tags %}
  <a class="btn btn-primary mr-1 mb-2" role="button" href="/tags#{{ tag | slugify }}" rel="tag">{{ tag }} <span class="badge badge-light"><i class="fab {{ mapping.tags[tag] }}"></i></span></a>
{% endfor %}
{% for tag in page.tags %}
  <a class="btn btn-primary mr-1 mb-2" role="button" href="/tags#{{ tag.name | slugify }}" rel="tag">{{ tag.name }} <span class="badge badge-light"><i class="fab tag.icon }}"></i></span></a>
{% endfor %}
在您的模板中,您将获得如下字体图标类名:

// ... load mapping yaml somewhere over here into `mapping` variable
{% for tag in page.tags %}
  <a class="btn btn-primary mr-1 mb-2" role="button" href="/tags#{{ tag | slugify }}" rel="tag">{{ tag }} <span class="badge badge-light"><i class="fab {{ mapping.tags[tag] }}"></i></span></a>
{% endfor %}
{% for tag in page.tags %}
  <a class="btn btn-primary mr-1 mb-2" role="button" href="/tags#{{ tag.name | slugify }}" rel="tag">{{ tag.name }} <span class="badge badge-light"><i class="fab tag.icon }}"></i></span></a>
{% endfor %}
{%for page.tags%}
{%endfor%}


如果没有提供图标,不要忘记考虑回退。我不确定您使用的是哪种技术,这就是为什么我所有的代码都是伪代码。但是,您应该确保回退到默认类,或者至少在某种程度上防止HTML中出现异常。

第二个示例有效,但我认为第一个更符合我的要求。不过我有一个简短的问题。如何将mapping.yml作为一个变量包含进来?忽略上面的问题,我开始工作了。谢谢你的帮助:)