Changes of note:
- Includes the new Annotations API package.
- `wp-polyfill-ecmascript.js` is renamed to `wp-polyfill.js`.
- `strip_dynamic_blocks()` has been removed in favour of `excerpt_remove_blocks()`.
- The PHP block parser is now syncing from the `block-serialization-default-parser` package.
- `do_blocks()` uses the new parser.
- The `do_block` filter has been removed from `do_blocks()`, in favour of a `render_block` filter in `render_block()`.
See #45145, #45190, #45264, #45282.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43884 602fd350-edb4-49c9-b593-d223f7449a82
This also includes the new `@wordpress/format-library` and `@wordpress/notices` packages.
`package-lock.json` has been completely regenerated in this commit.
See #45145.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43840 602fd350-edb4-49c9-b593-d223f7449a82
Grabbing the packages directly from the Gutenberg repo was an interesting experiment, but it causes significant workflow issues, particular for folks using Windows.
See #45145.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43835 602fd350-edb4-49c9-b593-d223f7449a82
Instead of requiring the packages individually this commit changes it so the packages are used from the packages repository (gutenberg). This is a solution that makes updating the packages easier, as long as we don't have a monorepo to manage both WordPress & the JavaScript packages together.
Props youknowriad, gziolo, omarreiss, herregroen.
See #45145.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43824 602fd350-edb4-49c9-b593-d223f7449a82
- `grunt webpack:dev` now copies packages JS into `/src/wp-includes/js/dist`, and CSS into `/src/wp-includes/css/dist`.
- `grunt webpack:prod` does the same, but into `/build` instead of `/src`.
- `grunt build` now runs the `webpack:prod` task.
Props atimmer, pento.
Fixes#45119.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43760 602fd350-edb4-49c9-b593-d223f7449a82
Posts containing blocks are now correctly handled when displaying on the front end, including dynamic blocks and nested blocks.
See #45109.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43752 602fd350-edb4-49c9-b593-d223f7449a82
The `WP_Block_Parser` class, and the accompanying `parse_blocks()` helper function, can be used to parse an array of blocks out of a content string.
`WP_Block_Parser` is copied from the `@wordpress/block-serialization-default-parser` package. To ensure it stays in sync with the JavaScript parser, changes should be implemented in the package first, then the package version should be upgraded to include the changes.
See #45109.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43751 602fd350-edb4-49c9-b593-d223f7449a82
Adjusts the packages registration after [43723]:
* Combine the different registration functions into one
`wp_default_packages` function. To reach this goal move the prefix
logic into a function so it can be called from different locations.
Use a `static` variable there to prevent duplicate inclusion of
`version.php`.
* Call this function from the `wp_default_scripts` action by
registering it as a default filter.
* Combine some of the logic in `_WP_Editors::print_tinymce_scripts`
into `wp_register_tinymce_scripts`. The logic to force an uncompressed
TinyMCE script file stays in `_WP_Editors::force_uncompressed_tinymce`
because that logic is very specific to the classic editor.
* The script handle `wp-tinymce` is now a dependency of the `editor`
script handle. In combination with the previous item, this makes the
classic editor work.
* Adjust the syntax of the script paths to be more consistent with
other WordPress code.
* Always use `"production"` mode for the media files to prevent people
from inadvertently committing development files.
Props pento, omarreiss.
Fixes#45065.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43738 602fd350-edb4-49c9-b593-d223f7449a82
This allows the packages to be consumed by plugins and core itself.
The code has been based on the work done in the Gutenberg plugin.
We've added an array with all the packages and the vendor packages to
loop through. This sets a convention so all packages will be
registered in the same way. This array can eventually be generated by
a webpack plugin.
We need to register TinyMCE explicitly. Previously TinyMCE was used
by inserting custom `<script>` tags into the relevant admin pages.
This is not suitable for the new editor, so we need to explicitly
register TinyMCE. We could, in the future, refactor the custom
`<script>` tags to use the registered TinyMCE script instead.
Polyfills are inserted into the page only when necessary using
`document.write`.
Props omarreiss, herregroen, youknowriad, gziolo.
Fixes#45065.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43723 602fd350-edb4-49c9-b593-d223f7449a82
We decided to split the media webpack config into it's own file. The
main webpack config then combines this file with the packages config.
Include vendor scripts by copying them. We copy the minified files if
they are available. If they aren't available we minify the original
files ourselves.
Props omarreiss, herregroen, gziolo, youknowriad, netweb, adamsilverstein.
See #45065.
git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43719 602fd350-edb4-49c9-b593-d223f7449a82
Replaces unsecure links in documentation and translator comments with their secure versions.
Props johnpgreen, netweb
Fixes#36993
git-svn-id: https://develop.svn.wordpress.org/trunk@37674 602fd350-edb4-49c9-b593-d223f7449a82
PHP7 is deprecating PHP4 style constructors, so we need to modify our code to have _construct methods that fire before the named PHP4 style constructors. The PHP4 style constructors will call the PHP5 style constructor in case it is being called directly (usually via parent::METHOD).
This modifies external libraries to add PHP5 style constructors, but doesn't add a notice for when they are used. In WordPress core code, PHP4 style constructors are being given a call to _deprecated_constructor. To the PHP4 style constructor I say "I know that I can't take no more | It ain't no lie | I wanna see you out that door | Baby, bye, bye, bye..."
Upstream: https://wiki.php.net/rfc/remove_php4_constructors
Props jdgrimes, netweb, jorbin
See #31982
git-svn-id: https://develop.svn.wordpress.org/trunk@32990 602fd350-edb4-49c9-b593-d223f7449a82
In NotGettextedTest this file is a copy of `data/not-gettexted-0.php` which will be removed after the test has finished.
git-svn-id: https://develop.svn.wordpress.org/trunk@31499 602fd350-edb4-49c9-b593-d223f7449a82
The external library uses the underscore alias for the native gettext() function. Makepot extracts these strings too, which results in having 25 unused translations.
fixes#31179.
git-svn-id: https://develop.svn.wordpress.org/trunk@31315 602fd350-edb4-49c9-b593-d223f7449a82
The other extract methods are named `extract_from_<something>`, this was
te only one, which wasn't.
Also, it was returning an instance of `Translations`,
not an array of entries, which the name suggested.
git-svn-id: https://develop.svn.wordpress.org/trunk@25920 602fd350-edb4-49c9-b593-d223f7449a82
Two purposes:
* Helps people, reading the code to have a better idea of the structure of the array
* Reciprocity with `$comment_prefix`, which has a default value
See #25691
git-svn-id: https://develop.svn.wordpress.org/trunk@25918 602fd350-edb4-49c9-b593-d223f7449a82