Skip to content
Snippets Groups Projects
Commit 0cccd069 authored by Erick Hitter's avatar Erick Hitter
Browse files

Prepare meta for Gutenberg management

parent 8b6b89d5
No related branches found
No related tags found
1 merge request!12Introduce native Gutenberg controls
Pipeline #3541 passed with warnings
/******/ (function() { // webpackBootstrap
var __webpack_exports__ = {};
/*!*****************************!*\
!*** ./src/js/gutenberg.js ***!
\*****************************/
console.log('Hello, world');
/******/ })()
;
\ No newline at end of file
!function(){var o,r={194:function(o){"use strict";o.exports=wp.i18n}},t={};function n(o){var e=t[o];if(void 0!==e)return e.exports;var s=t[o]={exports:{}};return r[o](s,s.exports,n),s.exports}o=n(194).__,console.log(o("Hello, world","wp_revisions_control"))}();
\ No newline at end of file
......@@ -114,11 +114,36 @@ class WP_Revisions_Control {
* Register actions and filters.
*/
public function action_init() {
add_action( 'rest_api_init', array( $this, 'action_rest_api_init' ) );
add_action( 'admin_init', array( $this, 'action_admin_init' ) );
add_action( 'enqueue_block_editor_assets', array( $this, 'action_enqueue_block_editor_assets' ) );
add_filter( 'wp_revisions_to_keep', array( $this, 'filter_wp_revisions_to_keep' ), $this->plugin_priority(), 2 );
}
/**
* Register meta for Gutenberg UI.
*/
public function action_rest_api_init() {
foreach ( array_keys( $this->get_post_types() ) as $post_type ) {
register_meta(
'post',
$this->meta_key_limit,
array(
'object_subtype' => $post_type,
'type' => 'integer',
'default' => -1,
'single' => true,
'show_in_rest' => true,
'description' => __(
'Number of revisions to retain.',
'wp_revisions_control'
),
)
);
}
}
/**
* Register plugin's admin-specific elements.
*
......@@ -145,6 +170,23 @@ class WP_Revisions_Control {
WP_Revisions_Control_Bulk_Actions::get_instance( $post_types );
}
/**
* Register Gutenberg script.
*/
public function action_enqueue_block_editor_assets() {
wp_enqueue_script(
$this->settings_section,
plugins_url(
'dist/js/gutenberg.js',
dirname( __FILE__ )
),
array(
'wp-i18n',
),
1
);
}
/**
* PLUGIN SETTINGS SECTION
* FOUND UNDER SETTINGS > WRITING
......
msgid ""
msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"X-Generator: babel-plugin-makepot\n"
#: src/js/gutenberg.js:3
msgid "Hello, world"
msgstr ""
\ No newline at end of file
......@@ -8,6 +8,7 @@
"version": "0.1.0",
"devDependencies": {
"@babel/preset-react": "^7.13.13",
"@wordpress/babel-plugin-makepot": "^4.1.0",
"grunt": "~0.4.5",
"grunt-wp-i18n": "~0.5.0",
"grunt-wp-readme-to-markdown": "~1.0.0",
......@@ -2334,6 +2335,38 @@
}
}
},
"node_modules/@wordpress/babel-plugin-makepot": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-makepot/-/babel-plugin-makepot-4.1.0.tgz",
"integrity": "sha512-d4ywDLrPMNS9ECh+G3coDGhuqjemDo27Fck94wXRY3L80TbGF8DaLU2/2Vz3s3EcwlrRiJWRKskxPiYIpsiH9Q==",
"dev": true,
"dependencies": {
"gettext-parser": "^1.3.1",
"lodash": "^4.17.19"
},
"engines": {
"node": ">=12"
},
"peerDependencies": {
"@babel/core": "^7.0.0"
}
},
"node_modules/@wordpress/babel-plugin-makepot/node_modules/gettext-parser": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
"integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
"dev": true,
"dependencies": {
"encoding": "^0.1.12",
"safe-buffer": "^5.1.1"
}
},
"node_modules/@wordpress/babel-plugin-makepot/node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
......@@ -17755,7 +17788,8 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz",
"integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==",
"dev": true
"dev": true,
"requires": {}
},
"@webpack-cli/info": {
"version": "1.2.3",
......@@ -17770,7 +17804,36 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz",
"integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==",
"dev": true
"dev": true,
"requires": {}
},
"@wordpress/babel-plugin-makepot": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-makepot/-/babel-plugin-makepot-4.1.0.tgz",
"integrity": "sha512-d4ywDLrPMNS9ECh+G3coDGhuqjemDo27Fck94wXRY3L80TbGF8DaLU2/2Vz3s3EcwlrRiJWRKskxPiYIpsiH9Q==",
"dev": true,
"requires": {
"gettext-parser": "^1.3.1",
"lodash": "^4.17.19"
},
"dependencies": {
"gettext-parser": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
"integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
"dev": true,
"requires": {
"encoding": "^0.1.12",
"safe-buffer": "^5.1.1"
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
}
}
},
"@xtuc/ieee754": {
"version": "1.2.0",
......@@ -17832,7 +17895,8 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
"dev": true,
"requires": {}
},
"alphanum-sort": {
"version": "1.0.2",
......@@ -21126,7 +21190,6 @@
"requires": {
"async": "~0.9.0",
"gettext-parser": "~1.1.0",
"grunt": "~0.4.5",
"underscore": "~1.8.2",
"underscore.string": "~3.0.3"
},
......@@ -21149,7 +21212,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-1.0.0.tgz",
"integrity": "sha1-dJ/9gDtYTVC9ZOc6ehqRhz6djPs=",
"dev": true
"dev": true,
"requires": {}
},
"handle-thing": {
"version": "2.0.1",
......@@ -21546,7 +21610,8 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true
"dev": true,
"requires": {}
},
"ieee754": {
"version": "1.2.1",
......@@ -24729,7 +24794,8 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true
"dev": true,
"requires": {}
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
......@@ -28379,7 +28445,8 @@
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
"dev": true
"dev": true,
"requires": {}
},
"xtend": {
"version": "4.0.2",
......@@ -6,6 +6,7 @@
"author": "Erick Hitter",
"devDependencies": {
"@babel/preset-react": "^7.13.13",
"@wordpress/babel-plugin-makepot": "^4.1.0",
"grunt": "~0.4.5",
"grunt-wp-i18n": "~0.5.0",
"grunt-wp-readme-to-markdown": "~1.0.0",
......@@ -14,6 +15,6 @@
"scripts": {
"dev": "NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
"production": "NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js"
"prod": "NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js"
}
}
console.log( 'Hello, world' );
const { __ } = require( '@wordpress/i18n' );
console.log( __( 'Hello, world', 'wp_revisions_control' ) );
......@@ -3,9 +3,20 @@ const mix = require( 'laravel-mix' );
mix.autoload( {} )
.js( 'src/js/gutenberg.js', 'dist/js/gutenberg.js' )
.react()
.babelConfig( {
'plugins': [
[
'@wordpress/babel-plugin-makepot',
{
'output': 'languages/wp-revisions-control-gutenberg.pot',
},
],
],
} )
.webpackConfig( {
externals: {
'@wordpress/i18n': 'wp.i18n',
'react': 'React',
'react-dom': 'ReactDOM'
'react-dom': 'ReactDOM',
}
} );
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment