Sometime this year, possibly as soon as April, WordPress will be releasing a huge update to their main page/post editing tool called "Gutenberg". While this will have a major impact on how users interact with WordPress, it will also greatly impact how sites are built in the future.
Feb 21: North Fulton WordPress Meetup:
When Shortcodes Don’t Work (Micah Wood)
Feb 1: A Brighter Web: Developers:
Customizing the WordPress Admin
Feb 13: Marietta WordPress Meetup:
Overcoming Your Fear of Sales (April Wier)
Feb 15: A Brighter Web: All Users:
Fresh ideas to get your SEO improved and rank higher in Google
The Gutenberg Whys
For block’s sake!
Atlanta WordPress Meetup - 25 Jan 2018
Evan Mullins - https://circlecube.com/does-wordpress
Reasons Gutenberg is coming:
● Better publishing.
● Modern experience.
● Stay Relevant.
● Compete better with other publishing experiences:
Wix, squarespace & medium.
● Block level editing.
● Blocks for all the things: first content, then sidebars, widgets
& shortcodes, etc.
● It’s modular!
Design Web Pages or Templates
Have you ever done an estimate for a site with X unique templates?
Been excited about the flexibility of building unique templates as needed?
Build 13 different templates, then have to make each of 13 templates responsive?
Realize that templates are a bit restrictive and end up with files like
template-7b_3.php or template-no-sidebar-secondary-sidebar.php
Stephen Hay, Responsive Design Workflow (2012)
Blocks, not pages
The traditional way to handle complexity
in programming is to break large complex
things into smaller well-formed
“modules”. Focusing on creating healthy
front-end modules instead of complete
pages can help break complex page
layouts into reusable solutions. This
proved to be true working on the
Dave Rupert, Responsive Deliverables (2013)
The Way You Design Content is About to Change (2014)
As many of us move away from designing pages toward
designing systems, one concept keeps cropping up:
modularity. We often hear about the benefits of a modular
approach; modules are scalable, replaceable, reusable, easy
to test, quick to put together—
“They’re just like LEGO!”
Alla Kholmatova - The Language of Modular Design (2015)
How Block Content Works
Rather than one open content area — in which you could put
text and images using a WYSIWYG — or a template that has
predetermined text and media “buckets,” modular content allows
you to add any content — text or media — in blocks. It supports
building pages ad-hoc, adding text and media as you need it in a
variety of combinations. After you’ve stacked a bunch of these
content blocks, you can re-sort them any way you like. It’s
basically content Legos.
Charlotte Jackson, From Pages to Patterns (2015)
Going from designs to modules.
Journey of a Module
Replace publish dropdown menu with a sidebar panel.
Expand latest post blocks with more querying options — order by
Allow dragging multiple images to create a gallery.
Improve markdown pasting (allows lists to be interpreted).
Allow pasting copied images directly.
Pasting within lists and headings.
Improve handling of inline spans.
Allow copying a single block.
Make sure inline pasting mechanism does not take place if pasting
Preserve alignment classes during raw transformations (like pasting
an old WordPress post).
Support shortcode synonyms.
Allow continued writing when pressing down arrow at the end of a
Mobile design: move block controls to the bottom of a block.
Allow deleting reusable blocks globally.
Display description and type on the sidebar. (Also replace
BlockDescription component with a property.)
New table of contents and document counts design.
Add button to copy the full document quickly.
Expand inserter to three columns and a wider container.
Allow using down-arrow keys directly to navigate when searching a
block in the inserter.
Deselect images in Gallery block when losing focus.
Include post title in document outline feature.
Rework display of notices and address various issues with overlaps.
Added keyboard shortcut to toggle editor mode. Also displays the
relevant keyboard combination next to the menu item.
Improve deleting empty paragraphs when backspacing into a block
that has no merge function (example, deleting a paragraph after an
Improve the way scroll-position is updated when moving a block.
Show block transformations in ellipsis menu.
Add drag and drop support for cover image.
Allow transforming operations between Heading and Cover Image
Add focus outline for blocks that don’t have focusable fields.
Allow both navigation orientations in NavigableContainer.
Improve the behavior of focusing embed blocks.
Unify UI of audio and video blocks.
Show message on the inserter when no blocks are found.
Show message when no saved blocks are available.
Do not show the publish panel when updating / scheduling /
submitting a post.
Update quote style in front-end.
Convert text columns to a div using grid layout.
Update button block CSS and add class to link.
Allow text in Button block to wrap.
Prevent useOnce blocks from being inserted using the convenient
blocks shortcut menu.
Show correct symbol (⌘ or Ctrl) depending on system context.
Rename “insert” to “add” in the UI.
Clear block selection when opening sibling or bottom inserter.
Always show the insertion point when the inserter is opened.
Increase padding on “more options” block toggle.
Rename “Classic Text” to “Classic”.
Improve display of dotted outline around reusable
Updated messages around reusable blocks
Align both the quote and the citation in the visual
Exit edit mode when unfocusing a reusable block.
Set floated image width (when unresized) in % value.
Add withState higher-order component.
Initial introduction of wp.data module.
Restrict the state access to the module registering
the reducer only.
Refactor PostSchedule to make Calendar and Clock
available as reusable components.
Allow overwriting colors (defaults and theme
provided) when consuming ColorPalette component.
Switch orientation of popover component only if there
is more space for the new position.
New ImagePlaceholder reusable component that
handles upload buttons and draggable areas for the
Add speak message when a category is added.
Announce notices to assertive technologies with
Add aria-labels to Code and HTML blocks.
Warn if multiple h1 headings are being used.
Add speak message and make “block settings”
button label dynamic.
Make excerpt functionality more accessible.
Add various headings around editor areas for
Improve accessibility of menu items in the main
Add missing tooltips to icon buttons.
Render toolbar always by the block on mobile.
Improve performance of responsive calculations
Avoid shifts around toolbar and scrolling issues on
Improve how the fixed-to-block toolbar looks on
mobile. Change how the fixed position toolbars
behave, making them sticky.
Prevent Mobile Safari from zooming the entire page
when you open the inserter.
Initial explorations to migrate to server-registered
blocks as part of raising awareness of available
Move supportHTML property into the general
Replace getLatestPosts usage with withAPIData
Convert all filters for components to behave like
Replace flowRight usage with compose for HOCs.
Apply filters without function wrappers.
Display a hint that files need to be built.
Add WordPress JSDoc ESLint configuration.
Update licenses in package.json & composer.json
to adhere to SPDX v3.0 specification.
Add tests to cover
Add tests for color palette component.
Add tests for Editable.getSettings and
Use newly published jest-console package in test
Update info about test fixtures generation.
Also style footer in quote blocks to ensure
Add a PHPUnit Docker Container.
Fix wrong “return to editor” link when comparing
Fix error when pressing enter from a heading
Fix error with merging lists into paragraphs.
Fix revisions button target area.
Remove duplicated styles.
Fix z-index rebase issues.
Fix tag name warning ordering in validation.
Fix text encoding of titles in url-input.
Fix endless loop in reusable blocks code.
Fix edit button in Audio block using invalid
Fix block creation with falsey default attribute.
Fix radio control checked property.
Fix styling issues of blocks when they are used as
part of a reusable block.
Fix list wrapping issues.
Fix problem when converting shortcodes due to
Fix issue with time-picker not working.
Fix hide advanced settings interaction in block
Fix issue with url input on images.
Fix style regression in textual placeholder on
Fix return type hint in gutenberg_get_rest_link().
Fix bug when changing number of Latests Posts
rapidly was leading to some numbers being
Fix isInputField check and add tests.
Fix unsetting block alignment flagging block as
Fix CSS bleed from admin-specific gallery styles.
Fix image handlers at the top from being
Fix unexpected keyboard navigations behaviour
on some nodes.
Fix inserter position for floated blocks.
Fix bug on empty cover image placeholder used
on a saved block.
Fix errors when adding duplicate categories.
Fix broken custom color bubble in ColorPalette.
Improve Tags/Categories response size by limiting the
Limit requested fields in category feature of “latest posts”.
Request only required post fields in latest posts.
Replace getCategories usage with withAPIData
Don’t show fields that are not used in media modal when
adding a featured image.
Polish inserter tabs so the focus style isn’t clipped.
Make inspector controls available when categories are
Improve overlay over meta-boxes during save operations.
Hide excerpts panel if not supported by the CPT.
Hide Taxonomies panel if no taxonomy is available for the
Hide several other panels when the CPT doesn’t support
Use _.includes to find available taxonomies. Mitigates
non-schema-conforming taxonomy registrations.
Defer applying filters for component until it is about to be
Prevent “Add New” dropdown from overriding other plugin
Improve paragraph block description.
Refactor to simplify block toolbar rendering.
Add missing aligment classes to cover image.
Add parent page dropdown to page attributes panel.
Allow pressing ENTER to change Reusable Block name.
Disable HTML mode for reusable blocks.
Add support for the “advanced” meta-box location.
Make sure super admins can publish in any site of the
Rename theme support for wide images to align-wide.
Move selectors and actions files to the store folder.
Center arrows of popovers relative to their parent.
Use fainter disabled state.
Add breakpoint grid to latest posts block and update color
Move logic for auto-generating the block class name to
Respect the “enter_title_here” hook.
Prevent meta-box hooks from running multiple times.
Don’t set font-family on pullquotes.
Remove superfluous parentheses from include statements.
Remove redundant CSS property updates.
Use “columns-x” class only for grid layout in latest posts.
Use flatMap for mapping toolbar controls for a small
Introduce jest matchers for console object.
Updated various npm packages; update Jest. Update
node-sass. Update WordPress packages.
Switch TinyMCE to unpkg.
Reorganize handbook docs navigation.
Added FAQ section for meta-boxes compatibility.
Added initial “templates” document.
Add documentation about dynamic blocks.
Updated “outreach” docs.
Improve block-controls document.