Vă prezentăm podul React-Gutenberg: suport pentru blocuri fără cap pentru o experiență de editare și mai bună
Publicat: 2023-04-09Sunteți încântat de oportunitățile oferite de WordPress fără cap, dar echipa de marketing a clientului dvs. este legată de editorul WYSIWYG Gutenberg.
Vedeți cum noul suport pentru blocuri Gutenberg de la Faust pentru proiectele fără cap le aduce pe cei doi împreună pentru a vă moderniza dezvoltarea, în timp ce vă împuternicește marketerii.
Difuzoare:
- Teresa Gobble, inginer software la WP Engine
- Blake Wilson, inginer senior software la WP Engine
Slide-urile sesiunii:
Transcriere:
TERESA GOBBLE: Bună, oameni buni. Numele meu este Teresa Gobble. Sunt inginer software cu WP Engine care lucrează în echipa Faust.
Și sunt aici cu Blake Wilson, un inginer de software senior, pentru a vă prezenta React-Gutenberg Bridge – suport pentru blocuri fără cap pentru o experiență de editare și mai bună. Bine ati venit. Să începem.
Deci astăzi avem multe de acoperit. În primul rând, voi trece prin câteva lucruri legate de problema și soluția pe care o avem pentru dvs., precum și de valoarea React-Gutenberg Bridge. Apoi vom merge la Blake, care ne va oferi o demonstrație a Podului React-Gutenberg în acțiune. După aceea, vom vorbi despre câteva detalii tehnice. Și vom vizita, de asemenea, o foaie de parcurs viitoare a ceea ce avem pregătit pentru asta.
Deci aici este problema. Nu există o modalitate simplificată de a traduce blocurile Gutenberg din WordPress într-un front end fără cap. Soluțiile care există nu sunt încă scalabile sau intuitive pentru a oferi dezvoltatorilor o experiență la care se pot aștepta dezvoltatorii fără cap.
Decuplarea întrerupe capacitatea de a folosi în mod natural conținutul blocului Gutenberg în editor. Iar agențiile sunt lăsate să se întrebe cum procedează în felul lor sau de la zero cu puțină îndrumare. Și rămân multe întrebări fără răspuns pentru oameni.
Dar stilul? Dar reutilizarea, blocurile dinamice, InnerBlocks? Ei bine, aici intervine Podul React-Gutenberg. Este o soluție în două părți – în primul rând, o modalitate de a expune în mod programatic blocurile Gutenberg, astfel încât acestea să poată fi analizate și citite pe partea frontală fără cap. Această piesă se numește WPGraphQL Content Blocks.
În al doilea rând, avem un conector pentru a facilita configurarea și redarea acelor blocuri în partea frontală fără cap. Și acesta este un pachet numit Faust WP Blocks. Aici veți vedea o prezentare a modului în care funcționează cu ambele părți de soluție.
Back-end-ul bazat pe React al site-ului dvs. are blocurile sale Gutenberg, care sunt expuse de pluginul WPGraphQL Content Blocks. Expune conținutul block.json la WPGraphQL. Îl oferă pluginului, numit WPGraphQL.
Și apoi vine la pachetul de conector, care permite personalizarea, descoperirea și redarea blocurilor. Și acest lucru va fi de fapt discutat mult mai mult pe măsură ce vom discuta despre discuția tehnică și despre demonstrația de astăzi. Deci, ce fel de valoare aduce acest lucru echipei tale?
Ei bine, este o soluție cu opinie end-to-end, care reduce complexitatea și ambiguitatea. Economisește timp de dezvoltare prin respectarea convențiilor specifice. Permite utilizarea blocurilor și modelelor de blocuri în combinație. Și poate fi refolosit din nou și din nou. Acum că aveți o idee despre cum funcționează Podul React-Gutenberg, să mergem la Blake pentru a vedea o demonstrație a acestuia în acțiune.
BLAKE WILSON: Mulțumesc, Teresa. Buna tuturor. Eu sunt Blake Wilson. Sunt inginer de software senior aici la WP Engine.
Și eu fac parte din team building Faust JS Faust. Am un demo foarte grozav pentru tine astăzi, care arată cele două componente pe care le-am construit pentru a ajuta la orchestrarea acestui pod React-Gutenberg. Deci hai să intrăm direct în asta.
Pentru a începe lucrurile, vă voi arăta ce am aici pentru configurarea mea. Și apoi putem intra în codul real și să vedem ce avem acolo. Deci, pentru început, am un site WordPress aici care rulează pe Local.
Am câteva plugin-uri instalate. Deci am pluginul Faust. Acest lucru ajută la facilitarea previzualizărilor și a tuturor acestor lucruri bune pe site-ul dvs. Faust JS. Am WPGraphQL, care este necesar pentru a vă transforma site-ul WordPress într-un punct final GraphQL.
Și apoi am blocuri de conținut WPGraphQL. Deci acesta este unul dintre pluginurile pe care le-am construit pentru a ajuta la facilitarea acestui pod React-Gutenberg. Această soluție este în două părți principale.
Deci avem una dintre elementele pentru a expune efectiv datele Gutenberg Block în mod programatic prin WPGraphQL, apoi o altă porțiune pentru a le consuma pe front-end-ul Faust JS. Să începem prin a arunca o privire la blocurile de conținut WPGraphQL și cum funcționează.
Deci vom intra în IDE-ul nostru grafic. Și am configurat această interogare aici pentru a prelua datele unei pagini. Deci, în acest caz, primim doar titlul paginii.
Deci, ceea ce face GraphQL Content Blocks este să expună un tip de blocuri de conținut în schema GraphQL. Deci, dacă introducem blocuri de conținut, puteți vedea aici, obținem informații pentru această pagină dată și toate blocurile de pe această pagină. Să trecem și să edităm această pagină și să adăugăm ceva conținut.
Așa că vom accesa o pagină de probă. Și puteți vedea aici că avem o tablă goală. Deci hai să mergem mai departe și să creăm câteva blocuri. Să creăm câteva coloane aici.
Și vom face o coloană 50/50. Să adăugăm un paragraf pe această jumătate, apoi într-o imagine pe această jumătate. Deci am o imagine aici în biblioteca mea media. Să mergem mai departe și să aruncăm asta.
Și puteți vedea aici, avem două coloane. Din nou, un paragraf în stânga și o imagine în dreapta. Deci, hai să actualizăm asta. Și să ne întoarcem la WPGraphQL Content Blocks și să vedem ce obținem ca rezultat.
Deci puteți vedea aici, acum avem două blocuri de conținut. Primul aici este o coloană de bază, coloană de bază. Și apoi obținem HTML redat în interiorul acestuia.
Deci, lucrul grozav despre blocurile de conținut WPGraphQL este că ne ocupăm și de InnerBlocks. Deci puteți vedea aici dacă adăugăm un parametru la blocurile de conținut numit flat true, puteți vedea acum că obținem de fapt toate blocurile care erau chiar și în acele coloane. Așa că ne ocupăm de acest caz și pentru tine.
Obținem o coloană de bază, o coloană de bază, un paragraf de bază, o imagine de bază. Deci toate acestea se fac programatic pentru tine. Și acum, puteți utiliza aceste date de bloc pe front-end. Deci haideți să săpăm puțin mai adânc aici.
Să presupunem că vrem unele dintre atributele pe care le avem. Putem folosi asta folosind o uniune în GraphQL. Deci vom face pe imaginea de bază, obținem atributele. Și să presupunem că vrem legenda, de exemplu.
Așa că puteți vedea aici că nu există nicio legendă. Să revenim la pagina noastră de exemplu. Vom merge mai departe și vom adăuga o legendă aici. Legenda mea. Actualizați asta.
Și dacă reîmprospătăm această interogare, putem vedea acum, primim legenda mea ca un atribut adecvat în blocurile de conținut WPGraphQL. Deci aceasta este partea 1 a soluției. Acum, putem obține de fapt toate datele noastre Gutenberg Block și să le folosim pentru a le consuma pe front end.
Deci, să trecem la VS Code și vom vedea cum abordăm piesa respectivă. Deci, acesta este un exemplu de proiect Faust JS pe care l-am creat. E foarte simplu. Se bazează pe Faust Scaffold Blueprint, dar cu o configurație suplimentară pentru gestionarea acestor blocuri.
Deci, dacă ne uităm la pachetul JSON, puteți vedea aici că avem câteva dependențe aici, unele dintre pachetele obișnuite Faust, cum ar fi core și CLI. Avem și blocuri Faust VP. Deci acesta este unul dintre acele pachete care oferă toate funcțiile noastre de ajutor.
Avem, de asemenea, unele la dependențe WordPress pentru gestionarea stilurilor și așa mai departe. Veți observa și aici că avem acest director WP Blocks. Deci, aici trăiesc toate blocurile noastre pentru front-end și acționează ca un registru pentru toate blocurile pe care le folosim pe front-end-ul nostru.
Puteți vedea că avem un fișier index.js. Și acesta este în esență un obiect care determină toate blocurile pe care le folosim pe front-end. Deci, puteți vedea aici, avem paragraful de bază, coloana de bază, coloanele de bază și imaginea de bază.
În ceea ce privește configurarea, există două piese principale despre care vom vorbi. Deci, unul este furnizorul WordPress Blocks și vizualizatorul WordPress Blocks. Deci, să aruncăm o privire la cum arată în acțiune. Să aruncăm mai întâi o privire la furnizorul WordPress Blocks.
Și aceasta va fi disponibilă în pages_app. Deci, puteți vedea aici că avem această componentă, acest furnizor, furnizor de WordPress Blocks. Și acceptă un suport de configurare care acceptă blocuri. Deci, puteți vedea aici că importăm blocuri din WP Blocks, indexul acestui director, și îl trecem în obiectul de configurare.
Deci, în esență, ceea ce spune acest lucru este că furnizorul WordPress Blocks împachetează întreaga aplicație și oferă context pentru toate aceste blocuri întregii aplicații. Acum, să trecem la Șabloanele WP în șablonul nostru singular. Și puteți vedea aici că numim vizualizator de blocuri WordPress cu un suport de blocuri de conținut. Deci acestea sunt datele de bloc pe care le primim de la WPGraphQL.
În regulă, este suficient despre configurație. Să învârtim asta și să vedem cum arată în acțiune. Așa că voi rula NPM run dev, care va configura un mediu de dezvoltare pe localhost 3000. Și pagina la care lucram înainte era o pagină de exemplu slash, așa că voi vizita pagina de exemplu localhost 3000 pentru a vedea acele Gutenberg Blocuri pe care le-am instalat înainte.
Așa că puteți vedea aici, avem blocurile care sunt aceleași în editorul nostru Gutenberg. Deci, să revenim la editorul nostru Gutenberg pentru pagina de exemplu. Și puteți vedea că avem cele două coloane ale noastre aici, acesta este paragraful meu și apoi imaginea noastră, care corespunde cu ceea ce avem pe partea anterioară aici.
Deci ați putea spune că arată grozav și tot, dar putem modifica stilurile? Putem schimba dimensiunea fontului? Sigur că poți.
Deci, să revenim la editorul nostru Gutenberg și să facem câteva modificări acestor blocuri. Deci, să adăugăm o culoare de fundal aici la paragraful nostru. Să schimbăm, de asemenea, dimensiunea la una mare. Pentru această imagine de aici, să o facem rotunjită.
Să scoatem legenda. Și vom actualiza asta. Și puteți vedea aici aceste stiluri se aplică acum. Și le poți vedea pe partea din față.
Așadar, redăm cu adevărat experiența editorului la care nu vă așteptați în WordPress site-ului dvs. WordPress fără cap. Un alt lucru grozav despre acest lucru este acum că obțineți date programatice pentru aceste blocuri, vă puteți crea componenta React cu caracteristici specifice cadrului, cum ar fi imaginea următoare. Acum, în loc să redăm doar codul HTML pe care îl primiți de la WPGraphQL, acum putem folosi acele date programatice pentru a crea o componentă care redă toate imaginile noastre în Gutenberg cu următoarea imagine, oferindu-ne încărcare leneșă, performanță mai bună și imagini mai optimizate. în general, creând o experiență de utilizator mai bună pentru utilizatorii noștri.
Deci asta este grozav. Vedem exact ce ne așteptăm în editorul nostru Gutenberg, dar să presupunem că adăugăm o componentă care poate nu este încă acceptată sau pe care nu am configurat-o pe site-ul nostru Faust. Deci, hai să mergem mai departe și să creăm o nouă componentă aici. Vom folosi masa.
Și vom face două rânduri – rândul 1, rândul 2. Mergeți și actualizați asta. Și dacă ne uităm înapoi în codul nostru de aici, putem vedea că avem patru blocuri definite - paragraf de bază, coloană de bază, coloane de bază și imagine de bază. Nu avem tabel de bază aici.
Deci, ce se va întâmpla când vom vedea această pagină? Hai să aruncăm o privire. Așa că ne vom întoarce la pagina eșantion de pe front-end-ul nostru Faust. Și puteți vedea că avem încă un tabel aici cu rândul 1 și rândul 2.
Asta pentru că, dacă blocul nu este încă definit în proiectul dvs. Faust JS, vom face o alternativă inteligentă la HTML-ul redat. În acest fel, nu vedeți conținut nedefinit, nul sau pur și simplu deloc. Cel puțin, veți recupera codul HTML redat original.
Având toate acestea în minte, să aruncăm o privire la ceea ce este nevoie de fapt pentru a crea un bloc – cum arată de fapt. Deci, vom reveni la VS Code aici. Și să alegem imaginea de bază, de exemplu.
Deci, puteți vedea aici, aceasta este doar o componentă tradițională React. Îi spunem imagine de bază. Și acceptă recuzită, la fel ca orice altă componentă React.
Există în esență două bucăți la un bloc aici. Deci avem componenta reală React, care este stratul de prezentare. Și apoi obținem block.fragments, care sunt datele necesare pentru ca acest bloc să funcționeze.
Deci, puteți vedea aici că creăm un fragment, fragment de imagine de bază pe imagine de bază. Și primim aceste atribute – atributele de care avem nevoie pentru a reda acest bloc. Deci, puteți vedea că primim textul alternativ, sursa, legenda, numele clasei, lățimea, înălțimea și așa mai departe.
Și apoi ceea ce putem face este să aplicăm aceste atribute în logica noastră reală React. Deci, toate câmpurile care sunt solicitate aici sunt apoi disponibile în elemente de recuzită. Deci, puteți vedea props.attributes, care sunt atributele pe care le-am solicitat aici, attributes.alt, attributes.source și așa mai departe. Deci, aceasta este o modalitate excelentă de a coloca toate cerințele de date pentru blocul dvs. în același fișier.
Aceasta înseamnă să vă asigurați că solicitați doar datele de care aveți nevoie și să vă asigurați că solicitările dvs. sunt bune și performante. Avem și câteva funcții de ajutor în acest proiect exemplu. Puteți vedea că există câteva aici – obțineți stiluri și obțineți elemente de recuzită de dimensiunea unei imagini.
Deci, acestea sunt, în esență, doar preluând aceste stiluri de la WordPress și combinându-le într-un obiect de stiluri real pe care React îl poate folosi. În prezent, stilurile sunt acceptate pentru stilurile inline. De asemenea, puteți obține foi de stil globale, dar în prezent lucrăm la furnizarea de suport pentru theme.json.
Deci Teresa va vorbi puțin despre asta în viitoarea noastră foaie de parcurs. Dar, în mod ideal, va veni un moment în care putem obține toate stilurile și umplutura, marjele și așa mai departe din theme.json și să le aplicăm aici în partea frontală fără cap. Având toate acestea în minte, haideți să intrăm într-o discuție tehnică rapidă cu Teresa și cu mine pentru a vorbi despre punctul în care ne aflăm astăzi cu această funcție și despre ce planificăm să mergem în viitor.
TERESA GOBBLE: Mulțumesc pentru această demonstrație, Blake. A fost grozav. Să mergem mai departe și să intrăm în câteva detalii tehnice acum și să discutăm despre cum funcționează. Deci, primul pe care îl am pentru tine este, care sunt cerințele pentru a utiliza blocurile de conținut WPGraphQL?
BLAKE WILSON: Da, da. O întrebare grozavă, Teresa. Deci, singura cerință pentru a utiliza pluginul este să aveți instalat și WPGraphQL. Evident, dacă doriți ca site-ul dvs. să interfațeze cu Faust JS, puteți instala pachetul de blocuri Faust JS, care va ajuta la facilitarea redării și toate acele lucruri bune pe front-end-ul fără cap. Dar pentru a expune datele blocurilor, tot ce aveți nevoie este WPGraphQL și pluginul WP GraphQL Content Blocks.
TERESA GOBBLE: Minunat. Cum se colectează și datele blocului?
BLAKE WILSON: Da, deci toate datele blocurilor sunt adunate de orice bloc din WordPress care folosește funcția de tip bloc de înregistrare. Așa că aproape orice bloc pe care îl utilizați cu acea interfață cu acea funcție va apărea în blocurile de conținut. Și lucrul grozav este că transmite fișierul block.json și autodescrie și documentează automat toate aceste câmpuri. Deci ai documentație totul într-unul.
TERESA GOBBLE: Oh, minunat. Ce economie de timp. Un alt lucru despre care mi-ar plăcea să vorbiți puțin mai mult este ce se întâmplă cu un bloc neacceptat? Ce se întâmplă când este interogat un bloc neacceptat?
BLAKE WILSON: Da, asta e o altă întrebare grozavă. Există două scenarii reale care se pot întâmpla aici. Deci, ar putea exista o situație în care să presupunem că aveți un blocaj în datele postării care a fost eliminat de atunci din WordPress.
Poate că a fost un blocaj terță parte care a fost eliminat. Deci, acesta este un caz de bloc neacceptat care este neacceptat atât în front-end-ul Faust, cât și în registrul WordPress. În acest caz, returnăm de fapt un bloc la blocurile de conținut numit bloc nedefinit sau bloc necunoscut, astfel încât să îl puteți introduce în mod corespunzător în front-end-ul fără cap. Și apoi a doua parte este dacă un bloc din registrul WordPress este acceptat, dar nu este încă acceptat în front-end-ul Faust JS, în acest caz, ceea ce facem este să revenim la HTML-ul redat. În acest fel, cel puțin, ați redat HTML care apare, nu nul sau nedefinit, sau alte valori de genul acesta.
TERESA GOBBLE: Oh, minunat. Și asta mă duce de fapt la următoarea întrebare. În ceea ce privește pluginurile terță parte dintr-un site web decuplat fără cap, puteți utiliza un plugin terță parte folosind pluginul WPGraphQL Content Blocks? Cum funcționează toate acestea împreună?
BLAKE WILSON: Da, da. Deci, pentru orice plugin terță parte, revenind la acea prima sau a doua întrebare, atâta timp cât interfață cu funcția de tip bloc înregistrat în WordPress, acel bloc va fi expus automat blocurilor de conținut WPGraphQL. Deci, atâta timp cât acele date sunt redate, puteți crea apoi blocul în front-end-ul Faust JS. Și lucrul grozav despre asta este să presupunem că aveți un bloc terță parte pentru un carusel. Odată ce l-ați creat o dată în front-end-ul Faust JS, îl puteți reutiliza în alte proiecte de acum înainte.
TERESA GOBBLE: Oh, grozav. Acolo intervine piesa de reutilizare. Și cu acest plugin, puteți de fapt să acoperiți o parte din acest decalaj cu pluginuri terțe care nu funcționează din cutie cu site-urile web decuplate.
De asemenea, dacă te uiți în chat acum, avem de fapt un tutorial creat pentru a ajuta oamenii să creeze un bloc dintr-un plugin terță parte. Deci, te uiți în chat acum, vei putea să vezi asta și să-i dai un clic. Dă-i un marcaj.
Deci, cum gestionați blocurile din blocuri? Asta poate fi cu adevărat complicat. Ne poți spune un pic despre cum ar arăta?
BLAKE WILSON: Sigur, da. Deci avem acest flag sau acest parametru atunci când interogați blocuri de conținut numite flat. Și asta acceptă fie o valoare adevărată, fie o valoare falsă. Și atunci când acest lucru este furnizat ca adevărat, veți obține de fapt o matrice plată sau o listă plată a tuturor blocurilor de pe pagina respectivă, fie că este o coloană, o imagine sau un paragraf.
Veți avea o listă completă a tuturor blocurilor interogate pe pagina respectivă, cu două proprietăți suplimentare. Unul este ID-ul nodului. Deci, acesta este ID-ul real al blocului respectiv. Și apoi veți avea și ID-ul părintelui, care este părintele blocului respectiv. Deci, ceea ce puteți face este să reconstruiți asta într-o listă ierarhică reală pe front-end, rezolvând destul de mult dilema blocului interior așa cum am văzut-o înainte în Gutenberg.
TERESA GOBBLE: Minunat. Deci, de fapt, există o opțiune, atunci când preluați blocuri de conținut, pe care o puteți specifica pentru a returna o listă simplă de blocuri în ID-urile parentale-fii adecvate?
BLAKE WILSON: Da, da, exact.
TERESA GOBBLE: Grozav. Avem și un alt tutorial aici, în chat, din nou, pentru ca blocurile de conținut WPGraphQL să arunce o privire și asupra acelei funcții specifice. Așa că am vrut să vă pun o altă întrebare despre piesa de styling – așa că stilarea cu foi de stil globale, inline, care este abordarea acolo? Cum se descurcă stilul?
BLAKE WILSON: Da, da. Deci, stilul este probabil unul dintre cele mai mari impulsuri pe care încercăm să le cercetăm chiar acum. În exemplul pe care tocmai l-am arătat, se utilizează stiluri inline.
Sunt acceptate și stilurile globale, foile de stiluri globale. Și cred că veți atinge acest lucru în continuare în foaia de parcurs. Dar, în mod ideal, vrem să acceptăm și suportul theme.json, de unde putem obține margini, umpluturi, culori și toate acele informații bune din theme.json și apoi să le aplicăm. Deci vom lucra la asta în următoarea noastră fază de dezvoltare.
TERESA GOBBLE: Minunat. Vă mulțumim că ne-ați ghidat prin asta. Știu că mulți oameni sunt foarte încântați de asta. Deci, cum restricționăm editorul să folosească blocuri care nu sunt acceptate?
BLAKE WILSON: Da, da. Deci există un plugin acolo. Depinde. Dacă utilizați blocuri terță parte, unele dintre acestea au deja această caracteristică încorporată.
Dar dacă nu, există un plugin numit vizibilitatea blocurilor, pe care îl puteți comuta între anumite blocuri din perspectiva editorului. Deci, să presupunem că aveți un bloc carusel care nu a fost încă implementat pe site-ul dvs. Faust. Puteți să instalați vizibilitatea blocurilor și să debifați-o, astfel încât editorul să nu o folosească cât timp este încă neacceptată sau în curs de dezvoltare.
TERESA GOBBLE: Oh, minunat. Deci, vizibilitatea blocului de plugin poate comuta, ascunde, afișa anumite blocuri?
BLAKE WILSON: Da, da, exact. Astfel, aveți un număr limitat de blocuri pe care le-ați susținut, atât în partea dvs. WordPress, cât și în site-ul dvs. fără cap, astfel încât editorii să știe, OK, putem folosi acest lucru cu certitudine că va fi acceptat pe în față.
TERESA GOBBLE: Oh, asta sună ca o livrare mai curată cu siguranță. Bine, in regula. Ultima intrebare pentru tine. Aceste blocuri frontale corespund editorului editorului?
BLAKE WILSON: Da, mare înștiințare. Deci nu încă. Acesta este ceva la care vom lucra în viitor, dar pentru moment, aceste blocuri sunt acceptate pentru partea frontală fără cap.
Dacă aveți un bloc personalizat pe care l-ați creat în WordPress, dacă utilizați comanda NPX create block, va trebui să susțineți în continuare acea vizualizare din partea WordPress. Dar este ceva la care lucrăm. O avem în foaia noastră de parcurs.
TERESA GOBBLE: Oh, minunat. BINE. Îți mulțumim că ai vorbit despre aceste puncte cu noi, Blake. A fost foarte util, și demo-ul la fel.
Să mergem mai departe și să comutăm treptele și să mai vorbim puțin despre foaia de parcurs a proiectului. Avem de fapt cinci faze, dintre care două sunt deja finalizate – faza 1 și faza 2. Faza 1, am văzut o implementare a unei metode de a deconstrui și apoi a reconstrui eficient un bloc.
După aceea, am trecut la faza 2, care sa concentrat pe integrarea Faust mai strânsă cu Gutenberg Blocks, pentru a ne asigura că oamenii au acces la diferitele utilități și funcții de ajutor care sunt acolo. Această fază următoare la care ne aflăm chiar acum, faza 3, ne concentrăm pe furnizarea de suport pentru theme.json și biblioteci de blocuri reutilizabile, așa cum a menționat Blake în timpul discuției noastre tehnice.
După ce am terminat acest lucru, vor avea loc fazele 4 și 5. Faza 4 se concentrează pe îmbunătățirea experienței existente de dezvoltare și editare, precum și faza 5, care se concentrează pe sprijinirea ecosistemului mai larg dincolo de WordPress de bază. Suntem foarte încântați de aceste faze care urmează și sperăm să ne contactați și să aruncați o privire și la postarea noastră de blog pentru a fi la curent cu locul în care este foaia de parcurs.
Puteți vedea un link în chat-ul de mai jos către postările de pe blogul nostru dacă aruncați o privire. Continuați și marcați-le. Ei bine, vă mulțumim tuturor pentru că v-ați alăturat discuției noastre pentru Podul React-Gutenberg. Vreau să-l aduc pe Blake înapoi pe ecran aici, astfel încât să-și mulțumească și el și să ne dea puțin mai multe informații despre unde puteți merge dacă aveți întrebări persistente după aceasta.
BLAKE WILSON: Da, mulțumesc, Teresa, și mulțumesc pentru toți cei care s-au alăturat acestei sesiuni astăzi și au urmărit. Suntem foarte încântați să primim câteva feedback ale comunității în legătură cu această funcție pentru ca voi toți să începeți să o încercați.
Deci, dacă vă place, avem exemplul de proiect în linkul din chat. Avem, de asemenea, un link în chat pentru Discordul nostru fără cap, așa că doar un loc în care tu și alți dezvoltatori fără cap cu gânduri asemănătoare vă puteți alătura și discuta despre funcțiile și lansările viitoare din spațiul fără cap. Deci, vă mulțumesc din nou tuturor. Apreciem cu adevărat.