Gutenberg

説明

Gutenberg は単なるエディターではありません。現在はエディターに注力していますが、このプロジェクトはパブリッシング体験全体に影響を与えるものです。今後はカスタマイズに注力していく予定です。

このプロジェクトについて詳しく知る

編集機能へのフォーカス

このエディターは、リッチな投稿や固定ページの作成を簡単にする、新たな執筆体験を生み出します。また「ブロック」によって、今日のショートコード、カスタム HTML や得体の知れない埋め込みが実現していることをより簡単にします。— マット・マレンウェッグ

WordPress が他のシステムと異なる点は、思い描いたとおりのリッチな投稿レイアウトが作成可能な点です。ただし、HTML や CSS の知識があり、カスタムテーマを作成できる場合に限ります。エディターを、リッチな投稿と美しいレイアウト作成ツールとして考えるなら、他の人も使っているから WordPress を使うのではなく、ユーザーが好きで WordPress を使うことになるでしょう。

Gutenberg はエディターを単なる入力欄と考えるのではなく、10年ほぼ大きな変更がなかったレイアウトを見直します。これによって、今どきの編集体験を全体的にデザインし、未来への基礎を築きます。

単なる入力欄ではなく、編集画面全体を考慮している理由は以下のとおりです:

  1. ブロックは複数のインターフェイスを統一します。既存のインターフェイスの上にブロックを追加すれば複雑さを取り除くどころか、逆に増やすことになります。
  2. インターフェイスを見直し、使いやすさとシンプルさにこだわり、新旧双方のユーザーに利益をもたらすことにより、執筆、編集、公開の体験を現代的にします。
  3. 単一ブロックインターフェイスが中心になれば、開発者にはショートコードやウィジェットよりも優れた素晴らしいブロックを開発する明確なパスが提示されます。
  4. インターフェイス全体を考慮することは、次に注力する領域 (サイト全体のカスタマイズ) への確固たる基礎につながります。
  5. 全体の編集画面を考慮することは、ベースから大幅に現代化し、WordPress REST API をフル活用した、より流動的で JavaScript に富んだ未来への一歩を踏み出すことができます。

ブロック

ブロックは、今まで異なる方法でカバーされていた「ショートコード」「埋め込み」「ウィジェット」「投稿フォーマット」「カスタム投稿タイプ」「テーマオプション」「メタボックス」その他のフォーマット要素などを統一的に進化させたものです。 ユーザーは、WordPress でできる幅広い機能を、明快で一貫した方法で利用できます。

例えば「従業員」というカスタムブロックを想像してください。アバウトページにドラッグすると、自動的に写真、氏名、プロフィールを表示できるとします。この世のすべてのプラグインが、同じ方法で WordPress を拡張することができ、メニューやウィジェットもシンプルになります。ユーザーは簡単に WordPress と大方のプラグインを理解して使用することができます。これによって簡単にサンプルのような美しい投稿を作成できます。

Check out the FAQ for answers to the most common questions about the project.

互換性

投稿には後方互換性があります。ショートコードもそのまま動くはずです。高度にカスタマイズされたメタボックスについては継続して調査中で、単純に Gutenberg を無効化するプラグインから、Gutenberg のロードの可否を自動で検出するソリューションまで幅広く検討しています。執筆から公開に至る新しい編集体験を確実にユーザーフレンドリーなものにしたいと考えている一方、高度にカスタマイズされた既存サイトに対しても、良いソリューションを見つけることをお約束します。

Gutenberg のステージ

Gutenberg では3つのステージが計画されています。WordPress 5.0 への同梱を予定している最初のステージの目標は投稿の編集体験とブロックの実装で、このフェーズではコンテンツ第一主義を唱えています。ブロックを使用することで、既に述べたようにユーザーはコンテンツがどのように表示されるかに集中でき、その他の構成オプションを気にする必要はありません。結果的に、すべてのユーザーがコンテンツを魅力的に、直接、ビジュアルに伝えられるようになるでしょう。

これら基本的な要素が来年に予定されている2番目、3番目のステージへの道を開き、最終的にはページテンプレート内での投稿を超えた、完全なサイトカスタマイズへとつながります。

Gutenberg は大きな変化です。ショートコードやメタボックスなど既存の機能が引き続き動作することを確認できるよう、開発者には効率的な移行に必要な時間と経路が与えられています。最終的にプラグインやテーマ開発者は、コアのサポートするツール群の利点を活かした魅力的で、ビジュアルな体験をこれまで以上にユーザーに届けることができるでしょう。

貢献者

Gutenberg は多くのボランティア貢献者により開発されています。CONTRIBUTORS.md にて参加者のリストをご覧ください。

FAQ

フィードバックやバグ報告をするには ?

バグ報告、機能の提案、あらゆるご意見をぜひお寄せ下さい。GitHub issues ページで既存のイシューを検索するか、新しく作成して下さい。プラグインフォーラムでの報告をイシューとして分類しているため、GitHub リポジトリのほうがより早く回答が得られますし、無駄な手間も省けます。

貢献するには ?

このエディタープロジェクトは巨大な事業のため「Gutenberg」と呼ばれています。毎日 GitHub 内で作業が行われており、常に一緒に開発してくれる方を募集しています。フィードバックも歓迎します。まずは
Slack #core-editor チャネルに参加してみてください。

また CONTRIBUTING.md も参照してください。

Gutenberg 関連のドキュメントはどこにありますか?

評価

Amazing work and preparation for the future

I can’t imagine how much work has gone into this!

It is a struggle teaching all of my users to make the transition, and even more of a struggle getting them to accept something that isn’t 100% yet.

But I’ve been telling them to try it. Embrace the change. Because the future of it will be fantastic. And already, we’re getting great results from sharing to new venues.

Thank you so much for all of the work, and I’m looking forward to a bright future as this grows and expands. It is an ambitious project, but I think it will pay off in the end.

Natural and Easy Work Flow

It gets better with each release. Thank you to all those involved in developing Gutenberg. IMO, the old (classic) editor has so many barriers to adoption and use by non-technical users. To the extent that they mostly avoid using it, even after hours of training.

Gutenberg is perfect for this type of user.

It is still beta and I don’t introduce updates until days and weeks after they are released.

For those who hate it, a couple of suggestions:

1. Persist. You can’t evaluate something like this in a couple of hours.

2. Recognize that you are beta testing- and with that comes responsibilities to report what doesn’t work and provide appropriate feedback to the developers.

3. Use this as an opportunity to simplify. When was that favorite plugin that you use last updated? If it’s older than 6 months then the author really needs to review it to make sure (certify) that it works with Gutenberg. If they don’t intend to do that get rid of the plugin.

4. If you don’t like 1,2 or 3, continue to use Classic Editor.

از گوتنبرگ خوشم می‌آید

نگارش مقاله رو سخت‌تر و طولانی‌تر می‌کند، ولی استفاده از بلوک‌ها برایم لذت‌بخش است.
متاسفانه به نظر می‌رسد با هسته وردپرس همخوانی مناسبی ندارد. و با افزونه‌های خاصی مشکل پیدا می‌کند،
در صورتی که در ویرایشگر کلاسیک در حال نوشتن مقاله یا متنی باشید،سرعت کار بسیار بیشتر است و به دلیل حالت بصری ویرایشگر کلاسیک و سادگی آن، تمرکز بیشتری به دست می‌اید.
استفاده از گتنبرگ
راه‌حل: نوشتن مقاله را در یک ویرایشگر مناسب مانند(ویرایشگر‌کلاسیک، سندنگار گوگل و غیره) به اتمام برسانید، سپس وارد با گتنبرگ آن را بچینید.!!
زمان‌بر است…

1,402件のレビューをすべて表示

貢献者と開発者

Gutenberg はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Gutenberg” は39ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Gutenberg” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

Latest

New Features

  • Add ability to change overlay color in Cover Image.
  • Introduce new Font Size Picker with clear labels and size comparison.
  • Introduce new RichText data structure to allow better manipulation of inline content.
  • Add Pullquote style variation and color palette support.
  • Add support for post locking when multiple authors interact with the editor.
  • Add an alternative block appender when the container doesn’t support the default block (paragraph).
  • Improve the UI and interactions around floats.
  • Add option to skip PublishSidebar on publishing.
  • Add support for shortcode embeds that enqueue scripts.
  • Add a button to exit the Code Editor.
  • Introduce a reusable ResizableBox component.
  • Style nested <ul>s with circles instead of normal bullets.
  • Show hierarchical terms sorted by name and allow them to be filterable through search. Hide the filter box if there are fewer than 8 terms.
  • Improve messaging around invalid block detection.
  • Use text color for links when a paragraph has a color applied.
  • Allow extended usage of the controls API in resolvers within data layer.
  • Ensure that a default block is inserted (and selected) when all other blocks are removed.
  • Enhance the block parser to support multiple type, in accordance with JSON schema.
  • Add a larger target area for resize drag handles.
  • Add media button to classic block.
  • Add control to toggle responsive mechanism on embed blocks.
  • Update sidebar design to have a lighter feeling.
  • Update resolvers in data layer to rely on controls instead of async generators.
  • Set template validity on block reset.
  • Remove dirty detection from Meta Boxes to reduce false positives of “unsaved changes”.
  • Show “Publish: Immediately” for new drafts by inferring floating date.
  • Add a slight transition to Full Screen mode.
  • Improve spacing setup in Gallery Block.
  • Remove additional side padding from blocks.
  • Improve the reusable blocks “Export as JSON” link.
  • Enforce a default block icon size to allow flex alignment and fix unaligned labels.
  • Consider single unmodified default block as empty content.
  • Only display URL input field when “Link To” is set for Image Block.
  • Make backspace behavior consistent among Quote, Verse and Preformatted.
  • Expose refresh method from Dropdown component.
  • Omit style tags when pasting.
  • Use best fitting embed aspect ratio if exact match doesn’t exist.
  • Avoid dispatching undefined results in promise middleware.
  • Change keyboard shortcut for removing a block to access + z.
  • Replace the Full Screen mode “x” icon with a back arrow.
  • Make drag handle visible on hover while in nested contexts.
  • Pass the tab title to the TabPanel component for situations where it may need to be highlighted.
  • Allow setting no alignment when a default alignment exists.
  • Improve title and appender margin fix.
  • Avoid focusing on the close button on modal and try a modal appear animation.
  • Change the URL Input label to match Classic.
  • Adjust media upload source for RichText.
  • Handle edge cases in with-constrained-tabbing and add tests.
  • Set a consistent input field width in media placeholders.
  • Add a hover state to sidebar panel headers.
  • Change settings title from “Writing” to “View”.
  • Convert the “tools” menu group into internal plugin.
  • Normalize data types and fix default implementation in parser.
  • Cleanup CSS specificity issues on Button component for portability.
  • Display error when attempting to embed URLs that can’t be embedded and don’t generate a fallback.
  • Update some edit and save button labels and styles for consistency.
  • Make “Manage Reusable Blocks” a link instead of an icon button.

Bug Fixes

  • Fix issue with Enter and the Read More block.
  • Fix menu item hover colors.
  • Fix issue with editor styles and fullscreen mode.
  • Fix popover link repositioning.
  • Fix Space Block layout issues on small screens.
  • Fix custom classNames for dynamic blocks.
  • Fix spacing of post-publish close button in other languages.
  • Fix Async Generator resolvers resolution.
  • Fix issue with Spacer Block not being resizable when using unified toolbar and spotlight mode.
  • Fix grammar.md manifest entry and update data docs.
  • Fix issue with region focus on the header area on IE11.
  • Fix reusable block broken button dimensions on IE11.
  • Fix issues with dropping blocks after dragging when calculating new block index.
  • Fix InnerBlock templates sync conditions to avoid a forced locking.
  • Fix typo in @wordpress/api-fetch README.md.
  • Fix regression with Button Block placeholder text.
  • Fix dropzone issue in Edge (event.dataTransfer.types not being an array).
  • Fix documentation for registerBlockStyle arguments and clarify getSaveElement filter.
  • Fix raw transforms not working in Edge when pasting content.
  • Fix a regression where wide images would cause horizontal scrollbars.
  • Fix issue with gallery margin while typing a caption.
  • Fix Block alignment CSS rules affecting nested blocks.
  • Fix CSS issue with nested paragraph placeholder.
  • Fix links in docs and add documentation for isPublishSidebarEnabled.
  • Fix shortcode package dependencies.
  • Fix overscroll issues locking scroll up on long pages.
  • Fix reference to SVG component in docs.
  • Fix Table Block header and body column misalignment.
  • Fix an issue where inserting like breaks would throw an error.
  • Fix regressions with placeholder text color (Cover Image, captions).
  • Fix Editor Styles regression.
  • Fix faulty Jed state after setLocaleData.
  • Fix small line-height issue in editor style.
  • Fix Pullquote margin regressions.
  • Fix issues with File Block and new RichText structures.
  • Fix Writing Flow E2E test.
  • Fix issues with “tips” popup margins.
  • Fix issue with mentions after rich text value merge.
  • Fix clipping issue with Instagram embed.
  • Fix ESNext example code.
  • Fix usage of tabs / spaces in parser code.
  • Fix Classic Block toolbar regression.
  • Fix issues with Table Block alignments.
  • Fix inserter misalignment regression.

Other Changes

  • Minor i18n fixes after deprecations were removed.
  • Rename parameter from mapStateToProps to mapSelectToProps in withSelect.
  • Rename AccessibleSVG to SVG and make it work with React Native.
  • Change createObjectUrl to createBlobURL.
  • Clean up Sass variables, comments, reduce complexity.
  • Move Classic Block to packages.
  • Move HTML Block into the blocks library package.
  • Move embed scripts into the body in preview documents.
  • Ensure that the return value of apiFetch is always a valid Promise object in Firefox.
  • Allow negative numbers in order field for Page Attributes.
  • Make sure the demo page loads without marking itself as having changes.
  • Refactor MediaUpload, MediaPlaceholder, and mediaUpload to support arrays with multiple supported types.
  • Add new icons to dashicons package.
  • Add link to “add_theme_support” docs.
  • Remove glob and just include necessary files.
  • Remove unused isButton prop.
  • Remove Vine embed.
  • Replace length check with RichText.isEmpty in Image Block.
  • Replace TinyMCE function to decode entities with existing Gutenberg package.
  • Extract the edit-post module as a reusable package.
  • Pass editor initial settings as direct argument.
  • Pass feature image ID to media upload component.
  • Pass all available properties in the media object.
  • Replace element-closest with registered vendor script.
  • Add new handbook introduction and docs about “blocks as the interface”.
  • Add utils to the wp-data script dependencies.
  • Disable alternate diff drivers in setup script.
  • Clarify RichText.Content readme docs.
  • Document isDefault option for block styles.
  • Update Panel component documentation.
  • Update full post content test fixtures.
  • Add ESLint rule about not allowing string literals in IDs.
  • Add a test for the new Code → Preformatted transform and use snapshots.
  • Add E2E test to visit demo page and verify errors.
  • Add E2E tests for list creation.
  • Update Redux to the latest version.

Mobile

  • Add the React Native entry point to more packages.
  • Need to define isRichTextValueEmpty for mobile.
  • Have Travis run mobile tests that use the parent code.
  • Wire onEnter to requestHTMLWithCursor command in RichText.