如何在 Jekyll + Markdown 中创建新实体

How to create new entities in Jekyll + Markdown

我有一堆 Markdown 文件。在其中,我希望能够使用自定义项目符号和其他图像;这些是作为图像实现的(带有替代文本,但它们比图像更漂亮)。创建其中一张图片的 Markdown 如下所示:

*![✨](https://s.w.org/images/core/emoji/2.2.1/svg/2728.svg)*

(是的,它在 <em> </em> 内呈现 - 这是为了简化 CSS,因为我不能轻易地在 img 标签上放置 class。 )

有没有办法告诉解析器应该将单个字符 呈现为整个 <img> 标记?

该站点托管在 GitHub 个页面上,因此答案需要限制在 GitHub 风格的 Markdown 中。如果它不容易完成,我可以制作一个预提交挂钩或其他东西和 运行 一个本地解析器,但让它自动工作会容易得多。

...since I can't put a class on the img tag easily.

如果你使用 kramdown 就可以 - 它有一个 feature,允许将属性分配给块级元素。例如:

![img]({{ 'img.png' | relative_url }}){: .center }

会变成

<img src="...img.png" alt="img" class="center">

您可以将表情符号放在 includes 中,然后从您的 post 中引用它们。这与 Github 页面兼容,因为它不需要插件。

在你的 post 中输入:

{% include emoji.html %}

这将加载 _includes/emoji.html 的内容:

<a href="https://s.w.org/images/core/emoji/2.2.1/svg/2728.svg">✨</a>

你可以传参数给它,根据你要加载的图片加载不同的图片,例如:{% include emoji.html image="stars" %}

另一种选择是创建 custom liquid tags 来加载它们。