greenpeace / planet4-plugin-gutenberg-blocks
此仓库包含为 Planet4 项目提供 gutenberg 块的 WordPress 插件
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- phpunit/phpunit: ^7.5||^9.5
- squizlabs/php_codesniffer: ^3.5.8
- wp-coding-standards/wpcs: ^2.2.0
- yoast/phpunit-polyfills: ^1.1.0
- dev-main
- v1.96.0
- v1.95.0
- v1.94.0
- v1.93.0
- v1.92.0
- v1.91.0
- v1.90.0
- v1.89.0
- v1.88.0
- v1.87.0
- v1.86.0
- v1.85.0
- v1.84.0
- v1.83.0
- v1.82.0
- v1.81.0
- v1.80.0
- v1.79.1
- v1.79.0
- v1.78.0
- v1.77.0
- v1.76.0
- v1.75.0
- v1.74.0
- v1.73.0
- v1.72.0
- v1.71.0
- v1.70.2
- v1.70.1
- v1.70.0
- v1.69.0
- v1.68.0
- v1.67.0
- v1.66.0
- v1.65.0
- v1.64.0
- v1.63.0
- v1.62.0
- v1.61.0
- v1.60.0
- v1.59.0
- v1.58.0
- v1.57.0
- v1.56.0
- v1.55.0
- v1.54.0
- v1.53.0
- v1.52.0
- v1.51.0
- v1.50.1
- v1.50.0
- v1.49.0
- v1.48.0
- v1.47.0
- v1.46.0
- v1.45.1
- v1.45.0
- v1.44.0
- v1.43.0
- v1.42.0
- v1.41.0
- v1.40.0
- v1.39.0
- v1.38.0
- v1.37.0
- v1.36.0
- v1.35.0
- v1.34.0
- v1.33.0
- v1.32.0
- v1.31.0
- v1.30.0
- v1.29.0
- v1.28.0
- v1.27.0
- v1.26.0
- v1.25.0
- v1.24.0
- v1.23.0
- v1.22.0
- v1.21.0
- v1.20.0
- v1.19.0
- v1.18.0
- v1.17.0
- v1.16.0
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.0
- v1.11.0
- v1.10.0
- v1.9.0
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- v0.135.2
- v0.135.1
- v0.135.0
- v0.134.0
- v0.133.0
- v0.132.0
- v0.131.0
- v0.130.0
- v0.129.2
- v0.129.1
- v0.129.0
- v0.128.0
- v0.127.0
- v0.126.0
- v0.125
- v0.124.0
- v0.123.0
- v0.122.0
- v0.121.0
- v0.120
- v0.119
- v0.118
- v0.117
- v0.116
- v0.115
- v0.114
- v0.113
- v0.112
- v0.111
- v0.110.1
- v0.110
- v0.109
- v0.108
- v0.107
- v0.106
- v0.105
- v0.104
- v0.103
- v0.102
- v0.101
- v0.100
- v0.99
- v0.98
- v0.97
- v0.96
- v0.95
- v0.94
- v0.93
- v0.92
- v0.91
- v0.90
- v0.89
- v0.88
- v0.87
- v0.86
- v0.85
- v0.84
- v0.83
- v0.82
- v0.81
- v0.80
- v0.79
- v0.78
- v0.77.2
- v0.77.1
- v0.77
- v0.76
- v0.75
- v0.74
- v0.73
- v0.72
- v0.71
- v0.70
- v0.69
- v0.68
- v0.67
- v0.66
- v0.65
- v0.64
- v0.63
- v0.62
- v0.61
- v0.60
- v0.59
- v0.58
- v0.57
- v0.56
- v0.55
- v0.54
- v0.53
- v0.52
- v0.51
- v0.50
- v0.49
- v0.48
- v0.47
- v0.46
- v0.45
- v0.44
- v0.43
- v0.42
- v0.41.2
- v0.41.1
- v0.41
- v0.40
- v0.39
- v0.38
- v0.37
- v0.36
- v0.35
- v0.34.2
- v0.34.1
- v0.34
- v0.33
- v0.32
- v0.31
- v0.30
- v0.29
- v0.28
- v0.27.2
- v0.27.1
- v0.27
- v0.26
- v0.25
- v0.24
- v0.23
- v0.22
- v0.21
- v0.20
- v0.19
- v0.18
- v0.17
- v0.16
- v0.15
- v0.14.1
- v0.14
- v0.13
- v0.12.2
- v0.12.1
- v0.12
- v0.11
- v0.10
- v0.9
- v0.8
- v0.7.1
- v0.7
- v0.6.1
- v0.6
- v0.5
- v0.4.1
- v0.4
- v0.3
- v0.2
- v0.1.1
- v0.1
- dev-dependabot/npm_and_yarn/multi-9423f4c335
- dev-dependabot/npm_and_yarn/multi-cf87d80143
- dev-dependabot/npm_and_yarn/multi-d66d039ac5
- dev-PLANET-7611_use-the-block-name-happy-point-consistently
- dev-PLANET-7610_rename-submenu-block-as-table-of-contents
- dev-articles-covers-migration
- dev-PLANET-7521_remove-media-block
- dev-PLANET-7489-remove-campaign-cover
- dev-PLANET-7548_remove-action-pattern-from-plugin
- dev-PLANET-7542_remove-blocks-moved-to-theme
- dev-feat/timber-2
- dev-native-lightbox-poc
- dev-test/debug-dumb
- dev-PLANET-7306_move-take-action-boxout-block-into-master-theme
- dev-table-of-contents-experiment
- dev-investigate-wp-command-palette
- dev-maintenance/node-version
- dev-update/timber2
- dev-articles-playwright-test
- dev-enform-playwright-test
- dev-remove-covers-block
- dev-feature/log-en-auth-fail
- dev-feature/implement-reusable-template-patterns
- dev-test/update-circleci-conf
- dev-ia/pattern-report-extended
- dev-revert-758-feature/turn-sharebuttons-to-a-block
- dev-contrib
This package is auto-updated.
Last update: 2024-09-25 09:41:39 UTC
README
这是什么?
这是 Greenpeace Planet 4 项目的 WordPress Gutenberg 块插件。您可以在 Planet 4 博客 上了解更多关于此项目的信息。
贡献
最佳开始方式是从包含所有必要信息和任务的 Planet 4 仓库。
如何在 Planet 4 中使用此插件
您可以直接在 WordPress 中使用此插件,通过将其包含在您的 composer.json
文件中
"require": {
...
"greenpeace/planet4-plugingutenberg-plugin" : "X.X.X",
...
},
资产构建
您需要 npm 来安装依赖项,只需运行 npm install
来安装它们。
开发
- 运行
npm start
以启动一个监视器,每次您进行更改时都会重建。 - 运行
npm run build
以手动构建文件。
构建设置
WordPress 为整个构建设置提供了一个单一依赖项,包括
- Babel:JSX & ES6 语法到浏览器兼容 JS 的转换器
- Webpack:所有 JS 模块和依赖解析的打包器
您问如何开发新的块?
-
在 classes/blocks 目录内创建一个扩展
Base_Block
(P4GBKS\Blocks\Base_Block
) 的新类。类名应遵循命名约定,例如,Blockname,其文件名应为 class-blockname.php。 -
实现其父类的抽象方法。在块的 构造函数 中,您需要使用
register_block_type
定义块的详细信息(字段、模式),并在 prepare_data() 方法中准备用于渲染的数据。 -
在 templates/blocks 目录内创建将用于渲染块的模板文件。如果文件名为 blockname.twig,则需要将 BLOCK_NAME 常量设置为 'blockname'。它也适用于 HTML 模板。只需将 'php' 添加为 block() 方法的第三个参数。
-
将您的新的类名添加到 Loader (
P4GBKS\Loader
) 构造函数内的数组中。 -
在 react-blocks/src/blocks 目录内创建一个以您的块命名的新的文件夹 Blockname(首字母大写,其余小写)。在该文件夹内创建两个新文件,分别命名为 Blockname.js 和 BlocknameBlock.js。
BlocknameBlock.js 应该是一个使用 wordpress registerBlockType 定义块的属性、模式和
edit()
函数的类。edit()
函数应返回一个用于在编辑器中渲染块的 React 组件。save()
函数应返回 null,因为我们目前使用服务器端渲染。Blockname.js 应该是一个定义一个实现
renderEdit()
和renderView()
的 React 组件的类。renderEdit()
应用于在编辑器中渲染块,以定义编辑器特定的东西,如侧边栏选项、原地编辑组件等。renderView()
将用于编辑器和前端网站以渲染块的正文,因为我们在前端也使用 React 来渲染块。要了解更多关于渲染逻辑的细节,请参阅Planet 4 Gitbook中的blocks页面。
-
在react-blocks/src/blocks/styles目录下创建一个新的sccs文件,文件名应与您的块名称相同,命名为
Blockname.scss
,用于块的客户端样式。如果您需要在编辑器中为块添加样式,请创建一个名为
BlocknameEditor.scss
的新文件。 -
最后,在提交之前,执行
npm run build
以构建插件的资产,并执行vendor/bin/phpcs
以检查代码中的任何PHP样式错误。