Gutenberg 23.7: aiškesnė dinaminė galerija ir stabilesnis redaktorius
Gutenberg 23.7 jau išleistas. Šis leidimas daugiausia gludina redaktoriaus elgseną, tačiau kartu patikslina dinaminį galerijos režimą, prideda pasirenkamą Global Styles paveldėjimo sąsają ir atneša reikšmingų komponentų, prieinamumo bei kūrėjams skirtų pakeitimų. Įskiepį galite įdiegti iš WordPress.org arba išbandyti WordPress Playground aplinkoje.
Kas pasikeitė pačiame redaktoriuje?
23.7 versijoje ištaisyta keletas smulkių, bet kasdieniame darbe pastebimų maketo problemų. Plūduriuojantys blokai nebeuždengia „sticky“ blokų, o tuščio bloko įterpimo valdiklis dabar rodomas tinkamoje vietoje blokų, kurie valdo savo įrankių juostą. Pullquote blokas redaktoriuje pagaliau taiko pasirinktą eilutės aukštį, todėl vaizdas sutampa su front end.
Taip pat atkurtas fiksuotas įrenginio peržiūros aukštis mobiliojo telefono ir planšetės režimuose. Redaguojant tuščius blokus pataisyta žymeklio vieta, o judinant žymeklį blokuose, aukštesniuose už matomą lango dalį, puslapis nebeslenka netikėtai.

Dinaminės galerijos atsiejimas tapo aiškesnis
Gutenberg 23.6 pridėtas Gallery bloko dinaminis režimas turėjo neaiškų įrankių juostos mygtuką „Convert to images“. Gutenberg 23.7 jį pervadina į „Detach“ ir prieš veiksmą parodo modalinį langą, kuriame paaiškina, kas nutiks atsiejus paveikslėlius.
Dinaminio režimo konvertavimas dabar laikomas vienu undo veiksmu. Tai leidžia vienu grąžinimu atkurti ankstesnę galerijos būseną.


Svarbiausi nauji API ir sąsajos elementai
Global Styles paveldėjimo sąsaja dabar yra eksperimentinė ir pagal nutylėjimą išjungta. Jei norite ją naudoti, Gutenberg Experiments nustatymuose ją turite įjungti patys. Bloko nustatymų valdikliai taip pat atspindi paveldėtas Global Styles reikšmes, o nuorodų stiliai tinkamai išsprendžiami blokų, kurie yra nuorodos, inspektoriuje.
Math blokas neberodo LaTeX sintaksės klaidos po kiekvieno klavišo paspaudimo. Jo įvedimo laukas naudoja ValidatedTextareaControl: grįžtamąjį ryšį gaunate laukui pirmą kartą praradus fokusą, o ekrano skaitytuvas nebeskelbia klaidos su kiekvienu įvedamu simboliu.
Combobox, Select ir SelectControl komponentai gavo Group bei GroupLabel subkomponentus. Jie leidžia vienodai grupuoti pasirinkimus visoje elementų iškylančiųjų sąrašų komponentų šeimoje. Taip pat atsirado Autocomplete.Row primityvas.
Funkciniai papildymai
Leidime įtraukti šie matomi ir platforminiai patobulinimai:
- Base Styles leidžia
outset-ring__focuselementuose perrašyti fokusavimo kontūro spalvą. - Widget Dashboard pradėjo matuoti antraštės vietą ir dokumentuoja naršyklės chrome sąlygas.
- Widget Primitives platinami kaip script module.
- DataViews ir Font Library paieškos laukai turi fiksuotą plotį, todėl paieška nebestumdo maketo.
- DataViewsPicker lentelės, tinklelio ir veiklos rodiniuose
Shift+Clickleidžia pažymėti intervalą. - Sandbox komponentas priima
sandboxprop. - Skaitinio tipo Input slepia naršyklės numatytuosius didinimo ir mažinimo valdiklius, o SearchControl galūnę atvaizduoja tik tada, kai ji yra.
- Table of Contents blokui pridėta viso naudotojo scenarijaus testų aprėptis.
- Nustatymas
responsiveEditingEnabledleidžia paslėpti Responsive styles parinktį. - Font Library puslapio navigacijos šrifto dydis suderintas su DataViews.
- RTC režime Quick Edit išjungiamas, kol įrašą redaguojama.
- Bendras preset valdymas iškeltas iš šešėlių ir šriftų dydžių nustatymų.
Blokų bibliotekos ir media pataisymai
Blokų bibliotekoje pataisyti keli konkretūs atvejai. render_block_core_video() dabar atpažįsta ir ne mažosiomis raidėmis parašytą VIDEO HTML žymą. Cover ir Accordion blokai leidžia išeiti paspaudus Enter, o List blokas išlaiko numeruoto sąrašo tipą didinant įtrauką.
- Media Editor rodo įkėlimo būseną, kol užkraunamas apkarpytas failas.
- Pašalinta perteklinė
__heicUploadSupportvėliava. - Navigation bloko nuorodos sąsajoje, kai ji naudojama template part viduje, vėl rodoma parinktis „Add block“.
- Playlist takelio įrankių juostos mygtuko pavadinimas sutrumpintas.
- Query Loop nustatymo „Offset“ etiketė gavo vertimo kontekstą.
- Social Link Tumblr piktogramos HTML nebeturi perteklinės uždarančios žymos.
- Ilgų animuotų GIF konvertavimas nebeužstringa: kuriant statinį rezultatą dekoduojamas tik pirmasis kadras.
- Media šablonų
IMGžymoms nebepakartotinai nepriskiriamascrossorigin, owp-buildpuslapio šablono preload laukų sąrašas sinchronizuotas sucore-data. - Media REST API perkeltas URL šoninio įkėlimo failo dydžio tikrinimas.
Redagavimo, pasirinkimo ir bendradarbiavimo pataisymai
RichText įvesties transformacija nebevykdoma, kai nėra onReplace, o įklijuojant failus nebeįvyksta klaida. Shift+Click ir Shift su rodyklėmis patikimiau plečia blokų pasirinkimą: pažymėjimas žymimas kaip kelių elementų gestas, o iš redaguojamų elementų pašalintas tabIndex, kad vėl veiktų pasirinkimas Shift+Click.
- Background image valdiklyje pašalintas dubliuotas fokusavimo kontūras.
- Kai dvi spalvų preset reikšmės turi tą patį hex kodą, Global Styles skydeliai parenka ir rodo teisingą preset; GradientPicker panašiai renkasi pagal slug, kad vienodą gradientą turintys preset neprarastų tapatybės.
- Redaktorius laukams, kurie patys valdo undo, palieka undo veiksmą naršyklei.
- Meta boxes antraštės stilius suderintas su Gutenberg skydeliais.
- Notes funkcija prieš įrašydama bloko lygio pastabą užfiksuoja tikslinį bloką, importavimo metu užregistruoja inline pastabų formatą, vienodai praneša apie sėkmingą įrašymą ir sinchronizuoja šoninės juostos pasirinkimą su žymeklio vietos inline indikatoriumi.
- Post Lock modalinis langas nebeperjungiamas į „Someone else has taken over“ būseną naudotojui, kuris negali redaguoti užrakinto įrašo.
- RTC neleidžia valdomų blokų sinchronizacijai perimti undo, serializuodamas suglaudina duomenis ir išsaugo kitų bendradarbių neišsaugotus pakeitimus, kai kitas naudotojas įrašo.
- iOS redaktoriuje pašalintas šokinėjimo apėjimo būdas ir pridėtas typewriter elgesys.
Prieinamumas ir našumas
Navigation bloko overlay submeniu aria-expanded reikšmė dabar atnaujinama ir užvedus pelę. Alignment valdikliai geriau apdoroja props, o Autocomplete pasiūlymų sąrašą susieja su įvedimo lauku per aria-controls ir aria-haspopup. ExternalLink naudoja bendrą fokusavimo kontūro mixin.
Redaktorius contentEditable atributą nuskaito ownsSelection tikrinime, todėl išvengia priverstinio maketo perskaičiavimo. Taip pat sprendžiama spausdinimo našumo regresija, FlatTermSelector nebeatlieka nereikalingų terminų užklausų, o EntitiesSavedState komponentas perkeltas iš redaktoriaus į Core Data sluoksnį.
Kūrėjams svarbios pataisos
- Atnaujintas view configuration API versijavimas. Netinkančios formos sujungimai atmetami, apibrėžta tuščių masyvų semantika, o prie narių pridedant reikšmes pašalinami
null. Dokumentacija nurodo, kad serverio view configuration filtrų callback turi grąžinti konteinerį. createInterpolateElementsaugiai apdoroja nesuporuotas uždarančias žymas.- Theme JSON blokų lygio preset klasių specifika sulyginama su
:where(). - Interactivity API direktyvos pertvarkytos į modulius, kurie registruojasi patys.
- Dashboard Widgets griežčiau sanitizuoja action ir pagalbos nuorodų
href. - Komponentų DataForm validacija nebeperima fokuso iš kortelių ir details, o ToolsPanel, Disabled, FormTokenField ir SearchControl stiliai perkeliami į SCSS modulius.
- Ištaisyta šakninio
.prettierrc.jsoverride problema, Storybook EmotionjsxImportSourceproblema ir Storybook resolve specifier formavimas URL stiliumi. - Atnaujintos priklausomybės:
date-fnsį 4.4.0, Color.js į 0.7.1 irmemizeį 2.1.1; atnaujinus colorjs.io pašalintas ankstesnis apėjimo būdas. webpack-dev-serveratnaujintas į^5.2.1, o įrankiai nepriklauso nuo konkretausnode_modulesišdėstymo.- Build sistema gauna atskirą React 18 vendor paketą, palaiko projekto kelius su tarpais, įtraukia išgautus stilius į asset versijos hash ir nebeužstringa begaliniame worker build cikle.
- Pridėtas React 19 suderinamumo end-to-end testas boolean
inertatributui; Jest atnaujintas į 30 versiją, pataisytas TypeScript deklaracijų ignoravimo šablonas. - Performance testas vėl teisingai praneša „Selecting blocks“ metriką, o multisite aplinkoje pataisytas ištrinto naudotojo RTC testas.
Kiti stabilumo ir priežiūros darbai
Leidimas taip pat sutvarko fokusą bei išdėstymą įvairiuose komponentuose: SearchControl, URLInput, duotone ir preset įrankiai pertvarkyti, o Table of Contents, Page List ir Tabs blokų kodas supaprastintas. Blokų biblioteka apsaugota nuo atributų reikšmių, kurios išmeta klaidą, editableRoot tapo privačiu bloko nustatymu, o iš formų valdiklių pašalinti nereikalingi __next40pxDefaultSize props.
Dokumentacijoje papildytos nvm use, agentų instrukcijų atradimo, getBlock su vidinių blokų valdikliais, WordPress core pakeitimų perkėlimo, iframe ir serverio view configuration filtrų gairės. Atnaujinti Storybook administratoriaus spalvų schemų pavyzdžiai, dialogo ir drawer naudojimo rekomendacijos, release form ekrano nuotrauka bei keli trūkstami PHP dokumentacijos blokai.
Ką verta patikrinti atnaujinus
Jei kuriate redaktoriaus plėtinius, patikrinkite grupuotus pasirinkimus naudojančius formų komponentus, view configuration filtrus ir pasirinktinių preset sąsajų elgseną. Temų autoriai turėtų peržiūrėti Global Styles paveldėjimą bei :where() pakeistos preset klasių specifikos poveikį. Redaktoriuje dirbantys turinio kūrėjai daugiausia pajus stabilesnį blokų pasirinkimą, mobiliųjų įrenginių peržiūrą ir aiškesnį dinaminės galerijos atsiejimą.
Nuorodos / Šaltiniai
Hannah Turing
WordPress kūrėja ir techninė rašytoja HelloWP. Padedu kūrėjams kurti geresnes svetaines naudojant šiuolaikinius įrankius, tokius kaip Laravel, Tailwind CSS ir WordPress ekosistema. Aistringai vertinu švarų kodą ir kūrėjo patirtį.
Visi įrašai