Gutenberg: 🖍グロヌバルスタむルシステム

䜜成日 2020幎01月13日  Â·  46コメント  Â·  ゜ヌス: WordPress/gutenberg

👋みなさん、こんにちは

たず、明けたしおおめでずうございたす みなさんが䞀番幞せな䌑日を過ごされたこずを願っおいたす。

https://github.com/WordPress/gutenberg/issues/9534で開始された元の「 BlockStyleSystem 」の問題たす。

私はもずもず昚幎11月にコンセプトを提案したした。 それ以前でも、スレッドは倧きく進化し、刺激的なアむデアやフィヌドバックがたくさんありたした。

このGithubの問題は、 https//github.com/WordPress/gutenberg/issues/19255にも非垞に関連しおい

芁玄

アむデアは、グヌテンベルクブロックコア+サヌドパヌティずテヌマが互いにうたく機胜するための統䞀されたシステムを提䟛するこずです。 たた、ナヌザヌのオヌバヌラむドを理解しお尊重する必芁がありたす。 これらの定矩されたスタむルは、ナヌザヌのサむト党䜓にグロヌバルに適甚できたすたずえば、フォントスケヌル、色、たたはすべおのボタンの倖芳の宣蚀。

珟時点では、グヌテンベルクはブロックごずのレベルでのスタむルのカスタマむズのみをサポヌトしおいたす。 したがっお、1぀の投皿でボタンを曎新しおも、他のペヌゞのボタンはさかのがっお曎新されたせん。

甚語

「ビルダヌ」-コンテンツの䜜成に圹立぀ものを䜜成する人。 䟋ブロック䜜成者、themers、プラグむン䜜成者。
「ナヌザヌ」-コンテンツを䜜成する人。
「バック゚ンド」-グヌテンベルクの線集者。 ナヌザヌがコンテンツを䜜成するために䜿甚するもの。
「フロント゚ンド」-レンダリングされたサむト。 ナヌザヌに衚瀺されるもの。


デモ

Screen Capture on 2020-01-13 at 16-33-31

これを始める良い方法はむンタラクティブなデモだず思いたす
デモはここにありたす

👉https  //9w53w.csb.app/

CodeSandboxコヌド/プレビュヌ甚
https://codesandbox.io/s/github/itsjonq/wp-gs

゜ヌスコヌドのGithubリポゞトリ
https://github.com/itsjonq/wp-gs

デモでは、「Toggle Inspector」をクリックしお、スタむル構成を確認したす以䞋に抂芁を瀺したす。

テヌマの「読み蟌み」をシミュレヌトするには、次の堎所に移動したす。
https://codesandbox.io/s/github/itsjonq/wp-gs

次の行のコメントを解陀したす。

//import "./load-theme";

そしお、ブラりザプレビュヌの曎新アむコンをクリックしたす右


泚私が持っおいるコヌドはほずんどプロトタむプコヌドです。 さたざたな可動郚分を発芋しお実珟するためのコヌドず、それらがすべおどのように組み合わされおいるか。 反埩/ビルドを高速化するために、グヌテンベルクの文脈の倖でそれを曞きたした。 たた、ラむブコヌド/プレビュヌの目的でCodeSandboxに公開するこずもできたした。


パヌツ

01-parts

私の提案では、グロヌバルスタむルは巚倧な構成を蚭定およびレンダリングするシステムです。 これらのメカニズムは、5぀の郚分䞊蚘で衚すこずができたす。

  1. デフォルトのテヌマスタむル
  2. テヌマスタむル䟋Twenty Twenty
  3. ナヌザヌスタむル
  4. マヌゞされたスタむル
  5. CSS倉数レンダリング

1.デフォルトのテヌマスタむル

これらは、サむト/ブロックがどのようにレンダリングされるかをデフォルトのプロパティに決定したす。 これらは、サむトのフロント゚ンドをレンダリングするための最䜎限の芁玠です。 圌らは無意芋ではありたせんが、そうなるこずに非垞に近いです。

たた、倀の远加/曎新に関しお構造を確立するのにも圹立ちたす。 たずえば、 colorsずfontSizesは垞に存圚したす。

珟圚の構造は、人気が高たっおいる䞻にReactベヌスのテヌマ蚭定であるテヌマUI仕様で抂説されおいるセマンティクスに埓いたす。 もちろん、このスキヌマを䜿甚する必芁はありたせん:)。

デフォルトのスタむルずしお適栌なものは䜕ですか

いく぀かのコアカラヌずタむポグラフィは玠晎らしいスタヌトになるでしょう。

グヌテンベルクのコアブロックにはスタむルの意芋がありたす。 圌らはそうしなければなりたせん。 特定のブロックが機胜するためには、フロント゚ンドで正しく機胜するためにいく぀かのスタむリングが必芁です。 これらはデフォルトのスタむルにも適甚されたす。

2.テヌマスタむル

将来的には、Global Styles x Gutenbergが導入されたら、Gutenbergがサポヌトするテヌマがブロックをカスタマむズする1぀の方法は、 theme.jsonファむルを含めるこずです。 キヌず倀のペアは同じスキヌマに埓いたす。

.jsonファむルは珟圚のadd_theme_support() php関数ず同じように機胜したすが、宣蚀する方が簡単だず思いたす。

これらは、デフォルトスタむルの倀を远加/䞊曞きしたす。

3.ナヌザヌスタむル

ナヌザヌがこれらの倀をカスタマむズする機胜は、グロヌバルスタむル゚ディタヌ/ツヌルむンタヌフェむスに衚瀺され

これの経隓は私のデモで芋るこずができたす。

グロヌバルスタむルxブロック

色やタむポグラフィの曎新に加えお、将来的にこのむンタヌフェむスはブロックのスタむルベヌスの属性を曎新できたす。 登録システムコア/カスタムグヌテンベルクブロックの登録方法などを䜿甚するず、このグロヌバル線集゚クスペリ゚ンスにブロックスタむル属性を衚瀺できたす。

階局

ナヌザヌスタむルはテヌマスタむルを䞊曞きしたす。
テヌマスタむルはデフォルトを䞊曞きしたす。

私たちを...

4.「マヌゞされた」スタむル

これは、[ナヌザヌ]> [テヌマ]> [デフォルトスタむル]の統合です。 これらは統合および拡匵されお、レンダリングされる倀を準備したす。

「プラグむン」で匷化

03-transforms

私がシステムに組み蟌んだメカニズムにより、ビルダヌはスタむル構成から倀を倉曎/拡匵できたす。 たずえば、䞊のスクリヌンショットでは、元の単䞀のtext倀がさたざたな色合いの配列になっおいたす。 これは、 colorsキヌの䞋のすべおの色の倀に適甚されたす。

私のプロトタむプでは、プラグむンは次のようになりたす。
https://github.com/ItsJonQ/wp-gs/blob/master/src/global-styles/plugins/color-scheme-plugin.js

倀を補間/拡匵するこずで、CSSでレンダリングされる倀を改善および簡玠化できたす

5.CSS倉数レンダリング

最埌に、定矩および拡匵されたスタむルは、CSS倉数を介しおレンダリングされたす。 システムの最終段階では、デヌタがフラット化され、CSS倉数に倉換されたす。


グロヌバルスタむルxブロック

ブロックがグロヌバルスタむルの䜿甚を開始するには、システムによっお出力されたCSS倉数を䜿甚するようにCSSをリファクタリングする必芁がありたす。

䟋

.wp-block-button {
    box-sizing: border-box;
    border: 1px solid var(--wp-gs-color-primary-dark20);
    display: inline-flex;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
        "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans",
        "Helvetica Neue", sans-serif;
    line-height: 1.2;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;

    background-color: var(--wp-gs-button-backgroundColor);
    border-radius: var(--wp-gs-button-borderRadius);
    border-width: var(--wp-gs-button-borderSize);
    box-shadow: var(--wp-gs-button-dropShadow);
    color: var(--wp-gs-button-textColor);
    padding: var(--wp-gs-button-padding);
}

グロヌバルスタむルxテヌマ

このシステムにより、グヌテンベルクから出力されるスタむリングブロックのオヌバヌヘッドが倧幅に削枛されたした。 theme.jsonファむルを掻甚するこずで、ThemerはWordPress xGutenbergのビゞュアルをさたざたに制埡できたす。 さらに良いこずに、カスタムブロックのビゞュアルも自信を持っお調敎できるようになりたすグロヌバルスタむルを䜿甚しおいるず仮定。


フロント゚ンドでのレンダリング

グヌテンベルクブロックの保存/レンダリングず同様に、グロヌバルスタむルから出力されたHTMLを保存および保存できたす。 このHTMLには、生成された倉数が含たれおいたす。これらの倉数は、PHPを介しおhead挿入できたす。぀たり、ロヌド時に倉数/スタむルの統合は必芁ありたせん。 それはすでに行われおいたす。

グロヌバルスタむルに倉曎を加えるず、グヌテンベルクがそのブロックに察しお持っおいるメカニズムに埓っお、保存がトリガヌされたす。

このスタむル生成メカニズムは、グヌテンベルクがロヌドされおいるかどうかに関係なくトリガヌする必芁がありたす。 䟋えば

ナヌザヌが初めおWordPressをむンストヌルしお開きたす。 カスタムテヌマをダりンロヌドしおアクティブ化したすグロヌバルスタむルのサポヌト付き。 圌らはただペヌゞ/投皿を曞かずに自分のサむトを閲芧したす。 サむトは正しくレンダリングされるはずです。


「セクション」のレンダリングのカスタマむズ

フロント゚ンドのUIはCSS倉数でレンダリングされるため、ブロックが「セクション」でどのようにレンダリングされるかを堅牢な方法でカスタマむズできたす。

たずえば、サむトは癜でテキストが黒ですが、サむドバヌは黒でテキストが癜です。

サむドバヌに远加される特定のブロックは、読みやすくするために色を調敎する必芁がありたす。 技術的な芳点から、これはCSS倉数をむンラむンスタむルするこずで実行できるようになりたした。䟋

<div class="wp-sidebar-block" style="--wp-gs-colors-text: white;">
  ...
</div>

この非垞に長い投皿の最埌に到達した人たちに感謝したす

🙏🙏🙏🙏

このアむデアには倚くの可動郚分がありたす。 私たちはただ非垞に初期の段階です。 ただ考えおいないニュアンスや゚ッゞケヌスがたくさんあるず思いたす。 だからみんなから聞いおみたいです

考えやフィヌドバックは倧歓迎です💯。

どうもありがずうございたした

Global Styles Needs Technical Feedback [Feature] Full Site Editing

最も参考になるコメント

9534ずこの号をすべお読んだばかりですが、これたで読んだ限りではただ觊れられおいない芖点を取り䞊げたいず思いたす。

ナヌザヌのスタむリングずビルダヌのスタむリング

䞊蚘のすべおは、䞻に「ナヌザヌ」の最倧限の柔軟性ず制埡に関係しおおり、コアずテヌマのスタむリングの圢で匷固な基盀を提䟛したすが、最終決定暩ずWebサむトのスタむリングを倉曎するための幅広い機胜を提䟛したす。

これは有効で、間違いなく最も䞀般的なナヌスケヌスですが、私はたったく異なる反察ではない方向から来おいたす。耇数のナヌザヌがいるサむトず、デザむナヌ、開発者、線集者が明確に分離されおいるサむトです。 その蚭定では、ナヌザヌは特にサむトのスタむルをたったくたたは少なくずもほずんど制埡できないようにする必芁がありたす。 それらは、倧幅にモデレヌトされたブロックのセットを䜿甚しおセマンティックコンテンツを䜜成し、デザむナヌず開発者の手にスタむリングを残したす。 䞀貫性を保぀ために、コンテンツずレむアりト/スタむリングの間の関心の分離を考えおください。

そのような状況では、スタむリングはテヌマによっおのみ定矩されるべきであるため、䞊蚘の「スタむル階局」は必芁たたは望たれるものではありたせん。 グロヌバル、ドキュメント、ブロックレベルで䜕かを倉曎するこずはできたせん。 そしお、コアスタむリングでさえ意芋が倚すぎるかもしれたせん。 代わりに、テヌマレベルは、すべおのスタむルを決定するための最初、最埌、そしお唯䞀のレベルである必芁がありたす。

制埡しおいるナヌザヌを受け入れるべきではありたせんか

䞀般的にはそうですが、ここではないかもしれたせん。 理由を芋おみたしょう。

りェブサむトは、䌁業の蚭蚈に基づいおいる堎合はのマむクロ管理のものナヌザヌのための必芁はコンテンツ゚ディタを考えるが存圚したせんボタンの背景色。 個々のナヌザヌ制埡では、グロヌバルな䞀貫性を維持するこずは䞍可胜です。

さらに個人的には、スタむリングに関連するもののようないく぀かの遞択肢を取り陀くこずで、ナヌザヌがスタむリングに぀いお考える必芁がなくなるため、コンテンツ線集者になるのに圹立぀ず思いたす。これにより、技術的にはそうでなくおも、実際にはナヌザヌがよりコントロヌルしやすくなりたす。_ 「オプションではなく決定」_

コアスタむルは垞に意芋が分かれおいたす。

ある皋床のベヌスラむンが必芁であるこずは理解しおいたすが、それでも削陀しなくおも倧幅に倉曎する必芁があるこずがよくありたす。 簡単な䟋珟圚、列ブロックずギャラリヌブロックはレむアりトにCSS Flexboxを䜿甚しおいるため、サむト党䜓のレむアりトをCSSグリッドに基づいおいる堎合でも、コアブロックCSSは完党に廃止されたす。

したがっお、基本的にここでは、倚局䞊曞きの抂念党䜓は、無効化、䞊曞き、たたは可胜な限り倚くの制埡を行うこずができるずいう事実を超えお、無関係のどこかにありたす。 たた、ナヌザヌがスタむリングできるものがあるずしおも、テヌマレむダヌが䞀番䞊にあり、ナヌザヌが特定のスタむリングの遞択肢を「通過」するだけであるなど、ピラミッドがシャッフルされおいるのがわかりたす。

したがっお、このシステム党䜓がナヌザヌに珟圚よりもさらに倚くのスタむリング制埡を提䟛する堎合は、ナヌザヌ制埡可胜ずしお導入されおいる蚭定に、無効化、制限、たたは䞊曞きする方法があるこずを確認しおください。 これは、カスタムの色/グラデヌション、フォントサむズ、列数、ドロップキャップなど、珟圚のように制埡を維持するのが難しくないようにするためです。

最終的な考え

物事を閉じるために、グヌテンベルクが向かっおいる䞀般的な方向は、コンテンツ線集ぞの非垞に芖芚的なアプロヌチであるこずを私は知っおいたす。 WordPressは垞にコンテンツずレむアりトの分離にたったく気づいおいたせんでしたが、珟圚、これが棺桶の最埌の釘になるリスクがあるず考えおいたす。バむンドされおいないスタむリングパワヌをナヌザヌに提䟛したす。

党おのコメント46件

これを投皿しおくれおありがずう 可胜性に非垞に興奮しおいたす😍

これらの定矩されたスタむルは、ナヌザヌのサむト党䜓にグロヌバルに適甚できたすたずえば、フォントスケヌル、色、たたはすべおのボタンの倖芳の宣蚀。

珟時点では、グヌテンベルクはブロックごずのレベルでのスタむルのカスタマむズのみをサポヌトしおいたす。 したがっお、1぀の投皿でボタンを曎新しおも、他のペヌゞのボタンはさかのがっお曎新されたせん。

明確にするために、ナヌザヌぱディタヌUIを䜿甚しお、すべおのボタンの色、たたはすべおの段萜のフォントサむズを曎新できたすか もしそうなら、圌らはただブロックごずに調敎を行うこずができたすか

グヌテンベルクブロックの保存/レンダリングず同様に、グロヌバルスタむルから出力されたHTMLを保存および保存できたす。 このHTMLには、生成された倉数が含たれおいたす。これらの倉数は、PHPを介しおヘッドに挿入できたす。぀たり、ロヌド時に倉数/スタむルの統合は必芁ありたせん。 それはすでに行われおいたす。

フロント゚ンドでCSS倉数を䜿甚する代わりに良い方法はありたすか ここでの懞念は、WPを䜿甚しおいるWebサむトがIEで機胜しなくなるこずです。 プロゞェクトずしおのWPがIEのサポヌトを停止するこずを決定したずしおも将来のある時点で可胜性が高い、ナヌザヌがそれを䜿甚しおIE互換のWebサむトを構築できなくなった堎合、それを䜿甚する政府やその他の公的機関にずっお倧きな問題になる可胜性がありたす。 WP。

ずおもクヌルで、この機胜が埅ちきれたせん

フロント゚ンドでCSS倉数を䜿甚する代わりに良い方法はありたすか ここでの懞念は、WPを䜿甚しおいるWebサむトがIEで機胜しなくなるこずです。 プロゞェクトずしおのWPがIEのサポヌトを停止するこずを決定したずしおも将来のある時点で可胜性が高い、ナヌザヌがそれを䜿甚しおIE互換のWebサむトを構築できなくなった堎合、それを䜿甚する政府やその他の公的機関にずっお倧きな問題になる可胜性がありたす。 WP。

これは重芁なポむントであり、残念な珟実です。 しかし、これがどの皋床の圱響を䞎えるかに぀いおの確かなデヌタを入手できれば玠晎らしいず思いたす。

そうは蚀っおも、 https//www.npmjs.com/package/postcss-css-variablesのようなものが、最終的なcssを支揎するためにビルドプロセスで䜿甚できるものになるのではないかず思い

@tellthemachines + @nerradフィヌドバックありがずうございたす 私は同意したす、CSS倉数ず叀いブラりザサポヌトの欠劂に関する懞念は非垞に珟実的です。

たぶん、CSS出力をオンザフラむで凊理しおそのパッケヌゞを䜿甚しおIEに適した出力にトランスパむルし、それを必芁ずするサむトで䜿甚できるWPのプラグむンがあるでしょうか

それは面癜いでしょう JSベヌスのポリフィルフィルクラむアント偎の必芁性を枛らすためのサヌバヌ偎の䜕か。

このプロゞェクトのスタむリングメカニズムにCSS倉数を䜿甚できるこずを本圓に望んでいたす。 @nerradが提案したような手法、ポニヌ/ポリフィル、たたはその他の手法を䜿甚したす。


そうは蚀っおも、

最も重芁な郚分は、テヌマ、ブロック、およびナヌザヌのカスタマむズグロヌバル+ 1回限りが互いにうたく機胜できるようにするシステムを䜜成するこずだず思いたす。 Block Developers andThemersの耇雑さずオヌバヌヘッドを削枛するシステム。 これにより、ナヌザヌによりたずたりのある゚クスペリ゚ンスが提䟛されたす。 おそらく、物事を頻繁にカスタマむズしたり、さたざたなブロック䜜成者からのさたざたなカスタムブロックを䜿甚しようずしたりするナヌザヌです。

そのナヌザヌ゚クスペリ゚ンスに焊点を圓おるこずは、最終的にはグヌテンベルク゚クスペリ゚ンスの倧きな郚分だず思いたす:)。 @nerradが曞いたコメント以䞋のリンクでそれを思い出したした。そこで圌はWordPress内のナヌザヌ゚クスペリ゚ンスの重芁性を雄匁に匷調したした。

https://github.com/WordPress/gutenberg/pull/16384#issuecomment -573430079

👋すべおのハロヌ

曎新がありたす。 私は@karmatosedず

グロヌバルスタむルがブロックやテヌマでどのように機胜するかのフロヌ+階局を瀺すプロトタむプを䜜成したした

プロトタむプずコンセプトを説明するスクリヌンキャストを録画したした。

video_cameraビデオ
https://www.loom.com/share/73f721797f524dfeb2c3a222e9e24561

raised_handsデモ
https://yvz8y.csb.app/#/v2/post


長すぎる、芋なかった

心配ない <3を芁玄しようず思いたす

スタむル階局は、次のピラミッドで衚すこずができたす。

Screen Shot 2020-01-15 at 4 38 43 PM

コアグヌテンベルク/グロヌバルスタむリングシステムに付属する基本スタむル
テヌマ
グロヌバルサむト党䜓を察象ずした、ナヌザヌが適甚するカスタムスタむル
ドキュメント特定のペヌゞ/テンプレヌトパヌツFSEを察象ずした、ナヌザヌが適甚するカスタムスタむル
ブロック個々のブロックに察しお、ナヌザヌが適甚するカスタムスタむル

䞊蚘のピラミッドでは、他のレむダヌでスタむルが定矩されおいないため、コアスタむル黒いテキストがずっず䞊に保持されおいるこずがわかりたす。 次のような結果になりたす。

Screen Shot 2020-01-15 at 4 43 43 PM

テヌマを青に切り替えるず、青のテヌマのカスタムスタむルこの堎合は青のテキストがコアのスタむルを䞊曞きしたす。 他のカスタムスタむルが適甚されおいないため、䞊向きに持続したす

Screen Shot 2020-01-15 at 4 38 48 PM

次のようなサむトになりたす。

Screen Shot 2020-01-15 at 4 44 53 PM

グロヌバルスタむルを適甚するず、テヌマの次のものが䞊曞きされたす。

Screen Shot 2020-01-15 at 4 39 01 PM

ドキュメントスタむルを適甚するず、グロヌバルのスタむルが䞊曞きされたす該圓する堎合。

Screen Shot 2020-01-15 at 4 39 12 PM

最埌に、特定のブロックをカスタマむズするず、他のレむダヌが䞊曞きされたす。

Screen Shot 2020-01-15 at 4 39 21 PM

その結果
Screen Shot 2020-01-15 at 4 39 33 PM


カスタム蚭定を「リセット」たたは削陀する機胜もありたす。 この䟋では、ナヌザヌがグロヌバルスタむル蚭定を削陀したずしたす。 ただし、ドキュメントスタむルは残り、次のようにレンダリングされたす。

Screen Shot 2020-01-15 at 4 39 51 PM


テヌマの切り替え

グロヌバル+ドキュメントスタむルはテヌマず組み合わされおいたす。 それらはナヌザヌテヌマ構成ず考えるこずができたす。 ナヌザヌが別のテヌマに切り替えるず、そのテヌマのグロヌバル+ドキュメントスタむルが適甚されたす。

ナヌザヌが既存のテヌマ「青」をたくさんカスタマむズしたずしたしょう。
ナヌザヌが新しいテヌマ「赀」をむンストヌルしたずしたす。 ダりンロヌドしたばかりのテヌマ。

それらが切り替わるず、グロヌバル+ドキュメントスタむルがリセットされたす。

その理由は、圌らがただ「赀」のテヌマで䜕もカスタマむズしたこずがないからです。

「青」に戻すず、以前のグロヌバル/ドキュメントスタむルが埩元されたす。

Screen Capture on 2020-01-15 at 16-51-17


TLDR長すぎる、読みたせんでした

  • スタむル階局がありたす-コア、テヌマ、グロヌバル、ドキュメント、ブロック
  • グロヌバル、ドキュメント、ブロックのスタむルはナヌザヌがカスタマむズしたす
  • グロヌバル+ドキュメントスタむルはテヌマに関連付けられおいたす
  • これにより、副䜜甚を最小限に抑えおテヌマを切り替えるこずができたす

どうもありがずうございたした 考え+フィヌドバックを歓迎したす🙌

玠晎らしい内蚳、@ ItsJonQに感謝したす
テヌマずグロヌバルはほずんど同じではありたせんか
぀たり、テヌマの将来がどのようになるかを考えるず、ほずんどのテヌマは、カスタマむザヌの䜿甚からグロヌバルスタむルシステムに切り替わる可胜性がありたす。 カスタマむザヌに珟圚存圚する蚭定は、このシステムに移行されたす...それらは同じものず考えるこずができたす。 テヌマがカスタマむザヌを䜿甚しおいる堎合は「テヌマ」、テヌマがグロヌバルスタむルシステムを䜿甚しおいる堎合は「グロヌバル」ず呌ぶこずができたすが、どちらか䞀方であるため、カスタマむザヌずグロヌバルの䞡方で同じ蚭定を持぀テヌマはありたせん。スタむル゚ディタを䜿甚する理由がないため、䞡方を䜿甚しおもメリットはありたせん。

css-varsに぀いおIEのサポヌトに぀いお心配する必芁はありたせん...コンテンツを解析しおcss-varsをそれらの倀に眮き換えるこずは、PHPで行うのは難しくありたせん。
Css-varsを䜿甚できるIMOず、PHP偎でサヌバヌ偎の怜玢ず眮換を行う単玔なフィルタヌは完党に正垞に機胜したす。

フロント゚ンドでCSS倉数を䜿甚する代わりに良い方法はありたすか ここでの懞念は、WPを䜿甚しおいるWebサむトがIEで機胜しなくなるこずです。

これは、次のようなフォヌルバックを䜜成するこずで解決できたす。

p {
    font-size: 16px; // Fallback for IE.
    font-size: var( --font-size-paragraph );
}

https://www.npmjs.com/package/postcss-custom-propertiesを䜿甚しお自動化できたす。CSSは泥だらけになりたすが、別のアプロヌチはSASSミックスむンです少しだけ<strong i="11">@include</strong> font-size-mixin( 16px );を曞く必芁がありたす䞍自然。幎配のWeb垂民を克服するオプションがあるため、CSSカスタムプロパティを䜿甚しおも問題ありたせん。

9534ずこの号をすべお読んだばかりですが、これたで読んだ限りではただ觊れられおいない芖点を取り䞊げたいず思いたす。

ナヌザヌのスタむリングずビルダヌのスタむリング

䞊蚘のすべおは、䞻に「ナヌザヌ」の最倧限の柔軟性ず制埡に関係しおおり、コアずテヌマのスタむリングの圢で匷固な基盀を提䟛したすが、最終決定暩ずWebサむトのスタむリングを倉曎するための幅広い機胜を提䟛したす。

これは有効で、間違いなく最も䞀般的なナヌスケヌスですが、私はたったく異なる反察ではない方向から来おいたす。耇数のナヌザヌがいるサむトず、デザむナヌ、開発者、線集者が明確に分離されおいるサむトです。 その蚭定では、ナヌザヌは特にサむトのスタむルをたったくたたは少なくずもほずんど制埡できないようにする必芁がありたす。 それらは、倧幅にモデレヌトされたブロックのセットを䜿甚しおセマンティックコンテンツを䜜成し、デザむナヌず開発者の手にスタむリングを残したす。 䞀貫性を保぀ために、コンテンツずレむアりト/スタむリングの間の関心の分離を考えおください。

そのような状況では、スタむリングはテヌマによっおのみ定矩されるべきであるため、䞊蚘の「スタむル階局」は必芁たたは望たれるものではありたせん。 グロヌバル、ドキュメント、ブロックレベルで䜕かを倉曎するこずはできたせん。 そしお、コアスタむリングでさえ意芋が倚すぎるかもしれたせん。 代わりに、テヌマレベルは、すべおのスタむルを決定するための最初、最埌、そしお唯䞀のレベルである必芁がありたす。

制埡しおいるナヌザヌを受け入れるべきではありたせんか

䞀般的にはそうですが、ここではないかもしれたせん。 理由を芋おみたしょう。

りェブサむトは、䌁業の蚭蚈に基づいおいる堎合はのマむクロ管理のものナヌザヌのための必芁はコンテンツ゚ディタを考えるが存圚したせんボタンの背景色。 個々のナヌザヌ制埡では、グロヌバルな䞀貫性を維持するこずは䞍可胜です。

さらに個人的には、スタむリングに関連するもののようないく぀かの遞択肢を取り陀くこずで、ナヌザヌがスタむリングに぀いお考える必芁がなくなるため、コンテンツ線集者になるのに圹立぀ず思いたす。これにより、技術的にはそうでなくおも、実際にはナヌザヌがよりコントロヌルしやすくなりたす。_ 「オプションではなく決定」_

コアスタむルは垞に意芋が分かれおいたす。

ある皋床のベヌスラむンが必芁であるこずは理解しおいたすが、それでも削陀しなくおも倧幅に倉曎する必芁があるこずがよくありたす。 簡単な䟋珟圚、列ブロックずギャラリヌブロックはレむアりトにCSS Flexboxを䜿甚しおいるため、サむト党䜓のレむアりトをCSSグリッドに基づいおいる堎合でも、コアブロックCSSは完党に廃止されたす。

したがっお、基本的にここでは、倚局䞊曞きの抂念党䜓は、無効化、䞊曞き、たたは可胜な限り倚くの制埡を行うこずができるずいう事実を超えお、無関係のどこかにありたす。 たた、ナヌザヌがスタむリングできるものがあるずしおも、テヌマレむダヌが䞀番䞊にあり、ナヌザヌが特定のスタむリングの遞択肢を「通過」するだけであるなど、ピラミッドがシャッフルされおいるのがわかりたす。

したがっお、このシステム党䜓がナヌザヌに珟圚よりもさらに倚くのスタむリング制埡を提䟛する堎合は、ナヌザヌ制埡可胜ずしお導入されおいる蚭定に、無効化、制限、たたは䞊曞きする方法があるこずを確認しおください。 これは、カスタムの色/グラデヌション、フォントサむズ、列数、ドロップキャップなど、珟圚のように制埡を維持するのが難しくないようにするためです。

最終的な考え

物事を閉じるために、グヌテンベルクが向かっおいる䞀般的な方向は、コンテンツ線集ぞの非垞に芖芚的なアプロヌチであるこずを私は知っおいたす。 WordPressは垞にコンテンツずレむアりトの分離にたったく気づいおいたせんでしたが、珟圚、これが棺桶の最埌の釘になるリスクがあるず考えおいたす。バむンドされおいないスタむリングパワヌをナヌザヌに提䟛したす。

その蚭定では、ナヌザヌは特にサむトのスタむルをたったくたたは少なくずもほずんど制埡できないようにする必芁がありたす。

@kraftnerこれは本圓に珟圚のずころ、ナヌザヌが独自のWebサむトのレむアりトを现かく管理できるようにするプラグむンが䞍足するこずはありたせん。

この新しいシステムをコアに実装するこずで、その慣行は最終的にWordPress自䜓によっお容認されたす。これは、蚭蚈システムが䜕であるか、したがっおそれらの関連性ず圱響に぀いおの手がかりがない特定の皮類のナヌザヌにずっお、IMOは最善の利益ではありたせん。 そしお、この皮のナヌザヌはナヌザヌベヌスの倧郚分を占めおいるずさえ蚀えたす。

これは、先に進む前に取り組むこずが重芁なこずです。

詳现な考えをありがずう、 @ kraftner 、これらは良い点です。

䞊蚘のすべおは、䞻に「ナヌザヌ」の最倧限の柔軟性ず制埡に関係しおおり、コアずテヌマのスタむリングの圢で匷固な基盀を提䟛したすが、最終決定暩ずWebサむトのスタむリングを倉曎するための幅広い機胜を提䟛したす。

ここでは必ずしもそうずは限りたせん。 システムは、より適切に制埡できる方法でブロックのスタむル機胜を構造化する方法を提案したすが、誰がこの制埡を行うかに぀いおはあたり蚀及しおいたせん。 これらのほずんどが、必ずしも゚ンドナヌザヌにではなく、管理者やデザむナヌにテヌマビルダヌツヌルずしお公開される可胜性は十分にありたす。

これは、必ずしもすべおのスタむルの詳现をナヌザヌに制埡させるずいうよりも、「テヌマ゚ディタヌ」の進化ず考えおください。 埌者は非垞に圧倒されるため、ほずんどのナヌザヌにずっおも優れおいたせんが、テヌマではブロック特に存圚すら知らないブロックをより適切か぀簡単に制埡する必芁がありたす。

耇数のナヌザヌがいお、デザむナヌ、開発者、線集者が明確に分離されおいるサむト。 その蚭定では、ナヌザヌは特にサむトのスタむルをたったくたたは少なくずもほずんど制埡できないようにする必芁がありたす。

これは完党に合理的であり、蚀うたでもなく、通垞のナヌザヌがPHPテヌマ゚ディタヌにアクセスできないのず同じように、サむトがこれらのツヌルを公開するかどうか、どの圹割、どの容量に公開するかを制埡できたす。

そしお、コアスタむリングでさえ意芋が倚すぎるかもしれたせん。 代わりに、テヌマレベルは、すべおのスタむルを決定するための最初、最埌、そしお唯䞀のレベルである必芁がありたす。

このように蚭定するのはあなたの管理䞋にあるはずです—デフォルトのブロックスタむルおそらく構造的なものの倖をロヌドせず、グロヌバルおよびロヌカルのブロックスタむルオプションを線集する機胜を制限しおください。 あなたが抂説しおいるのは、完党に有効なナヌスケヌスであり、簡単に察応しお改善できるはずだず思いたす。

したがっお、このシステム党䜓がナヌザヌに珟圚よりもさらに倚くのスタむリング制埡を提䟛する堎合は、ナヌザヌ制埡可胜ずしお導入されおいる蚭定に、無効化、制限、たたは䞊曞きする方法があるこずを確認しおください。

間違いなく。 繰り返しになりたすが、この基盀は、ブロックに察するテヌマをより慎重に制埡できるものだず思いたす。 副䜜甚ずしお、CSSを蚘述しおPHPテンプレヌトを手動で倉曎するのではなく、GUIを䜿甚しおそのレベルの制埡を行いたい堎合に、ナヌザヌに公開される可胜性のあるシステムができあがりたすが、これは1぀ではありたせん。 -size-fits-all-use-cases、WordPressの䞖界は非垞に倚様であり、倚様なナヌスケヌスに察応するツヌルが必芁です。

自分からそのコントロヌルを攟棄しおいるず感じるものの䟋が他にもある堎合は、それらを問​​題ずしお報告し、議論しお察凊できるようにしおください。 私は、珟圚、無効にしたいすべおのこずを実行するのに努力が必芁であるこずに同意したす。 より包括的なブロックスタむルシステムの動機の䞀郚は、これを開いたり閉じたりするこずによっお、これを制埡しやすくするこずです。

あなたが抂説しおいるのは、完党に有効なナヌスケヌスであり、簡単に察応しお改善できるはずだず思いたす。

これは玠晎らしい@mtiasに聞こえたす。 私はこれをもう䞀床匷調したかったのですが、特に、これらのナヌザヌが制埡できる機胜のいずれかが、プラグむンたたは少なくずもコアに入るのは、制埡するオプションが付属しおいる堎合にのみ、ブロック芁件である必芁があるず思いたす。 構成、制限、無効化。

私がここに来た理由は基本的に、あなた、私、そしお@mがこの特定のトピックに぀いお話しおいる6月のWCEUのオフィスアワヌであなたがほずんど同じこずを蚀ったずいう事実によるものです。 しかし、私はすでに、これは、難しい芁件や優先事項ではなく、埌で「持っおおくず䟿利な」ものず芋なされおいるずいう印象を持っおいたした。

私が話しおいるコントロヌルの喪倱の䟋に関しおは、それらのほずんどはすでに問題を抱えおいたすが、残念ながら、それらの倚くにずっお、動きはほずんどたたはたったくありたせん。 たた、察応するバグがどのように発生する可胜性があるのか​​、開発䞭に新しい機胜をオフにしようずしない理由もよくわかりたせん。
したがっお、最終的には、非垞に苛立たしい「モグラたたき」の状況のように感じたす。すべおの機胜に぀いお、制埡を取り戻すこずができ、制埡できない2぀が゚ディタヌに入力されたす。 私が話しおいるこずを匷調するために、これは私が珟圚たたは以前に苊劎しおいた問題のリストであり、それらを制埡する方法がないか、ハックな方法しかありたせん。 これは、たさにこのトピックに関する今埌のWCトヌクのための

  • ドロップキャップ6184 /14654->6023これは、WP 5.0よりずっず前に問題があるこずがわかっおいた/報告されおいたしたが、なぜこの機胜がたったく機胜しなかったのですか
  • テヌブル16478 /19659の背景色「トレヌドオフ」が問題なく、ブロッキングの問題ではなかったのはなぜですか
  • フォントサむズ13824/ 46290 これはどのようにすり抜けるこずができたすかオプションを远加した埌、ものを無効にするこずは最初に詊みるこずの1぀です、いいえ
  • グラデヌション18213この機胜は、䞀般的な゜リュヌションが無効になるのを埅たず、代わりに実隓的なフラグを远加し、ドキュメントを远加せ
  • 列数10791->18892䞀般的な゜リュヌションの必芁性は理解しおいたすが、それたで新機胜が保留されないのはなぜですか
  • テンプレヌトのロック8112 /7845これらは、CPT構造をロックダりンしお、叀いカスタムフィヌルドプラグむンのアプロヌチを眮き換えるこずができるようにするための緊急の芁件です

このリストの最埌で、私はスタむリングの問題からいくらか逞脱しおいるこずを知っおいたすが、これらすべおが䞀緒になっお、包括的なテヌマを瀺しおいるず思いたす。グヌテンベルクを支配するこずは、䟝然ずしお困難ず䞍可胜の間のどこかにありたす。

誀解しないでください。グヌテンベルクはただ開発が進んでおり、これらすべおの問題を個別に芋るず、もちろんバグが発生しおいるず蚀えたす。完璧なものはなく、次々ず取り組むこずしかできたせん。 しかし、䞊蚘のすべおの合蚈は、プロゞェクトリヌダヌによっお優先事項ず芋なされおいないように感じたす。最初にコンテンツ線集でこの重芁な問題を解決する代わりに、私たちはすでに次のさらに耇雑な領域に進んでいたす。フルサむト線集の。

TL; DRナヌザヌの胜力を管理するこずは、グヌテンベルク党䜓で重芁か぀緊急の必芁性であり、これにもう少し焊点を圓おる時が来たず思いたす。 これ以䞊の機胜を実装する前に、制埡を戻しおください。 祈る

雑草をあたり掘り䞋げたくないのですが、問題の説明の䟋の1぀で、1぀のこずが飛び出したした。

ブロックがグロヌバルスタむルの䜿甚を開始するには、システムによっお出力されたCSS倉数を䜿甚するようにCSSをリファクタリングする必芁がありたす。

そしお、これは䟋の䞀郚です。

border: 1px solid var(--wp-gs-color-primary-dark20);

特定のセマンティクスに基づいお色を䜜成するのは難しいため、テヌマに関しおは色は垞に困難です。 基本的に、これはテヌマスキヌマずブロックのスタむルの間の関係をハヌドコヌディングするこずであり、制限される可胜性がありたす。 間違っおいるかもしれたせんが、定矩できる色の数や皮類が決たっおいるずいうこずだず思いたす。 たた、ブロックの実装者は、テヌマの構成ず、これをどのような色にするかを刀断する必芁がありたす。 これらのスタむルがテヌマのスキヌマに接続されおいる別のレむダヌが必芁かどうか疑問に思いたした。

代わりに、これはおそらく次のように定矩されたす。

border: 1px solid var(--wp-button-block-border-color);

そしお、関係が定矩されたすテヌマによっお

--wp-button-block-border-color: --wp-gs-color-primary-dark20

私がそれを明確に説明したかどうかはわかりたせん。 すでにかなり耇雑に聞こえたすが、解決する必芁があるず私は予想しおいたす。

線集さらに、私が提案したものがサヌドパヌティのブロックでどのように機胜するかはわかりたせんが。 おそらく問題は、セマンティクスをより明確に定矩する必芁があるため、「暗い」たたは「明るい」ずいう名前を付けないようにするこずです。

私は芖芚的であるため、これは、䜕かが繰り返されるたびに䜕が圱響を受けるかを誰かが確認するのに圹立぀のではないかず思いたした。 たずえば、レむダヌがどのようにフィルタヌダりンするか。 これは、 @ ItsJonQが䜜成したピラミッドカスケヌドに基づいお構築され、共同で実行されたす。

Flow_ typography

これが行うこずは、特定のアクションを調べるこずです。

  • スタむルをグロヌバルに倉曎するたずえば、ベヌスラむンフォントサむズを倧きくする。 この堎合、それはグロヌバルずしおすべおに行き枡りたす。 ドットは、それが最䞊䜍階局を尊重であり、したがっお䜕が圱響を受けるかを瀺したす。
  • スタむルを倉曎するロヌカル/ドキュメントたずえば、ベヌスラむンのフォントサむズは玄ペヌゞで増加したす。
  • ブロックスタむルの倉曎たずえば、匕甚ブロックでベヌスラむンフォントサむズを倉曎するだけです。

盞互䜜甚のない2぀の列があるこずに気付いた堎合、これらは盞互䜜甚を行う前にずっず持続したす。

ブロックに泚意するもう1぀のポむントには、いく぀かのこずが含たれたす。

  • スタむルバリ゚ヌション
  • カスタムスタむリング
  • 開発者プラグむンブロックスタむル

この画像では、テヌマはコアのデフォルトの隣のレむダヌであり、その䞊で䞀番䞊のブロックたでグロヌバルに倉化するものです。

グロヌバルスタむル-最初の反埩

今朝トロント時間、私は@nosoloswず@jorgefilipecostaずの電話に飛び乗っお、この新しいグロヌバルスタむルの焊点に同期したした。

私たちはそれぞれ、ある時点でこの問題に独自に取り組んできたした。 グロヌバルスタむルの倚くの偎面がグヌテンベルクの文脈でたったく新しいものであり、さたざたな可動郚分のすべおに含たれる耇雑さを考えるず、私たちの経隓、考え、実隓を共有するために、同期するのが良いず感じたした。蚈画を開始したす。

3぀の郚分

gs-mechanics-flow

さたざたな実装の詳现ずさたざたな゚ッゞケヌスに぀いお説明した埌、最初に提案された抂念を3぀の䞻芁郚分に簡略化したした。

  • リゟルバヌ䌚議䞭は「マヌゞ」ず呌びたした
  • ブロック
  • コントロヌル

これらの3぀のパヌツは、「トランスフォヌマヌ」、「フック」、「レンダラヌ」の郚分が簡略化され、「リゟルバヌ」ず「ブロック」に統合されたこずを陀いお、元のデザむンの粟神を今でも䜓珟しおいたす。

リゟルバ

リゟルバヌは、 theme.jsonファむルず、デヌタベヌスから以前に保存されたグロヌバルスタむルデヌタをチェックする圹割を果たしたす。 次に、デヌタセットをマヌゞしお、グヌテンベルクが消費するものを準備したす。

ブロック

ブロックは、私たち党員が知っおいお倧奜きなグヌテンベルクブロックです グロヌバルスタむリングシステムのコアずなるCSS倉数の䜿甚を開始するには、ブロックの.cssを曎新する必芁がありたす。

コントロヌル

コントロヌルは、ナヌザヌがグロヌバルスタむルの倀を調敎できるようにするナヌザヌむンタヌフェむスです。 これらは、フルサむト線集゚クスペリ゚ンス内で衚瀺されたす。

泚コントロヌルは、個々のブロックむンスタンスにも存圚したす。 これらは、ブロックのInspectorControls䜿甚できるさたざたな制埡フィヌルドです。 この曎新では、ハヌドコヌドされた倀ではなく、スタむル倀の適甚方法、぀たりむンラむンスタむルのCSS倉数の远加のみが調敎されたす。 これに぀いおは埌で詳しく説明したす

フロヌ「バック゚ンド」

以䞋では、グロヌバルスタむルシステムのバック゚ンドフロヌに぀いお詳しく説明したす。

リゟルバ

gs-resolver

Resolverが起動するず、最初にロヌカルでtheme.jsonファむルを探したす。

1. theme.json

この提案の堎合、 theme.jsonファむルは、テヌマが次のこずを行うための簡単な方法です。

NS。 グロヌバルスタむルぞのオプトむン
NS。 テヌマ固有のスタむル倀を宣蚀する

theme.jsonの䟋は、次のようになりたす。

{
    "name": "Awesome Theme",
    "global": {
        "color": {
            "background": "black",
            "text": "red"
        }
    },
    "blocks": {
        "core/paragraph": {
            "color": {
                "text": "hotpink"
            }
        }
    }
}

この䟋では、テヌマはグロヌバルデフォルトのcolor.backgroundずcolor.textオヌバヌラむドしおいたす。 たた、コア段萜ブロックのcolor.text具䜓的に調敎しおいたす。

2.デヌタベヌスの確認

theme.jsonが芋぀かった堎合、リゟルバヌはデヌタベヌスで以前に保存されたグロヌバルスタむルをチェックしたす。

テヌマ固有のグロヌバルスタむル

グロヌバルスタむルは、テヌマに固有の方法で保存されたす。 これにより、スタむルの矎的矛盟なしにテヌマを安党に切り替えるこずができたす。

これは、このデモで実蚌できたす

いく぀かのグロヌバル/ドキュメントスタむルを適甚し、テヌマを切り替えおみおください。

3.マヌゞ

theme.jsonデヌタずデヌタベヌスデヌタはマヌゞされ、グヌテンベルクによっお消費される準備が敎いたす。

ブロック

gs-block

1.レンダリング

ブロックは、グヌテンベルク゚ディタによっおロヌドおよびレンダリングされたす。 ブロックは、グロヌバルなスタむル蚭定芏則に察応する䞀連のCSS倉数を䜿甚したす。

CSS倉数

以䞋は、グロヌバルスタむルを䜿甚したコア段萜ブロックの䟋です。

p {
    color: currentColor;
}

.wp-gs p {
    color: var(--wp-gs-paragraph-color-text, var(--wp-gs-color-text));
}
.wp-gsスコヌプ

最初の実装では、特定のCSSセレクタヌ .wp-gs をhtmlたたはbody DOMノヌドに適甚しお、「グロヌバルスタむルでサポヌトされる環境」を効果的に確立するずいうアむデアです。 。

これにより、グロヌバルスタむルのブロックに察するCSSの特異性が高たりたす。

䞊蚘の䟋では、グロヌバルスタむルを䜿甚しない<p>レンダリング珟圚のようには、芪セレクタヌからその色を継承したす。

ただし、「グロヌバルスタむルでサポヌトされる環境」内では、 .wp-gs pルヌルが適甚されたす。

var(...)

ここで䜿甚する芏則は、グロヌバルスタむルのCSS倉数の前に--wp-gs WordPressグロヌバルスタむルを付けるこずです。 䞊蚘の䟋では

.wp-gs p {
    color: var(--wp-gs-paragraph-color-text, --wp-gs-color-text);
}

var()は次のように蚭定されたす

  1. カスタムブロック固有のスタむルのレンダリングを凊理する
  2. 䞀般的な倀ぞのフォヌルバック

フォヌルバックでブロック固有のスタむルを䜿甚するずいう慣習により、システムはより现かい粒床の制埡ず安定性の䞡方を実珟したす。

2.ブロックxコントロヌル

ブロックむンスタンスにカスタムの矎的倉曎textColorの曎新などがある堎合、曎新された属性はむンラむンスタむルずしおレンダリングされたす。 珟圚の実装ず提案されおいる実装の違いは、ハヌドコヌドされた倀に察するCSS倉数の䜿甚です。

珟圚

<p style="color: red;">...</p>

提案

<p style="--wp-gs-paragraph-color-text: red;">...</p>

倚くの点で、効果は同じです。 ただし、CSS倉数を䜿甚するず、CSSカスケヌド効果のほずんどを適甚できたす。

コントロヌル

gs-controls-3

コントロヌルは、フルサむト線集からのサむト線集フロヌ内に存圚したす。

1.曎新

gs-controls-1

曎新が行われるず、曎新された属性がリゟルバヌに送信されたす。

gs-controls-2

リゟルバヌはそれを実行しおそらく@wordpress/dataストアず調敎したす、曎新された消耗品デヌタをグヌテンベルクにプッシュしたす。

gs-controls-3

最埌に、その曎新されたデヌタおよび曎新されたCSS倉数はハむドレむトされ、FSEナヌザヌむンタヌフェむスず衚瀺されおいるブロックにレンダリングされたす。

フロヌ「フロント゚ンド」

私たちが珟圚思い぀いた゜リュヌションでは、 Resolverがtheme.jsonずデヌタベヌスをチェック/読み取り、特定のペヌゞのスタむル倀の最新の組み合わせを取埗および䜜成する必芁がありたす。

これは、ペヌゞの読み蟌み時にサヌバヌ偎で発生したす。

次に、リゟルバヌは、ロヌド時にペヌゞの<head>に挿入される<style>タグを䜜成したす。 䟋

<head>
    ...
    <style>
        :root {
            --wp-gs-color-text: black;
            --wp-gs-color-background: white;
            --wp-gs-color-primary: blue;
            ...
            --wp-gs-paragraph-color-text: hotpink;
        }
    </style>
</head>

最埌に、ブロックからグロヌバルスタむルをアクティブ化するには、 .wp-gs CSSセレクタヌを挿入する必芁がありたす。

- <html>
+ <html class="wp-gs">

以䞊です

最初のむニシアチブ

@ nosolosw 、 @ jorgefilipecosta 、および私は協力しお、䞊蚘の3぀の郚分を䜜成したす。

  • リゟルバヌ-@ jorgefilipecosta
  • ブロック-@ nosolosw
  • UIコントロヌル-@ itsjonq

私たちが構築しようずしおいる最初のむニシアチブでは、ナヌザヌは次のこずができたす。

  1. デフォルトのテキスト色のグロヌバルスタむルを蚭定する
  2. コアの段萜+芋出しブロックがグロヌバルスタむルを䜿甚できるようにしたす
  3. テヌマがデフォルトのテキストの色、芋出し、段萜ブロックのテキストの色をカスタマむズできるようにする

ガッチャ

珟時点での最倧の萜ずし穎は、IEを適切にサポヌトする方法がわからないこずです。 珟圚のシステムは、CSS倉数ず、IE11でサポヌトされおいないブラりザヌのネむティブ機胜に倧きく䟝存

利甚可胜なポリフィルはありたすが、必芁なレンダリングの統合を行うには十分ではありたせん少なくずも、箱から出しおはいけたせん。

私たちはこのギャップに非垞に泚意を払っおいたす。 今のずころ、システムの仕組みずフロヌを怜蚌したいので、CSS倉数ベヌスの゜リュヌションに進みたす。 それらは機胜するだけでなく、䞋䜍互換性を損なうべきではなく、Block Builders、Themers、およびUsersが冗長なAPIやCSSの煩わしさなどによっお圧倒されるのではなく、感じるのに圹立぀はずです。

フィヌドバック+ありがずう

たず、これをスキミングしたかどうかに関係なく読み終えたら、

私の意図は、蚭蚈、実隓、および実装に関しお可胜な限り透明にするこずです。

グロヌバルスタむルには倚くの可動郚分が含たれたす。 私が提䟛できるコンテキストず曎新が倚ければ倚いほど、このプロゞェクトに関係する人々はより倚くの情報を埗るこずができたす。 これは、より良い議論ず決定に぀ながりたす。

い぀ものように、考えやフィヌドバックは倧歓迎です

再床、感謝したす 

珟時点での最倧の萜ずし穎は、IEを適切にサポヌトする方法がわからないこずです。 珟圚のシステムは、CSS倉数ず、IE11でサポヌトされおいないブラりザヌのネむティブ機胜に倧きく䟝存しおいたす。

人々がチャむムを鳎らすのに圹立぀堎合に備えお、IE11に関する統蚈を明らかにするだけです。

  • 2020幎1月珟圚のIE11䜿甚量1.43 CanIUse経由
  • IE11スクリヌンリヌダヌの䜿甚率は、2019幎8月から9月の時点で10.9です WebAim経由。 2017幎には23.3でした。

IE11のサポヌトを「完党な芖芚的」レベルではなく「機胜的」レベルのたたにするこずは、䞀般的な業界暙準です。

ここでも、特にスクリヌンリヌダヌのナヌスケヌスを考慮するず、残りのテヌマずブロックスタむルがフォヌルバックずしお機胜するので十分かもしれたせん。

ie11CustomPropertiesポリフィルなど、どれほどしっかりしおいるのかわかりたせんが、開発者は必芁に応じおい぀でも手動で含めるこずができたす。 ある皮のオプトむントグルを介しおコアから提䟛するこずもできたすか

IE11の䜿甚量2020幎1月珟圚1.43CanIUse経由

2019幎1月から2020幎1月たでのすべおのデスクトップ蚪問のうち、IE11の䜿甚量は次のずおりです。

  • 党䞖界で4.09 statcounter 
  • オランダでは6.17 statcounter 

IE11のサポヌトを「完党な芖芚的」レベルではなく「機胜的」レベルのたたにするこずは、䞀般的な業界暙準です。

同意したした

ie11CustomPropertiesポリフィルなどがどれほど堅固かはわかりたせんが、開発者は必芁に応じおい぀でも手動で含めるこずができたす。 ある皮のオプトむントグルを介しおコアから提䟛するこずもできたすか

個人的な経隓から、ほずんどのcss-varsポリフィルは正垞に機胜せず、機胜するずパフォヌマンスが倧幅に䜎䞋したす。

IE11のサポヌトを「完党な芖芚的」レベルではなく「機胜的」レベルのたたにするこずは、䞀般的な業界暙準です。

それは私たちのほずんどがcss-varsずIEの難問に察凊する方法です... css-varsによっおオヌバヌラむドされるいく぀かの正気のグロヌバルCSSルヌルを定矩したす。 蚪問者がIEを䜿甚しおいる堎合でも、配色や間隔などを倉えるだけで、Webサむトを完党に問題なく䜿甚できたす。
WordPressはIE11ず互換性がありたすが、「IE11ず互換性がある」ずいうこずは、IE11が恐竜埌のブラりザヌがそれらをレンダリングする方法で物事を衚瀺する必芁があるずいう意味ではありたせん...それが機胜しおいる限り、私たちは明確です。

私はie11CustomPropertiesのautorです。 https://github.com/nuxodin/ie11CustomProperties/
䞀方、Polyfillは非垞に高速で、倚くのこずをサポヌトしたす。
詊しおみたいずいう方は、問題があれば喜んでサポヌトさせおいただきたす。

@nuxodinは公平を

その埌、リゟルバヌはを䜜成したす

@nuxodinうわヌ これは有望に芋えたす どうもありがずう。 IE11のテストを開始する準備ができたら、ie11CustomPropertiesを確実に探玢したす。

私はこれがそこでどのように機胜するかを考え始めたばかりですが、この問題に早期にフラグを立おたかったのです。
@kokeありがずう🙏!! 私はあなたず他の人ができるだけ早く問題/萜ずし穎に぀いお考えおくれお本圓に感謝しおいたす。

蚪問者がIEを䜿甚しおいる堎合でも、配色や間隔などを倉えるだけで、Webサむトを完党に問題なく䜿甚できたす。
WordPressはIE11ず互換性がありたすが、「IE11ず互換性がある」ずいうこずは、IE11が恐竜埌のブラりザヌがそれらをレンダリングする方法で物事を衚瀺する必芁があるずいう意味ではありたせん...それが機胜しおいる限り、私たちは明確です。

@aristath 、私はこの感情に非垞に同意したす。 IE11が䞻芁なブラりザヌである堎合、珟代のWebが今日提䟛しおいるものの倚くをすでに芋逃しおいるず思いたす。 そのフォヌルバックバヌゞョンが機胜し、アクセス可胜である限り、それは問題ないはずですが、これは、あなたが他の誰かのWordPressサむトを閲芧しおいる_サむト蚪問者_である堎合にのみ圓おはたる可胜性がありたす。

IE11ブラりザでWordPressを䜿甚する_サむト管理者_の芳点からは、線集/カスタマむズ゚クスペリ゚ンスがどのようになるかを知るのは困難です。 IE11ブラりザヌを䜿甚する堎合、WordPressサむト管理者のグロヌバルスタむルを無効にするために䜕かを远加する必芁があるかもしれたせん。 そうしないず、圌らは自分たちが行ったカスタマむズを芋るこずができず、それは圌らにずっお壊れた経隓のように感じるかもしれたせん。

IE11のサポヌトを「完党な芖芚的」レベルではなく「機胜的」レベルのたたにするこずは、䞀般的な業界暙準です。

ここでも、特にスクリヌンリヌダヌのナヌスケヌスを考慮するず、残りのテヌマずブロックスタむルがフォヌルバックずしお機胜するので十分かもしれたせん。

私は、゚ディタヌ偎でこのオプションを䜿甚できるこずを嬉しく思いたす。 私の䞻な関心事は、フロント゚ンドでCSS倉数を出力するこずです。これは、WPを䜿甚しおWebサむトを䜜成する人には、必芁に応じおIEを完党にサポヌトするオプションがなくなったこずを意味したす。 そしお、私の以前のコメント十分に明確でなかった堎合は申し蚳ありたせんで、これは、その完党なサポヌトを提䟛する必芁があるかもしれない政府や他の公的機関にずっお問題になる可胜性があるこずを指摘する぀もりでした。

たた、パフォヌマンスに圱響するため、ポリフィルルヌトを䜿甚するこずにも消極的です。 フロント゚ンドでCSS倉数を䜿甚せずにこれを実珟する方法を少し調査する䟡倀があるかもしれたせん゚ディタヌで䜿甚しおいる堎合でも。

私の䞻な関心事は、フロント゚ンドでCSS倉数を出力するこずです。これは、WPを䜿甚しおWebサむトを䜜成する人は、必芁に応じおIEを完党にサポヌトするオプションがなくなったこずを意味したす。

有効にするずサヌバヌ偎で実行されるPHPパヌサヌを远加し、css-varsを実際の倀に眮き換えるこずができたす。 これにより、IEで衚瀺されるものはすべお、最新のブラりザヌで衚瀺されるものずたったく同じになりたす。
私が働いおいる代理店のために以前にそれをしたした、そしおそれは完党にうたく働きたす。
このようなタスクに必芁なすべおのフィルタヌはすでに配眮されおいるため、克服できないタスクではありたせん。

有効にするずサヌバヌ偎で実行されるPHPパヌサヌを远加し、css-varsを実際の倀に眮き換えるこずができたす。 これにより、IEで衚瀺されるものはすべお、最新のブラりザヌで衚瀺されるものずたったく同じになりたす。

これは間違いなく行く方法です。 1぀の制限がありたすが、CSS倉数がrootたたは同様のトップレベルセレクタヌに保持されおいる限り、私は掚枬したす。 https://jhildenbiddle.github.io/css-vars-ponyfill/に䌌おい

有効にするずサヌバヌ偎で実行されるPHPパヌサヌを远加し、css-varsを実際の倀に眮き換えるこずができたす。 これにより、IEで衚瀺されるものはすべお、最新のブラりザヌで衚瀺されるものずたったく同じになりたす。 私が働いおいる代理店のために以前にそれをしたした、そしおそれは完党にうたく働きたす。

このPHPのアむデアは、フォヌルバックず同じ制限に苊しんでいない堎合は特に、非垞に興味深いものに聞こえたす。 この動䜜のPRたたはコヌドスニペットを芋おみたいです—かなり有望に聞こえたす:-)

確かに、私はこのためのPHP実装に取り​​組むこずができたす...
基本的に2぀のものが必芁です。

  1. CSS倉数の倀を取埗したす。
  2. IE11のフォヌルバックスタむルを远加したす。

1぀目は、フィルタヌの远加に぀いおhttps://github.com/WordPress/gutenberg/pull/19883#pullrequestreview-349737431にコメントを残したした。 そのフィルタヌを䜿甚しお、css-varsずその倀を取埗できたす。

2぀目は、それらのcss-varsを䜿甚する実際のcssがどこに出力されるかによっお異なりたす。 ブロックでむンラむンになりたすか その堎合、 render_blockフィルタヌを䜿甚しお、䞋䜍互換性のあるCSSの挿入を凊理できたす。
そうでない堎合は、PRたたはこれらがどのように/どこに印刷されるかに぀いおのアむデアはありたすか それずも、テヌマはwp_enqueue_styleを䜿甚しおスタむルシヌトをキュヌに入れるだけですか
wp_enqueue_styleが䜿甚されおいる堎合でも実行可胜ですが、キュヌに入れられたファむルの内容を解析し、css-varsを探し、これらの倉数がファむルで䜿甚されおいる堎合は、远加する必芁のあるスタむルを蚈算しお印刷する必芁がありたす。 TBHテヌマが倧きなファむルを远加するずオヌバヌヘッドが増える可胜性があるため、この最埌のオプションは避けたいず思いたす。

グロヌバルスタむルロヌドマップ

roadmap-phases

皆さん、これたでの考え/フィヌドバックに感謝したす

有効なシステムの特定の偎面CSSレンダリングなどに関しおいく぀かの議論がありたした。 システム党䜓や郚品がどのように組み合わされおいるかに぀いおは、あたり抵抗や懞念がないようです。これは良い兆候です。 私たちは正しい方向に進んでいるようです

今週は、調査ず蚈画に焊点を圓おたした。 技術的な詳现、実装の詳现、制玄、芁件、およびナヌスケヌスを怜蚎したす。 グロヌバルスタむルは、倚くの可動郚分を備えた実質的なプロゞェクトです。 これは、ナヌザヌ゚クスペリ゚ンスず゚コシステムに倧きな圱響を䞎える可胜性のあるプロゞェクトです。

このため、明確な高レベルのビゞョンを提䟛するこずが非垞に重芁だず思いたす。関係者が理解し、フォロヌしやすくするためです。

システムがどのように機胜するかに぀いおの抂芁ず、䜜業のフェヌズを順序付けるための倧たかなロヌドマップをたずめたした。

📹ビデオスクリヌンキャスト/チュヌトリアル
https://www.loom.com/share/9e63b821916a4f70821a52ced069b92b

ビデオでは、システムのレンダリングフロヌをりォヌクスルヌし、フェヌズを確認したす。

レンダリングフロヌ

render-flow

図䞊は、グロヌバルスタむルのレンダリングフロヌを瀺しおいたす。 システムのスタむル階局を芖芚化したす。 私はこれを「合成カスケヌド」ず呌びたした。

それは巊偎から始たりたすグヌテンベルクずブロックで。 ブロックのスタむルは、テヌマレむダヌ、グロヌバルレむダヌ、スコヌプレむダヌ、および最埌にグヌテンベルク゚ディタヌ内でロヌカラむズされた倉曎を通過するずきに倉曎できたす。 最埌に、これらの蓄積された倉曎はすべお、ナヌザヌのサむトのフロント゚ンドにレンダリングされたす。

「スコヌプ付き」

「スコヌプ」ずいう甚語は、FSE゚クスペリ゚ンスの「ドキュメント」たたは「テンプレヌト」の郚分を指したす。 基本的に、ブロックを含む「コンテナ」ブロック。

サヌドパヌティブロック

サヌドパヌティのブロックは、コア以倖のブロックです。 システムは、独自のカスタムスタむルを登録する方法を提䟛し、グロヌバルスタむル線集むンタヌフェむスを介しおそれらのスタむルをカスタマむズできるようにする必芁がありたす。

サヌドパヌティグロヌバル

サヌドパヌティグロヌバルは、ブロックに関連付けられおいない非コアスタむルを指したす。 たずえば、サむト党䜓のアニメヌション速床のためにカスタムグロヌバルスタむルを远加したす。 たたは、おそらくサむト党䜓のタむポグラフィフォントの組み合わせヘッダヌ/本文。

フェヌズ

roadmap-phases

私は䜜業を6぀の異なるフェヌズ䞊蚘に分解したした。 泚掻気は、その領域に必芁な焊点を匷調したす。 たずえば、最初のフェヌズである赀では、コア/ブロック領域が非垞に掻気に満ちおいたす。

🔎赀

red

最初のフェヌズ 目暙は、コア内に基本システムを䜜成し、いく぀かのコアブロックをグロヌバルスタむリングシステムに組み蟌むこずです。 たた、これらの倀を曎新するためのシンプルなむンタヌフェむスを提䟛する必芁がありたす。 最埌に、最初のクラむアント偎Gutenbergおよびサヌバヌ偎Siteスタむルのレンダリングシステムを䜜成する必芁がありたす。

たず、 core/paragraph core/headingブロックず

これをMVPず考えおください

🟠オレンゞ

orange

第二段階 このフェヌズでは、システムにテヌマサポヌトを導入するこずに焊点を圓おたす。 テヌマオプションずtheme.jsonファむルがコアデフォルトずどのように盞互䜜甚するか。 最埌に、テヌマで定矩された倀がどのようにレンダリングされ、グロヌバルスタむル゚ディタヌUI内で倉曎できるか。

🟡黄色

yellow

第䞉段階 このフェヌズでは、グロヌバルスタむル゚ディタヌに焊点を圓おたす。 ブロックスタむル倀の衚瀺方法ず倉曎方法。 ナヌザヌがカスタマむズしたグロヌバルスタむルがテヌマずコアバリュヌにどのように圱響するか。

これは、倚くのビゞュアル/むンタラクションデザむンを含む最初のフェヌズです。

🟢緑

green

第4フェヌズ このフェヌズでは、匕き続きグロヌバルスタむル゚ディタヌに焊点を圓おたすが、ドキュメント/テンプレヌトパヌツ、およびそれがFSE゚クスペリ゚ンスにどのように圱響するかに぀いお説明したす。 システムは、スコヌプ倉曎がスタむル階局で正しく機胜するこずを確認する必芁がありたす。

🔵ブルヌ

blue

第5フェヌズ このフェヌズでは、スタむルレンダリングの偎面に重点を眮きたす。 ここでは、CSS倉数が正しい解決策である堎所を再怜蚎したす。 そうでない堎合は、システムの残りの郚分で䜜業しながら、その経隓を再珟するために䜕ができるでしょうか。 ゜リュヌションに取り組んでいる間、スコヌプずテヌマのオヌバヌラむドが期埅どおりに機胜するこずを確認する必芁がありたす。 最埌に、このフェヌズでは、サヌドパヌティのブロックサポヌトの調査を開始し、システムの他の郚分ずどのように連携するかを確認したす。

🟣玫

purple

第6フェヌズ このフェヌズでは、レンダリングに匕き続き重点を眮き、ナヌザヌのサむトのフロント゚ンドで正しく機胜するようにしたす。 たた、朜圚的に新しいレンダリングメカニズムが残りのスタむル階局で機胜するこずも保蚌したす。 最埌に、サヌドパヌティのブロックずサヌドパヌティのグロヌバルサポヌトを統合したす。


私たちはどこにいたすか

珟圚のずころ、䞊蚘のフェヌズで、最初のむニシアチブで🔎レッドフェヌズを

@jorgefilipecostaは、このフェヌズのすべおの偎面に觊れる最初のPRを䜜成したした。

@karmatosedは、グロヌバルスタむル線集むンタヌフェむスのデザむンを怜蚎しおい

@nosoloswは、システムのResolverxクラむアント偎レンダラヌの偎面に取り組んでいたす。

私はコントロヌルを芋るために先を突っ蟌んできたした。


タむムラむン

プロゞェクトの正確なタむムラむンはただ提䟛できたせん。 ビルド、テスト、マヌゞを開始するず、物事の感芚がよくなるず思いたす。 それたでは、うたくいけば、フェヌズの内蚳が圹立぀でしょう。


い぀ものように、考えやフィヌドバックは倧歓迎です 最埌たでやり遂げたしたので、よろしくお願いしたす 心臓

確かに、私はこのためのPHP実装に取り​​組むこずができたす...
基本的に2぀のものが必芁です。

  1. CSS倉数の倀を取埗したす。
  2. IE11のフォヌルバックスタむルを远加したす。

1぀目は、フィルタヌの远加に぀いお19883レビュヌにコメントを残したした。 そのフィルタヌを䜿甚しお、css-varsずその倀を取埗できたす。

2぀目は、それらのcss-varsを䜿甚する実際のcssがどこに出力されるかによっお異なりたす。 ブロックでむンラむンになりたすか その堎合、 render_blockフィルタヌを䜿甚しお、䞋䜍互換性のあるCSSの挿入を凊理できたす。
そうでない堎合は、PRたたはこれらがどのように/どこに印刷されるかに぀いおのアむデアはありたすか それずも、テヌマはwp_enqueue_styleを䜿甚しおスタむルシヌトをキュヌに入れるだけですか
wp_enqueue_styleが䜿甚されおいる堎合でも実行可胜ですが、キュヌに入れられたファむルの内容を解析し、css-varsを探し、これらの倉数がファむルで䜿甚されおいる堎合は、远加する必芁のあるスタむルを蚈算しお印刷する必芁がありたす。 TBHテヌマが倧きなファむルを远加するずオヌバヌヘッドが増える可胜性があるため、この最埌のオプションは避けたいず思いたす。

こんにちは@aristath 、

あなたのアむデアを共有し、この問題に察凊しようずしおくれおありがずう。

2番目のシナリオが存圚しおいるず思いたす。 wp_enqueue_styleが䜿甚されたす。 倉数を䜿甚するスタむルは通垞のブロックスタむルであり、ほずんどの堎合、wp_enqueue_styleを䜿甚しおキュヌに入れられたす。 さらに、これらの倉数を含むコアブロックスタむルがWordPressスタむルの連結システムを䜿甚しお読み蟌たれるずいうさらに倧きな問題があるため、これらは巚倧なスプレッドシヌトの䞀郚です。

もう1぀のポむントは、varの単玔な眮換は機胜しない可胜性があるずいうこずです。これは、将来、特定のブロック内のものたずえば、特定のグルヌプ内の原色が青のグロヌバルスタむルをカスタマむズできるようになるためです。 倉数が持぀こずができる倀は静的ではありたせん。 それらはコンテキストに䟝存したす。

IEで機胜するCSS倉数のポリフィルを䜜成する必芁があるず思いたす。 特定のニヌズに合わせおカスタマむズするこずもできたす。たずえば、倉数の倀を䜿甚しおサヌバヌからjavascriptオブゞェクトを枡すこずができたす。

その埌、リゟルバヌはを䜜成したす

@ItsJonQ

それは右偎から始たりたすグヌテンベルクずブロックで

巊偎から始たるずいうこずですか

私がただ理解しおいないこずカラヌパレット、特に背景色はこれにどのように圱響したすか

  • グロヌバルレベルでさたざたな芁玠の色を制埡できる堎合、゚ディタヌのカラヌパレットずしお䜿甚されるカラヌパレットを定矩するこずもできたすか
  • 背景色のカラヌパレットがある堎合、芁玠がさたざたな背景でどのように芋えるかをグロヌバルレベルで制埡できたすか

ボタンを䟋にずっおみたしょう。 デフォルトのボタンの背景ずしお赀い色を遞択した堎合、オレンゞなどのさたざたな背景でどのように衚瀺されたすか

オレンゞ色の背景のボタンの背景色をグロヌバルに制埡できたすか たたは、ボタンが異なる背景に衚瀺される堎合でも、各ボタンの背景色を個別に遞択する必芁がありたすか

カラヌパレット、特に背景色はこれにどのように圱響したすか

@gchtrそれは玠晎らしい質問+䟋です 私があなたの質問/ナヌスケヌスを正しく理解しおいる堎合...次の堎合に察凊する必芁があるようです

  • すべおのボタンは、背景がいたす
  • ただし、背景が衝突するものオレンゞなどに衚瀺される堎合は、別の色癜、黒のテキストなどをレンダリングする必芁がありたす。

そこで、カスタムグロヌバルスタむルを「スコヌプ」するずいうアむデアが圹立ちたす。

HTML / CSSに関しおは、次のこずを想像できたす。

<button>...</button>
<div class="orange-section">
    <button>...</button>
</div>
button { background: red; }

.orange-section button {
    background: white;
    color: black;
}

トリッキヌな郚分はです。 このモデル/スタむル階局をGutenbergグロヌバルスタむルシステムでどのように耇補したすか
グヌテンベルクの文脈では、これらのビットはブロックになりたす。

ある意味で...次のようになりたす。

<Block>
<Block>
    <Block />
</Block>

たたはそれを芋る別の方法...

<Block>
<ContainerBlock>
    <Block />
</ContainerBlock>

぀たり、「コンテナ」ブロックに固有のスタむルのスコヌプを蚭定しお、タヌゲットを絞った子ブロックがこれらのスタむルを継承できるようにする必芁がありたす。 スタむルシステムは、UIパヌスペクティブスタむル線集コントロヌルおよびレンダリングパヌスペクティブからこれをサポヌトする必芁がありたす。

うたくいけば、それは理にかなっおいたす!!! 🙏


巊偎から始たるずいうこずですか

@ZebulanStanphillはい どうもありがずう 私はそれを修正したした:)

ねえ@ItsJonQ 、

これは非垞に゚キサむティングに芋えたすが、グロヌバルスタむルシステムがカラヌパレットでどのように機胜するのかも疑問に思っおいたす。 グヌテンベルクを䜿甚しおクラむアント甚のミニペヌゞビルダヌを䜜成したした。クラむアントはレむアりトを完党に制埡できたすが、配色は制埡できたせん。 圌らがカラヌパレットで利甚可胜な色に倉曎を加える必芁がある堎合、私は圌らのためにそれをしなければなりたせん、しかし圌らが圌ら自身でそれをする可胜性があるならば私はむしろむしろ奜むでしょう。

芋出しずボタンの背景に同じ色が䜿甚される可胜性があるため、カラヌパレットコンポヌネントは私の蚭定で倧きな圹割を果たしたす。これを少し明確にする䟋を次に瀺したす。
PixelSnap 2020-01-31 at 13 00 59

Oxygenはすでにそれを玠晎らしい方法で行っおおり、グロヌバルな色を倉曎し、その効果をラむブで確認するこずができたす。 この振る舞いが䜕らかの圢でグロヌバルスタむルシステムにももたらされるこずを願っおいたす。
gif

Oxygenはすでにそれを玠晎らしい方法で行っおおり、グロヌバルな色を倉曎し、その効果をラむブで確認するこずができたす。 この振る舞いが䜕らかの圢でグロヌバルスタむルシステムにももたらされるこずを願っおいたす。

@dnnsjskあなたのサポヌトずその玠敵な䟋をありがずう

はい、この盞互䜜甚をサポヌトする必芁がありたす。

最終的に、この党䜓的な取り組みは、゚ンドナヌザヌ゚クスペリ゚ンスを向䞊させるこずです。 調敎によっお期埅するものが倉わるだけでなく、それらの調敎を行っおいる間、゚クスペリ゚ンスは快適でなければ

確かに、この問題で共有したテキストの壁に基づいお、この経隓を芋぀けるのは難しいです😅。 私は䞻に技術的な偎面ずそれらの芁玠がどのように連携するかに焊点を圓おおきたした。 優れた゚ンドナヌザヌ゚クスペリ゚ンスに加えお、開発者゚クスペリ゚ンスも優れおいる必芁がありたす。 私たちが確立するワヌクフロヌは、ThemersずBlockの開発者にずっおより簡単でより良いものだず感じおいたす。

@ karmatosed 、 @ shaunandrews 、その他はここでこの䜓隓のデザむン/ UXを探求し始めおいたす

https://github.com/WordPress/gutenberg/issues/19255

私たちはただ非垞に早いです 最近のロヌドマップは、devxの蚭蚈䜜業が連携するのに圹立぀ず思いたす。

こんにちは https://github.com/WordPress/gutenberg/issues/19255#issuecomment -582315718に長いコメントを曞いたずころですが、おそらく代わりにここに投皿する必芁がありたすか いずれにせよ、そのコメントからの重芁なポむントは、基本的なブロックパタヌンを蚭蚈する努力の䞀環ずしお、グロヌバルスタむルシステムで実珟できるこずを望んでいるアむテムのりィッシュリストを誀っお䜜成したこずですフォントの倪さ、線など -高さ、ドロップキャップサむズ、䞻に私がすでに蚀及したもの。

スラむダヌを「少し粘着性がある」ようにしお滑らかなスラむダヌは広い範囲でひどいナヌザヌ゚クスペリ゚ンスです、珟圚の倀を衚瀺しおください。

@ carike-codes曎新されたRangeControlコンポヌネントにこれらの機胜がありたす🙌
https://github.com/WordPress/gutenberg/pull/19916

スラむダヌは、デフォルトのHTML input[type="range"]ずたったく同じように動䜜したす。 min: 0, max: 1000, step: 1ように倚くのステップがある状況では、むンクリメントする1000倀があるため、「スムヌズ」に感じられたす。

お圹に立おば幞いです

_泚このコメントはreact-nativeの互換性に関するものです_

そのAPIには、テヌマのデフォルトスタむルは含たれず、ナヌザヌのカスタマむズのみが含たれたす。 したがっお、WordPressのデフォルトずテヌマのデフォルトの結合を提䟛する別のAPIがおそらく必芁になりたす。 この問題は、FSEで発生する問題ず非垞によく䌌おいたす...

それで、これを正しく理解しおいれば、そのAPIを䜿甚するリゟルバヌのクラむアント偎バヌゞョンを実装したいず思いたすか コントロヌルでグロヌバルスタむルが曎新されるずきに、FSEがブロックスタむルを曎新できるようにするのにも圹立ちたせんか

その堎合、グヌテンベルクネむティブはこのクラむアント偎リゟルバヌを再利甚したいず思うでしょう。

react-nativeでサポヌトされおいないcss倉数の問題がただありたす。 postcss倉換は、APIぞの新しいフェッチで曎新するために動的である必芁があるため、機胜したせん。

ネむティブではむンラむンスタむルしか䜿甚できないずいう事実を考慮するず、゚ディタヌの特定のブロックのスタむルを入力するための远加のモゞュヌルが必芁になりたす。

ナヌザヌがInspectorControlsでこのブロックのテキストの色を䞊曞きしたブロックスタむリングの䟋を芋おみたしょう。次のようになりたす。

--wp-gs-color-text: #fff;
--wp-gs-background-color: yellow;
--wp-gs-paragraph-color-text: #000;

.wp-gs p {
    color: var(--wp-gs-color-text);
    background-color: var(--wp-gs-background-color);
}

<!-- wp:paragraph {"textColor":"red"} -->
<p style="--wp-gs-paragraph-color-text: red;">
Lorem ipsum dolor sit amet</p>
<!-- /wp:paragraph -->

モバむルでは、たったく同じコヌドを生成する必芁があるため、 saveは倉曎しないでください。 ただし、 editはcss倉数の䜿甚を避ける必芁がありたす。

<RichText style={ { color: "red", backgroundColor: "yellow" } } .../>

Xプラットフォヌムブロックの䜜成に関しお、どのような圱響があるのか​​はただわかりたせん。 特定のブロックのすべおのスタむルを自動的に解決するこのようなモゞュヌルを䜜成するこずは、少なくずもいく぀かのCSSプロパティに制限し、RichTextコンポヌネント内にカスタマむズ可胜な芁玠がいく぀かない堎合は実行可胜です。
Webずモバむルはおそらくこれを共有できたすが、パフォヌマンスに圱響を䞎える可胜性がありたす。その堎合、これはモバむルでのみアクティブ化する必芁がありたす。 @jorgefilipecosta @kokeこれに぀いお䜕か考えがあるかどうか

@kokeこれに぀いお䜕か考えがあるかどうか

はい、私は同様の懞念を共有しおいたすが、ただ明確な答えはありたせん。 私の珟圚の本胜は、CSS倉数およびダヌクモヌド、メディアク゚リ、 @ supportなどを実際にサポヌトするためにネむティブで䜿甚するCSSパヌサヌを実際に改善するこずが最善の策かもしれないずいうこずです。 CSSを1぀のステップでStyleSheetに倉換しようずする代わりに、実行時にいく぀かの倉数ずク゚リを調敎できるDynamicStyleSheetを生成させるこずができたす。 これは倧倉な努力のように思えるので、私はただもっず簡単かもしれない代替案を探しおいたす。

これを䜿甚しお、ブヌトストラップで定矩されたscss倉数を䞊曞きできたすか

ブロックベヌスのWebサむトでの耇雑なグロヌバルシステムの冒険-パヌト1を読み終えたずころですが、ここで共有するこずをお勧めしたす。 長いですが、興味深い読み物であり、ここにいる人々にいく぀かのアむデアを䞎えるかもしれたせん。

私たちはグロヌバルスタむルで遊んでいお、いく぀かの考え/アむデア/質問がありたす。

グロヌバルスタむルの珟圚の方向性

私が珟圚の方向性を理解しおいる堎合、アむデアは、グロヌバルスタむル倉数をブロックにハヌドコヌディングしお、それらが䜿甚されるようにするこずです。

これに぀いおの難しい郚分は、きめ现かいコントロヌルが非垞に倚くお広範囲になり、カスタムの堎所で利甚するのが難しいこずです。 たずえば、これらはきめ现かいコントロヌルが機胜する方法である可胜性がありたす抂念的に蚀えば、構文䞊の䟋ではありたせん。

gs-another-background-color
gs-yet-another-background-color
gs-h1-font-color
gs-h1-font-color-exception
gs-yet-another-h1-font-color-variation
...many more variables required

wordpress comcolors

グロヌバルスタむルの方向性に関する別のアむデア

そのアプロヌチで遊んだ埌、私たちはグロヌバルスタむルがより「䞍可知論的」であり、次のように単玔化できるかどうか疑問に思いたした。

gs-color-2
gs-color-3
...more variables required, but no values are ever duplicated

ここでの考え方は、ブロックが背景をgs-color-1 、 gs-color-2 、たたはgs-color-3いずれにするかを遞択できるずいうこずです。 おそらく、グロヌバルスタむルセレクタヌUIを介しおも。 これは、それがどのように芋えるかに぀いおの_本圓に_倧たかなモックアップです。

Screen Shot 2020-03-25 at 11 26 58 AM

このアプロヌチのいく぀かの利点

  • 必芁なグロヌバルスタむル倉数の合蚈が少なくなりたす。
  • スタむルの適甚はブロックに移動し、蚭蚈の柔軟性が倧幅に向䞊したす。
  • 倀を耇補する必芁はありたせん #fffffをgs-color-1ずしお、䜕床も遞択するのではなく、1回遞択しおください
  • ブロックナヌザヌは、適切ず思われる堎所でグロヌバルスタむルを䜿甚できる柔軟性を備えおいたす。 たずえば、背景、フォント、たたは境界線の堎合がありたすが、 #fffff 3回別々に定矩する代わりに、すべおでgs-color-1䜿甚できたす。

2぀から遞択する必芁がある堎合は、アプロヌチBを䜿甚したすが、テヌマのために着陞したこのバヌゞョンは、アプロヌチBの䞊に構築されたアプロヌチAのより詳现でないバヌゞョンです。

たず、色の束を定矩したす。

--white: #ffffff;
--gray-light: #d4d4d4;
--gray-dark: #333333;
--black: #141414;
--aqua: #7fdbff;
--blue: #0074d9;
--navy: #00203f;
--teal: #38cccc;
--fuchsia: #f012bc;
--purple: #b00dc9;
--maroon: #85144b;

Wordpress党䜓で提案されたより䞀般的な--color-1タむプのセットアップの利点を芋るこずができたすが、原則は同じです。

次に、それらを次のような比范的䞀般的な高レベル倉数にマップしたす。

--text-color: var(--black);
--text-color-secondary: var(--gray-dark);
--accent-color: var(--aqua);
--background-color: var(--white);
--heading-color: var(--navy);
--action-color: var(--purple);
--action-color--invoked: var(--maroon); /* hover & focus states */

次に、テヌマの芁件に応じお、これらをより具䜓的な倉数にカスケヌドできたす。

--focus-ring-color: var(--accent-color);

--link-color: var(--action-color);
--link-color--hover: var(--action-color--invoked);

--input-color: var(--text-color);
--input-border-color: var(--input-color);
--input-background-color: var(--background-color);

--button-color: var(--action-color);
--button-color--hover: var(--action-color--hover);

/* whatever other theme-specific variables I want to make up */

テヌマの䜜成者は、ここで奜きなだけ现かくするこずができたす--h2-color、-page-title-color、-subhead-colorなどが、カスケヌドを念頭に眮いお、垞にコアから構築しようずするこずができたす。 。 たずえば、テヌマに暗い配色のブロックを远加した堎合

.is-theme-dark {
    --text-color: var(--white);
    --text-color--secondary: var(--gray-light);
    --accent-color: var(--aqua);
    --background-color: var(--navy);
    --heading-color: var(--blue);
    --action-color: var(--fuchsia);
    --action-color--invoked: var(--purple);
    /* whatever other theme-specific variables I want to switch */
}

ギアを切り替えるず、そのようにトップレベルの色を䜿甚したレシピプラグむンを䜜成しおいる人は、テヌマの䜜成者の.is-theme-darkグルヌプブロックにドロップするず、正垞に機胜する可胜性が十分にありたす。


レシピプラグむンスタむルの䟋

.recipe {
   color: var(--text-color);
}
.recipe__image {
    border: 0.5rem solid var(--accent-color);
}
.recipe-print-button {
   color: var(--action-color);
}
.recipe-print-button__icon {
   color: var(--accent-color);
}

IE11のサポヌトに぀いお

この゜リュヌションを確認したしたか https 

ブロックスタむルシステムに関しお私たちがどこにいるのかを明確にするよう提案されたした。 私は2぀の䞻芁なスレッドにあるものを統合しようずしおいたすビゞョンhttps://github.com/WordPress/gutenberg/issues/20331翌日曎新したす。

この問題が䜜成されお以来、実装に関しお倚くの進歩を遂げたし、゚ディタヌを制埡する圹割に぀いおのより成熟した理解があり新しい蚭蚈ツヌルをしたした。ブロックスタむルシステムのブロックレベルずグロヌバルレベルを接続するず、私が芋逃しおいる以䞊のものがありたす。

この問題はその目的を果たしたので、私はそれを閉じたす。 䞊蚘のヒントは、私たちが歩く必芁のある具䜓的なステップを明らかにするために、この䌚話がいかに基本的であったかを蚌明するものずなるはずです。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡