用于 WordPress 的 Shortcode 模块。

安装

安装该模块

npm install @wordpress/shortcode --save

该包假定你的代码将在 ES2015+ 环境中运行。如果你使用的环境对此类语言特性和 API 支持有限或不支持,应在代码中包含 随 @wordpress/babel-preset-default 提供的 polyfill。

API

attrs

解析 Shortcode 属性。

Shortcode 接受多种类型的属性。这些属性主要可分为命名属性和数字属性:

命名属性按键/值形式分配,而数字属性则作为数组处理。

命名属性可以格式化为 name="value"、name='value' 或 name=value。数字属性可以格式化为 "value" 或仅 value。

参数

  • text string:序列化的 Shortcode 属性。

返回值

  • ShortcodeAttrs:解析后的 Shortcode 属性。

default

创建一个 Shortcode 实例。

要访问 Shortcode 的原始表示,请传入一个 options 对象,其中包含 tag 字符串、字符串或对象形式的 attrs、表示 Shortcode type 的字符串(‘single’、‘self-closing’ 或 ‘closed’),以及 content 字符串。

类型

  • Shortcode

fromMatch

从 RegExp 匹配结果生成 Shortcode 对象。

接受从对由 regexp() 生成的 RegExp 调用 regexp.exec() 得到的 match 对象。match 也可以设置为传递给 regexp.replace() 的回调函数的 arguments。

参数

  • match Match:匹配结果数组。

返回值

  • ShortcodeInstance:Shortcode 实例。

next

查找下一个匹配的 Shortcode。

参数

  • tag string:Shortcode 标签。
  • text string:要搜索的文本。
  • index number:开始搜索的索引。

返回值

  • ShortcodeMatch | undefined:匹配信息。

regexp

生成用于识别 Shortcode 的 RegExp。

基础正则在功能上等同于 wp-includes/shortcodes.php 中 get_shortcode_regex() 所使用的正则。

捕获组:

  1. 一个额外的 [,用于允许通过双 [[]] 转义 Shortcode
  2. Shortcode 名称
  3. Shortcode 参数列表
  4. 自闭合 /
  5. 当 Shortcode 包裹某些内容时,该内容。
  6. 结束标签。
  7. 一个额外的 ],用于允许通过双 [[]] 转义 Shortcode

参数

  • tag string:Shortcode 标签。

返回值

  • RegExp:Shortcode RegExp。

replace

替换文本块中匹配的 Shortcode。

参数

  • tag string:Shortcode 标签。
  • text string:要搜索的文本。
  • callback ReplaceCallback:用于处理匹配结果并返回替换字符串的函数。

返回值

  • 已替换 Shortcode 的文本。

string

从 Shortcode 参数生成字符串。

创建一个 Shortcode 实例并返回字符串。

接受与 shortcode() 构造函数相同的 options,其中包含 tag 字符串、字符串或对象形式的 attrs、指示是否使用 single 标签格式化 Shortcode 的布尔值,以及 content 字符串。

参数

  • options ShortcodeOptions:Shortcode 选项。

返回值

  • string:Shortcode 的字符串表示。

为该包做贡献

这是一个独立包,也是 Gutenberg 项目的一部分。该项目以 monorepo 形式组织,由多个自包含的软件包组成,每个包都有特定用途。此 monorepo 中的包发布到 npm,并被 WordPress 以及其他软件项目使用。

要了解有关为该包或整个 Gutenberg 项目做贡献的更多信息,请阅读项目的主 贡献者指南。