短代码

qr

用 qr 短代码把文本编码为二维码图片并插入正文。

qr 短代码按指定选项把给定的文本编码为二维码,并渲染出对应的图片。自 Hugo 0.141.0 起可用。生成的图片会写入发布目录(publishDir)下的子目录,正文中得到的是一个引用该图片的 img 元素,因此二维码可以用于网址、电话号码或名片等需要被手机扫描的场景。

短代码在内部调用 images.QR 函数,涉及图片资源的生成规则与处理方式可参阅图像处理。

示例

用自闭合写法把文本作为参数传入:

{{< qr text="https://gohugo.io" />}}

也可以把文本写在开闭标记之间:

{{< qr >}}
https://gohugo.io
{{< /qr >}}

为电话号码生成二维码:

{{< qr text="tel:+12065550101" />}}

下面的例子用较低的纠错级别、较大的模块尺寸,为 vCard 格式的联系人信息生成二维码:

{{< qr level="low" scale=2 alt="QR code of vCard for John Smith" >}}
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:Smith;John;R.;Dr.;PhD
FN;CHARSET=UTF-8:Dr. John R. Smith, PhD.
ORG;CHARSET=UTF-8:ABC Widgets
TITLE;CHARSET=UTF-8:Vice President Engineering
TEL;TYPE=WORK:+12065550101
EMAIL;TYPE=WORK:jsmith@example.org
END:VCARD
{{< /qr >}}

参数

参数名 类型 说明
text string 要编码的文本;未提供时取开闭标记之间的文本。
level string 编码文本时使用的纠错级别,取值为 low、medium、quartile 或 high 之一。默认值为 medium。
scale int 每个二维码模块对应的图片像素数。必须大于或等于 2。默认值为 4。
targetDir string 发布目录(publishDir)下用于存放所生成图片的子目录。
alt string img 元素的 alt 属性。
class string img 元素的 class 属性。
id string img 元素的 id 属性。
loading string img 元素的 loading 属性,取值为 eager 或 lazy。
title string img 元素的 title 属性。

纠错级别越高,二维码在被遮挡或污损时越容易被识别,但同样内容所需的模块也越多。scale 控制最终图片的边长,数值越大图片越清晰,文件也越大。