Skip to content

Commit 3f4fece

Browse files
committed
prep build 04/17
2 parents 5fb6aea + f34b4ac commit 3f4fece

File tree

55 files changed

+1187
-587
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1187
-587
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ const restrictedImports = [
8181
'flowRight',
8282
'forEach',
8383
'fromPairs',
84+
'groupBy',
8485
'has',
8586
'identity',
8687
'includes',

.github/workflows/rnmobile-ios-runner.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ concurrency:
1414

1515
jobs:
1616
test:
17-
runs-on: macos-11
17+
runs-on: macos-12
1818
if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }}
1919
strategy:
2020
matrix:
21-
xcode: ['13.2.1']
21+
xcode: ['13.3.1']
2222
device: ['iPhone 13']
2323
native-test-name: [gutenberg-editor-rendering]
2424

@@ -61,8 +61,8 @@ jobs:
6161
- name: Build Web Driver Agent (if needed)
6262
run: test -d packages/react-native-editor/ios/build/WDA || npm run native test:e2e:build-wda
6363

64-
- name: Force update Launch Database to prevent issues when opening the Simulator app
65-
run: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer/Applications/Simulator.app
64+
- name: Launch simulator
65+
run: open -a Simulator && xcrun simctl boot '${{ matrix.device }}'
6666

6767
- name: Run iOS Device Tests
6868
run: TEST_RN_PLATFORM=ios npm run native device-tests:local ${{ matrix.native-test-name }}

bin/plugin/commands/changelog.js

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/**
22
* External dependencies
33
*/
4-
const { groupBy } = require( 'lodash' );
54
const Octokit = require( '@octokit/rest' );
65
const { sprintf } = require( 'sprintf-js' );
76
const semver = require( 'semver' );
@@ -711,9 +710,19 @@ async function fetchAllPullRequests( octokit, settings ) {
711710
function getChangelog( pullRequests ) {
712711
let changelog = '## Changelog\n\n';
713712

714-
const groupedPullRequests = groupBy(
715-
skipCreatedByBots( pullRequests ),
716-
getIssueType
713+
const groupedPullRequests = skipCreatedByBots( pullRequests ).reduce(
714+
(
715+
/** @type {Record<string, IssuesListForRepoResponseItem[]>} */ acc,
716+
pr
717+
) => {
718+
const issueType = getIssueType( pr );
719+
if ( ! acc[ issueType ] ) {
720+
acc[ issueType ] = [];
721+
}
722+
acc[ issueType ].push( pr );
723+
return acc;
724+
},
725+
{}
717726
);
718727

719728
const sortedGroups = Object.keys( groupedPullRequests ).sort( sortGroup );
@@ -732,7 +741,20 @@ function getChangelog( pullRequests ) {
732741
changelog += '### ' + group + '\n\n';
733742

734743
// Group PRs within this section into "Features".
735-
const featureGroups = groupBy( groupPullRequests, getIssueFeature );
744+
const featureGroups = groupPullRequests.reduce(
745+
(
746+
/** @type {Record<string, IssuesListForRepoResponseItem[]>} */ acc,
747+
pr
748+
) => {
749+
const issueFeature = getIssueFeature( pr );
750+
if ( ! acc[ issueFeature ] ) {
751+
acc[ issueFeature ] = [];
752+
}
753+
acc[ issueFeature ].push( pr );
754+
return acc;
755+
},
756+
{}
757+
);
736758

737759
const featuredGroupNames = sortFeatureGroups( featureGroups );
738760

docs/README.md

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,74 @@
11
# Block Editor Handbook
22

3-
**Gutenberg** is a codename for a whole new paradigm in WordPress site building and publishing, that aims to revolutionize the entire publishing experience as much as Gutenberg did the printed word. Right now, the project is in the second phase of a four-phase process that will touch every piece of WordPress -- Editing, **Customization** (which includes Full Site Editing, Block Patterns, Block Directory and Block based themes), Collaboration, and Multilingual -- and is focused on a new editing experience, the block editor (which is the topic of the current documentation).
3+
Hi! 👋 Welcome to the Block Editor Handbook.
44

5-
![Quick view of the block editor](https://raw.githubusercontent.com/WordPress/gutenberg/trunk/docs/assets/quick-view-of-the-block-editor.png)
5+
The [**Block editor**](https://wordpress.org/gutenberg/) is a modern and up-to-date paradigm for WordPress site building and publishing. It uses a modular system of **Blocks** to compose and format content, and is designed to create rich and flexible layouts for websites and digital products.
66

7-
**Legend:**
7+
The editor consists of several primary elements, as shown in the following figure:
88

9-
1. Block inserter
10-
2. Block editor content area
11-
3. Settings sidebar
9+
![Quick view of the block editor](https://raw.githubusercontent.com/WordPress/gutenberg/trunk/docs/assets/overview-block-editor-2023.png)
1210

13-
Using a system of Blocks to compose and format content, the new block-based editor is designed to create rich, flexible layouts for websites and digital products. Content is created using blocks instead of freeform text with inserted media, embeds and Shortcodes (there's a Shortcode block, though).
11+
The elements highlighted in the figure are:
1412

15-
Blocks treat Paragraphs, Headings, Media, and Embeds all as components that, when strung together, make up the content stored in the WordPress database, replacing the traditional concept of freeform text with embedded media and shortcodes. The new editor is designed with progressive enhancement, meaning that it is backward compatible with all legacy content. It also offers a process to try to convert and split a Classic block into equivalent blocks using client-side parsing. Finally, the blocks offer enhanced editing and format controls.
13+
1. **Inserter**: A panel for inserting blocks into the content canvas
14+
2. **Content canvas**: The content editor, which holds content created with blocks
15+
3. **Settings sidebar**: A sidebar panel for configuring a block’s settings (among other things)
1616

17-
The Editor offers rich new value to users by offering visual, drag-and-drop creation tools and powerful developer enhancements including modern vendor packages, reusable components, rich APIs and hooks to modify and extend the editor through Custom Blocks, Custom Block Styles and Plugins.
17+
Through the Block editor, you create content modularly using Blocks. There are a number of [core blocks](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/) ready to be used, and you can also [create your own custom block](https://developer.wordpress.org/block-editor/getting-started/create-block/).
1818

19-
## Quick links
19+
A [Block](https://developer.wordpress.org/block-editor/explanations/architecture/key-concepts/#blocks) is a discrete element such as a Paragraph, Heading, Media element, or Embed. Each block is treated as a separate element with individual editing and format controls. When all these components are pieced together, they make up the content that is then [stored in the WordPress database](https://developer.wordpress.org/block-editor/explanations/architecture/data-flow/#serialization-and-parsing).
2020

21-
### Create pages and posts with the block editor
21+
The Block Editor is the result of the [work done on the **Gutenberg project**](https://developer.wordpress.org/block-editor/explanations/faq/#what-is-gutenberg) which is aimed to revolutionize the WordPress editing experience.
2222

23-
In the Block Editor Handbook, our tutorials will be development-focussed. However, it helps if you have some experience using the block editor the way an end-user would first. If you have no experience building with the block editor yet, we recommend you [learn to use the block editor](https://wordpress.org/documentation/article/wordpress-block-editor/) to create posts and pages.
23+
Besides offering an [enhanced editing experience](https://wordpress.org/gutenberg/) through visual content creation tools, the Block Editor is also a powerful developer platform with a [rich feature set of APIs](https://developer.wordpress.org/block-editor/reference-guides/) that allow it to be manipulated and extended in a multitude of different ways.
2424

25-
### Create a Block Tutorial
25+
## Navigating this handbook
2626

27-
[Learn how to create your first block](/docs/getting-started/create-block/README.md) for the WordPress block editor. From setting up your development environment, tools, and getting comfortable with the new development model, this tutorial covers all you need to know to get started with creating blocks.
27+
This handbook is focused on block development and is divided into five sections, each serving a different purpose.
2828

29-
### Develop for the block editor
3029

31-
Whether you want to extend the functionality of the block editor, or create a plugin based on it, [see our how-to guides](/docs/how-to-guides/README.md) to find all the information about the basic concepts you need to get started, the block editor APIs and its architecture.
30+
**[Getting Started](https://developer.wordpress.org/block-editor/getting-started/)**
3231

33-
- [Gutenberg Architecture](/docs/explanations/architecture/README.md)
34-
- [Block Styles](/docs/reference-guides/block-api/block-styles.md)
35-
- [Creating Block Patterns](/docs/reference-guides/block-api/block-patterns.md)
36-
- [Theming for the Block Editor](/docs/how-to-guides/themes/README.md)
37-
- [Block API Reference](/docs/reference-guides/block-api/README.md)
38-
- [Block Editor Accessibility](/docs/how-to-guides/accessibility.md)
39-
- [Internationalization](/docs/how-to-guides/internationalization.md)
32+
For those just starting out with block development this is where you can get set up with a [development environment](https://developer.wordpress.org/block-editor/getting-started/devenv/) and learn the [fundamentals of block development](https://developer.wordpress.org/block-editor/getting-started/create-block/).
4033

41-
### Contribute to the block editor
4234

43-
Everything you need to know to [start contributing to the block editor](/docs/contributors/README.md) . Whether you are interested in the design, code, triage, documentation, support or internationalization of the block editor, you will find guides to help you here.
35+
**[How-to Guides](https://developer.wordpress.org/block-editor/how-to-guides/)**
36+
37+
Here you can build on what you learned in the Getting Started section and learn how to solve particular problems that you might encounter. You can also get tutorials, and example code that you can reuse, for projects such as [building a full-featured block](https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/) or [working with WordPress’ data](https://developer.wordpress.org/block-editor/how-to-guides/data-basics/). In addition you can learn [How to use JavaScript with the Block Editor](https://developer.wordpress.org/block-editor/how-to-guides/javascript/).
38+
39+
40+
**[Reference Guides](https://developer.wordpress.org/block-editor/reference-guides/)**
41+
42+
This section is the heart of the handbook and is where you can get down to the nitty-gritty and look up the details of the particular API that you’re working with or need information on. Among other things, the [Block API Reference](https://developer.wordpress.org/block-editor/reference-guides/block-api/) covers most of what you will want to do with a block, and each [component](https://developer.wordpress.org/block-editor/reference-guides/components/) and [package](https://developer.wordpress.org/block-editor/reference-guides/packages/) is also documented here. _Components are also documented via [Storybook](https://wordpress.github.io/gutenberg/?path=/story/docs-introduction--page)._
43+
44+
45+
**[Explanations](https://developer.wordpress.org/block-editor/explanations/)**
46+
47+
This section enables you to go deeper and reinforce your practical knowledge with a theoretical understanding of the [Architecture](https://developer.wordpress.org/block-editor/explanations/architecture/) of the block editor. Its [Glossary of terms](https://developer.wordpress.org/block-editor/explanations/glossary/) and [FAQs](https://developer.wordpress.org/block-editor/explanations/faq/) should answer any outstanding questions you may have.
48+
49+
50+
**[Contributor Guide](https://developer.wordpress.org/block-editor/contributors/)**
51+
52+
Gutenberg is open source software and anyone is welcome to contribute to the project. This section details how to contribute and can help you choose in which way you want to contribute, whether that be with [code](https://developer.wordpress.org/block-editor/contributors/code/), with [design](https://developer.wordpress.org/block-editor/contributors/design/), with [documentation](https://developer.wordpress.org/block-editor/contributors/documentation/), or in some other way.
53+
54+
55+
## Further resources
56+
57+
This handbook should be considered the canonical resource for all things related to block development. However there are other resources that can help you.
58+
59+
- [**WordPress Developer Blog**](https://developer.wordpress.org/news/) - An ever-growing resource of technical articles covering specific topics related to block development and a wide variety of use cases. The blog is also an excellent way to [keep up with the latest developments in WordPress](https://developer.wordpress.org/news/tag/roundup/).
60+
- [**Learn WordPress**](https://learn.wordpress.org/) - The WordPress hub for learning resources where you can find courses like [Introduction to Block Development: Build your first custom block](https://learn.wordpress.org/course/introduction-to-block-development-build-your-first-custom-block/), [Converting a Shortcode to a Block](https://learn.wordpress.org/course/converting-a-shortcode-to-a-block/) or [Using the WordPress Data Layer](https://learn.wordpress.org/course/using-the-wordpress-data-layer/)
61+
- [**WordPress.tv**](https://wordpress.tv/) - A hub of WordPress-related videos (from talks at WordCamps to recordings of online workshops) curated and moderated by the WordPress.org community. You’re sure to find something to aid your learning about [block development](https://wordpress.tv/?s=block%20development&sort=newest) or the [block-editor](https://wordpress.tv/?s=block%20editor&sort=relevance) here.
62+
- [**Gutenberg repository**](https://github.com/WordPress/gutenberg/) - Development of the block editor project is carried out in this GitHub repository. It contains the code of interesting packages such as [`block-library`](https://github.com/WordPress/gutenberg/tree/trunk/packages/block-library/src) (core blocks) or [`components`](https://github.com/WordPress/gutenberg/tree/trunk/packages/components) (common UI elements). _The [gutenberg-examples](https://github.com/WordPress/gutenberg-examples) repository is another useful reference._
63+
64+
65+
## Are you in the right place?
66+
67+
[This handbook](https://developer.wordpress.org/block-editor) is targeted at those seeking to develop for the block editor, but several other handbooks exist for WordPress developers under [developer.wordpress.org](http://developer.wordpress.org/):
68+
69+
- [/themes](https://developer.wordpress.org/themes) - Theme Handbook
70+
- [/plugins](https://developer.wordpress.org/plugins) - Plugin Handbook
71+
- [/apis](https://developer.wordpress.org/apis) - Common APIs Handbook
72+
- [/advanced-administration](https://developer.wordpress.org/advanced-administration) - WP Advanced Administration Handbook
73+
- [/rest-api](https://developer.wordpress.org/rest-api/) - REST API Handbook
74+
- [/coding-standards](https://developer.wordpress.org/coding-standards) - Best practices for WordPress developers
143 KB
Loading

0 commit comments

Comments
 (0)