Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Improve the block and patterns search algorithm #25105
Conversation
Size Change: +171 B (0%) Total Size: 1.2 MB
|
Filename | Size | Change | |
---|---|---|---|
build/a11y/index.js |
1.14 kB | 0 B | |
build/annotations/index.js |
3.67 kB | 0 B | |
build/api-fetch/index.js |
3.41 kB | 0 B | |
build/autop/index.js |
2.82 kB | 0 B | |
build/blob/index.js |
620 B | 0 B | |
build/block-directory/index.js |
8.5 kB | 0 B | |
build/block-directory/style-rtl.css |
953 B | 0 B | |
build/block-directory/style.css |
952 B | 0 B | |
build/block-editor/style-rtl.css |
11.1 kB | 0 B | |
build/block-editor/style.css |
11.1 kB | 0 B | |
build/block-library/editor-rtl.css |
8.64 kB | 0 B | |
build/block-library/editor.css |
8.64 kB | 0 B | |
build/block-library/index.js |
138 kB | 0 B | |
build/block-library/theme-rtl.css |
754 B | 0 B | |
build/block-library/theme.css |
754 B | 0 B | |
build/block-serialization-default-parser/index.js |
1.88 kB | 0 B | |
build/block-serialization-spec-parser/index.js |
3.1 kB | 0 B | |
build/blocks/index.js |
47.7 kB | 0 B | |
build/components/index.js |
200 kB | 0 B | |
build/components/style-rtl.css |
15.5 kB | 0 B | |
build/components/style.css |
15.5 kB | 0 B | |
build/compose/index.js |
9.67 kB | 0 B | |
build/core-data/index.js |
12.3 kB | 0 B | |
build/data-controls/index.js |
1.29 kB | 0 B | |
build/date/index.js |
31.9 kB | 0 B | |
build/deprecated/index.js |
772 B | 0 B | |
build/dom-ready/index.js |
568 B | 0 B | |
build/dom/index.js |
4.48 kB | 0 B | |
build/edit-navigation/index.js |
11.7 kB | 0 B | |
build/edit-navigation/style-rtl.css |
1.16 kB | 0 B | |
build/edit-navigation/style.css |
1.16 kB | 0 B | |
build/edit-post/index.js |
305 kB | 0 B | |
build/edit-post/style-rtl.css |
6.26 kB | 0 B | |
build/edit-post/style.css |
6.25 kB | 0 B | |
build/edit-site/index.js |
17.1 kB | 0 B | |
build/edit-site/style-rtl.css |
3.06 kB | 0 B | |
build/edit-site/style.css |
3.06 kB | 0 B | |
build/edit-widgets/index.js |
12 kB | 0 B | |
build/edit-widgets/style-rtl.css |
2.46 kB | 0 B | |
build/edit-widgets/style.css |
2.45 kB | 0 B | |
build/editor/editor-styles-rtl.css |
492 B | 0 B | |
build/editor/editor-styles.css |
493 B | 0 B | |
build/editor/index.js |
45.6 kB | 0 B | |
build/editor/style-rtl.css |
3.81 kB | 0 B | |
build/editor/style.css |
3.81 kB | 0 B | |
build/element/index.js |
4.64 kB | 0 B | |
build/escape-html/index.js |
733 B | 0 B | |
build/format-library/index.js |
7.71 kB | 0 B | |
build/format-library/style-rtl.css |
547 B | 0 B | |
build/format-library/style.css |
548 B | 0 B | |
build/hooks/index.js |
2.13 kB | 0 B | |
build/html-entities/index.js |
622 B | 0 B | |
build/i18n/index.js |
3.57 kB | 0 B | |
build/is-shallow-equal/index.js |
711 B | 0 B | |
build/keyboard-shortcuts/index.js |
2.52 kB | 0 B | |
build/keycodes/index.js |
1.94 kB | 0 B | |
build/list-reusable-blocks/index.js |
3.12 kB | 0 B | |
build/list-reusable-blocks/style-rtl.css |
476 B | 0 B | |
build/list-reusable-blocks/style.css |
476 B | 0 B | |
build/media-utils/index.js |
5.32 kB | 0 B | |
build/notices/index.js |
1.79 kB | 0 B | |
build/nux/index.js |
3.4 kB | 0 B | |
build/nux/style-rtl.css |
671 B | 0 B | |
build/nux/style.css |
668 B | 0 B | |
build/plugins/index.js |
2.56 kB | 0 B | |
build/primitives/index.js |
1.41 kB | 0 B | |
build/priority-queue/index.js |
789 B | 0 B | |
build/redux-routine/index.js |
2.85 kB | 0 B | |
build/rich-text/index.js |
13.9 kB | 0 B | |
build/server-side-render/index.js |
2.77 kB | 0 B | |
build/shortcode/index.js |
1.7 kB | 0 B | |
build/token-list/index.js |
1.27 kB | 0 B | |
build/url/index.js |
4.06 kB | 0 B | |
build/viewport/index.js |
1.85 kB | 0 B | |
build/warning/index.js |
1.13 kB | 0 B | |
build/wordcount/index.js |
1.17 kB | 0 B |
:) |
Co-authored-by: Miguel Fonseca <[email protected]>
Co-authored-by: Miguel Fonseca <[email protected]>
I would probably add a unit test |
Nice one! |
youknowriad commentedSep 7, 2020
closes #14868
closes #24651
This PR improves the search algorithm for blocks and patterns by implementing a rank-based search:
The blocks are ordered as follows:
Also, if the block is a "core" block, it has a bonus point.
Note that the search algorithm doesn't work properly for block variations, the issue there is not from the search algorithm but more from the inserter where we consider the variations and the blocks as a single "item". A separate refactoring should be done to improve that.