人工制造/hm-gutenberg-tools

Human Made Gutenberg Tools

安装次数: 60,869

依赖项: 0

建议者: 0

安全性: 0

星标: 191

关注者: 27

分支: 20

公开问题: 11

语言:JavaScript

类型:WordPress 插件


README

将有用的可重用 Gutenberg 组件和其他工具捆绑在一起的地方。

这包括什么?

  • 帖子选择按钮。 提供类似媒体模态的用户体验来选择单个或多个帖子。它支持搜索、过滤、排序和自定义帖子类型(以及分类法)。改善侧边栏中的工作。
  • 更多侧边栏控件。其他组件封装为标准化的侧边栏控件组件。

image

安装说明

建议使用 Composer 安装为插件或 mu 插件。

composer require humanmade/hm-gutenberg-tools

如果您使用其他方法安装(例如 git 子模块),请注意,main 分支不包括构建资产,但带有标签的版本和 build 分支包括它们。您不需要将构建资产作为项目构建过程的一部分来构建此插件。

在主题中捆绑

您可以将插件捆绑到主题中(或插件/mu-plugins 目录之外的任何位置)。为了做到这一点,您需要定义 HM_GB_TOOLS_DIRHM_GB_TOOLS_URL。例如

define( 'HM_GB_TOOLS_DIR', get_stylesheet_directory() . '/lib/hm-gutenberg-tools' );
define( 'HM_GB_TOOLS_URL', get_stylesheet_directory_uri() . '/lib/hm-gutenberg-tools' );

使用 HM Gutenberg Tools 的组件

您应该指定脚本 hm-gb-tools-editor 作为您正在使用的脚本的依赖项。

wp_enqueue_script( 'my-custom-block', plugins_url( 'my-custom-block.js', dirname(__FILE__) ), [ 'hm-gb-tools-editor' ], '1.0' );

HM Gutenberg Tools 然后将所有功能全局暴露为 window.hm。然后您可以在项目中以与使用任何其他 Gutenberg 组件相同的方式使用这些引用。

const { PostSelectButton } = window.hm.components;

function Edit( { attributes, setAttributes } ) {
    return (
        <PostSelectButton
            value={ attributes.postIds }
            onSelect={ posts => setAttributes( { postIds: posts.map( p => p.id ) } ) }
            postType="page"
            btnProps={ { isLarge: true } }
        >
    );
}

请参阅 Wiki 了解有关各个组件的用法说明

开发

  • npm run build 构建 code 的生产版本。
  • npm run watch 监听更改并构建 code 的开发版本。
  • npm run lint 检查您的 JS。运行 npm run lint -- --fix 修复它。
  • composer run lint 检查您的 PHP 代码。

为了帮助本地开发,您可以定义 define( 'HM_GB_TOOLS_DEV', true ); 启用“HM Gutenberg Tools Dev”块,该块包含了许多此插件提供的功能的示例。

发布新版本。

  1. 更新 plugin.phppackage.json 中的版本号。
  2. 将更改日志添加到新版本的说明中。
  3. 将更改提交到 main 并推送。
  4. 运行 bash 脚本:./release.sh v1.2.3

该脚本将同步构建分支与主分支,构建资产并提交更改,并发布一个新的标记版本。

更改日志

v1.7.3

  • 恢复由于发布过程错误而未包含在 v1.7.2 中的构建资产文件。

v1.7.2

  • 升级依赖项以增强性能、安全性和稳定性。
  • 审查依赖项升级,提高代码安全性。
  • 通过引入对 post.title.rendered 的清理来增强安全性,以减轻 XSS 攻击风险。

v1.7.1

  • 为术语选择添加最小搜索长度过滤器。
  • 为术语选择查询添加过滤器。

v1.7.0

  • 添加帖子状态字段选择。
  • 允许从Rest API端点接受状态。
  • 在帖子列表项中添加状态字段。
  • 更新已弃用的mediaUpload函数。

v1.6.3

  • 默认忽略置顶帖子。

v1.6.2

  • 修复当两个选定的日期都未设置时,日期过滤器标签没有被清除的问题。
  • 从node-sass切换到sass,并修复npm审计问题。

v1.6.1

  • 当过滤器更改时重置PostSelect当前页面。

v1.6.0

  • 添加用于搜索帖子时的日期范围过滤器。

v1.5.0

  • 处理多个帖子类型之间的当前选择。
  • 正确处理帖子选择模态中的帖子类型过滤器。
  • 在清除类型标记列表时保留指定的帖子类型列表。

v1.4.1

  • 添加过滤器以允许修改帖子选择查询。

v1.4.0

  • 支持帖子选择组件中的缩略图。

v1.3.1

  • 在点击单个帖子选择之外时切换选择。

v1.1.0

  • 支持i18n。

v1.0.0

  • 重构以兼容WordPress 5.0。
    • 使用核心数据存储。
    • 使用自定义端点以处理多个帖子类型的内容获取。

v0.2.0

  • 弃用EditableHTML。现在您可以使用Gutenberg组件wp.editor.RichText,并将format属性设置为string
  • 更新以支持最新版本的Gutenberg(3.5)。