<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Emoji on RuHeYun</title>
        <link>https://ruheyun.github.io/tags/emoji/</link>
        <description>Recent content in Emoji on RuHeYun</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <copyright>RuHeYun</copyright>
        <lastBuildDate>Wed, 04 Feb 2026 15:03:02 +0800</lastBuildDate><atom:link href="https://ruheyun.github.io/tags/emoji/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Emoji 支持</title>
        <link>https://ruheyun.github.io/p/emoji-support/</link>
        <pubDate>Tue, 05 Mar 2019 00:00:00 +0000</pubDate>
        
        <guid>https://ruheyun.github.io/p/emoji-support/</guid>
        <description>&lt;img src="https://ruheyun.github.io/p/emoji-support/the-creative-exchange-d2zvqp3fpro-unsplash.jpg" alt="Featured image of post Emoji 支持" /&gt;&lt;p&gt;这篇文章是&lt;code&gt;Hugo默认生成的文件，翻译版&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;在 Hugo 项目中，可通过多种方式启用 Emoji 支持。&lt;/p&gt;
&lt;p&gt;可在模板或内联短代码（&lt;a class=&#34;link&#34; href=&#34;https://gohugo.io/templates/shortcode-templates/#inline-shortcodes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Inline Shortcodes&lt;/a&gt;）中直接调用 &lt;a class=&#34;link&#34; href=&#34;https://gohugo.io/functions/emojify/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;emojify&lt;/code&gt;&lt;/a&gt; 函数。&lt;/p&gt;
&lt;p&gt;如需全局启用 Emoji：在站点&lt;a class=&#34;link&#34; href=&#34;%28https://gohugo.io/getting-started/configuration/%29&#34; &gt;配置文件&lt;/a&gt;中将 &lt;code&gt;enableEmoji&lt;/code&gt; 设为 &lt;code&gt;true&lt;/code&gt;，即可在内容文件中直接输入 Emoji 简写代码。例如：&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;nowrap&#34;&gt;&lt;span class=&#34;emojify&#34;&gt;🙈&lt;/span&gt; &lt;code&gt;:see_no_evil:&lt;/code&gt;&lt;/span&gt;  &lt;span class=&#34;nowrap&#34;&gt;&lt;span class=&#34;emojify&#34;&gt;🙉&lt;/span&gt; &lt;code&gt;:hear_no_evil:&lt;/code&gt;&lt;/span&gt;  &lt;span class=&#34;nowrap&#34;&gt;&lt;span class=&#34;emojify&#34;&gt;🙊&lt;/span&gt; &lt;code&gt;:speak_no_evil:&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Emoji 速查表（&lt;a class=&#34;link&#34; href=&#34;https://www.webfx.com/tools/emoji-cheat-sheet/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cheat sheet&lt;/a&gt;）是查询简写代码的实用参考资源。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：上述步骤可在 Hugo 中启用 Unicode 标准 Emoji 字符与序列，但实际渲染效果取决于浏览器及操作系统平台。如需自定义 Emoji 样式，可使用第三方 Emoji 字体或指定字体栈，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.emoji {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;什么是短代码&#34;&gt;什么是短代码？
&lt;/h2&gt;&lt;p&gt;在 Hugo 中，&lt;strong&gt;内联短代码（Inline Shortcodes）&lt;/strong&gt; 是指可以在文章内容中直接使用的简短标记语法，用于插入动态内容或特殊功能。&lt;/p&gt;
&lt;p&gt;短代码是一种 Hugo 提供的模板功能，允许你在 Markdown 内容中嵌入可重用的代码片段。&lt;/p&gt;
&lt;h2 id=&#34;内联短代码的特点&#34;&gt;内联短代码的特点：
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;直接嵌入内容中&lt;/strong&gt; - 可以在段落中间使用，不会打断文本流&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;语法简洁&lt;/strong&gt; - 使用花括号 &lt;code&gt;{{ }}&lt;/code&gt; 包裹&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可传递参数&lt;/strong&gt; - 可以接收参数来控制行为&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;示例&#34;&gt;示例：
&lt;/h2&gt;&lt;p&gt;这是一个段落，中间可以使用 {{&amp;lt; highlight go &amp;gt;}}这样的内联短代码 {{&amp;lt; /highlight &amp;gt;}}。&lt;/p&gt;
&lt;p&gt;或者调用 emoji 函数：{{% emojify &amp;ldquo;:smile:&amp;rdquo; %}}&lt;/p&gt;
&lt;p&gt;当你在内容中写 {{% emojify &amp;ldquo;:smile:&amp;rdquo; %}} 时，Hugo 会去 &lt;code&gt;layouts/shortcodes/&lt;/code&gt; 目录下寻找 &lt;code&gt;emojify.html&lt;/code&gt; 模板文件。&lt;/p&gt;
&lt;p&gt;具体操作看本文&lt;code&gt;5.2.3&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;与块级短代码的区别&#34;&gt;与块级短代码的区别：
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;内联短代码&lt;/strong&gt;：在行内使用，不独占一行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;块级短代码&lt;/strong&gt;：单独成块，通常用于插入图片、视频等较大元素&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;在-emoji-场景中的使用&#34;&gt;在 Emoji 场景中的使用：
&lt;/h2&gt;&lt;p&gt;{{% emojify &amp;ldquo;:smile:&amp;rdquo; %}}   // 会渲染为 😄&lt;/p&gt;
&lt;p&gt;这样你就可以在不启用全局 &lt;code&gt;enableEmoji&lt;/code&gt; 的情况下，有选择性地在特定位置使用 Emoji 了。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;但是好像这样做不行，下面是解决方案：&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;emojify-不是短代码而是模板函数&#34;&gt;&lt;code&gt;emojify&lt;/code&gt; 不是短代码，而是模板函数
&lt;/h3&gt;&lt;p&gt;Hugo 的 &lt;code&gt;emojify&lt;/code&gt; 是一个&lt;strong&gt;模板函数（template function）&lt;/strong&gt;，&lt;strong&gt;不是内置短代码&lt;/strong&gt;。因此以下写法&lt;strong&gt;无法直接使用&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;{{% emojify &amp;ldquo;:smile:&amp;rdquo; %}}   // 无效（Hugo会报错）&lt;/p&gt;
&lt;h3 id=&#34;正确用法&#34;&gt;正确用法
&lt;/h3&gt;&lt;h4 id=&#34;方式-1全局启用推荐&#34;&gt;方式 1：全局启用（推荐）
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;hugo.toml&lt;/code&gt;/&lt;code&gt;hugo.yaml&lt;/code&gt; 中设置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;enableEmoji&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后在 Markdown 中直接写：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:smile:  # 会自动渲染为 😄
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;方式-2在模板文件中使用&#34;&gt;方式 2：在模板文件中使用
&lt;/h4&gt;&lt;p&gt;在 &lt;code&gt;.html&lt;/code&gt; 模板中调用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;emojify&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Hello :smile:&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;方式-3自定义短代码如需局部控制&#34;&gt;方式 3：自定义短代码（如需局部控制）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建 &lt;code&gt;layouts/shortcodes/emoji.html&lt;/code&gt;，下入下面代码：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;emojify&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Get&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;在 Markdown 中使用：{{% emojify &amp;ldquo;:smile:&amp;rdquo; %}} 会被渲染为 😄&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：不能更改themes文件夹下的文件，要复制到主文件夹对应文件夹下，如下图：&lt;/p&gt;
&lt;img src=&#34;image-20260129142644914.png&#34; alt=&#34;image-20260129142644914&#34; style=&#34;zoom:80%;&#34; /&gt;
&lt;h2 id=&#34;总结&#34;&gt;总结
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方法&lt;/th&gt;
          &lt;th&gt;是否可行&lt;/th&gt;
          &lt;th&gt;说明&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;{{% emojify &amp;ldquo;:smile:&amp;rdquo; %}}&lt;/td&gt;
          &lt;td&gt;❌&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;emojify&lt;/code&gt; 不是短代码，不能这样用&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;全局 &lt;code&gt;enableEmoji: true&lt;/code&gt; + &lt;code&gt;:smile:&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;最简单，推荐&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;模板中 &lt;code&gt;{{ emojify &amp;quot;...&amp;quot; }}&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;适用于主题开发者，不推荐&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;自定义短代码包装 &lt;code&gt;emojify&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;✅&lt;/td&gt;
          &lt;td&gt;需手动创建短代码文件，推荐&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;所以文档示例中提到的&amp;quot;Inline Shortcodes&amp;quot;是指&lt;strong&gt;可以创建自定义短代码来调用 &lt;code&gt;emojify&lt;/code&gt; 函数&lt;/strong&gt;，而不是 &lt;code&gt;emojify&lt;/code&gt; 本身是短代码。&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
