goodwp/goodenberg

GitHub: goodwp/goodenberg

一个为基于 Gutenberg 块编辑器开发现代 WordPress 站点和应用而提供的 React 组件、Hooks、工具函数与 PHP 类库。

Stars: 23 | Forks: 1

# Goodenberg Goodenberg 是一个组件、辅助工具和示例的库,用于构建现代的 WordPress 站点和应用程序,并支持 块编辑器以及 Gutenberg 引入的所有其他功能。 ## 目录 - [更新日志](./CHANGELOG.md) - [版本控制 / 支持的 WordPress 版本](#versioning--supported-wordpress-versions) - [JavaScript / React](#javascript--react) - [PHP](#php) - [示例](#examples) ## 版本控制 / 支持的 WordPress 版本 该库将遵循 SemVer 版本控制。将尽量减少主要版本和破坏性更新。 每个次要版本都将支持发布时最新的稳定版 WordPress。 开发版本将尝试兼容较新的 Gutenberg 版本。 当前支持的 WordPress 版本:WordPress 6.5 ## JavaScript / React 所有 JavaScript 代码均在 `src` 目录中开发。 ### 用法 1. 通过 `npm install @goodwp/goodenberg` 安装该包 2. 使用 `@wordpress/scripts` 进行便捷的构建过程,并自动提取依赖项 3. 使用单个组件/hooks 等 - 所有子模块(见下文)均可从子模块入口点导入 `import {Page} from "@goodwp/goodenberg/admin/components";` - 所有子模块也支持基于目录的导入: `import {Page} from "@goodwp/goodenberg/admin/components/page";` ### 架构 该库仅使用 babel 和 `@wordpress/babel-preset-default` 预设来转译每一个 js 文件,但没有 任何其他的构建过程。建议使用 @wordpress/scripts 或自定义的 webpack 配置将其打包。 样式是通过 @emotion 创建的,以避免需要额外的样式表。 ### Components (`components`) 用于你的管理界面或自定义块的 React 组件。 - [EntityRecordsSelect](src/components/entity-records-select/README.md):一个允许用户选择 多个记录( post、term 等)的组件。 - [EntityRecordSelect](src/components/entity-record-select/README.md):一个允许用户选择 单个 记录( post、term 等)的组件。 [更多信息](src/components/README.md) ### Admin (`admin`) 用于在 wp-admin 中构建页面的 React 组件、hooks 和 utils。 适用于构建自定义插件页面、设置页面等。需与 @wordpress/components 配合使用。 #### Components - [Page](src/admin/components/README.md):一个用于构建完整 wp-admin 页面的组件,包括 header、content、 notices。 - [Page.Header](src/admin/components/README.md):用于 wp-admin 页面的 header 栏。 - [AdminNotices](src/admin/components/README.md):一个“slot”,将渲染所有在 服务器端 渲染的管理通知 - [Bar](src/admin/components/README.md):用于管理页面 header/footer 的全宽导航栏(在 Page.Header 中使用)。 - [Container](src/admin/components/README.md):一个具有可配置默认最大宽度的居中容器。 - [TabPanel](src/admin/components/README.md):WordPress TabPanel 组件的样式版本,可在管理页面上直接 在你的 Page.Header 下方使用。 [更多信息](src/admin/components/README.md) #### Router 一个简单的“router”,用于根据当前活动的“route”渲染部分组件。 有两种实现方式(一种基于 URL 路由,一种基于 state 路由)。 两者都提供相似的 API。 [更多信息](src/admin/router/README.md) ### Hooks (`hooks`) 用于你的管理界面或自定义块的 React hooks。 - [`useApiFetch`](src/hooks/use-api-fetch/README.md):一个围绕核心的 [`apiFetch`](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-api-fetch/) 函数 的 hook 包装器。 - [`useLocation`/`useHistory`](src/hooks/use-location/README.md):一个使用 URL/window.location 和 history 对象来使用 浏览器 导航的 hook。 [更多信息](src/hooks/README.md) ### Utils (`utils`) 实用的工具函数。 - `getBlockStyle(className: string)`:通过其 classname 获取所选/应用的块样式。 - `onBlockRegistration(blockName, namespace, callback)`:允许挂钩到特定 块的 registerBlockType hook 中。避免在你的 callback 中检查块名称。 - `onBlockEdit(blockName, namespace, callback, higherOrderComponent = false)`:允许挂钩到特定 块的 BlockEdit hook 中。避免在你的 callback 中检查块名称。 [更多信息](src/utils/README.md) ## PHP 所有 PHP 代码均在 `lib` 目录中开发。 **用法** 1. 通过 `composer require goodwp/goodenberg` 安装该包 2. 在你的插件/主题中加载你的 composer autoload 文件。 3. 使用这些类和辅助工具。 [更多信息](lib/README.md) ## 示例 [示例目录](./examples) 包含一个使用了大量组件的插件。 你也可以通过 @wordpress/env 测试此插件: 1. 克隆该仓库 2. 运行 `npm install` 3. 运行 `npm env:start` 4. 打开 `http://localhost:8888/wp-admin` 并使用 `admin` / `password` 登录 5. 启用该插件并打开示例页面。 你也可以使用 [WordPress Playground](https://playground.wordpress.net/) 直接在浏览器中查看示例: 1. 从 [最新发布版](https://github.com/goodwp/goodenberg/releases/latest/download/goodenberg-examples.zip) 下载示例插件。 2. 前往 https://playground.wordpress.net/ 3. 上传并启用该插件 4. 前往新的管理页面“Goodenberg examples” ## Bugs、Issues、安全 Issues、功能请求 访问我们的 [GitHub 仓库](https://github.com/goodwp/goodenberg)。 灵感来源于 [10up/block-components](https://github.com/10up/block-components)。
标签:Gutenberg, OpenVAS, PHP, React, Syscall, Syscalls, Web开发, WordPress, 前端组件库, 数据可视化, 自定义脚本