Paavli Kvartal: interaktiivne WordPressi leht Tallinna loomekvartalile
Sektsioonide kaupa kerimine, filtreeritav kaart ja kohandatud sündmuste importija
Risto Tõldsep ehitas paavli.ee Põhja-Tallinna loomemajanduse kvartalile Paavli Kvartal. Kohandatud WordPressi teema kasutab ACF Gutenbergi plokke, Tailwind CSS-i ja Vite plokipõhist varade konveierit, sisaldab kohandatud postitüüpe ettevõtete, rendipindade ja sündmuste jaoks, filtreeritavat interaktiivset kaarti ning Lenisel ja GSAP-il põhinevat täisekraani sektsioonide kaupa kerimist. Lisaks kirjutas ta plugina, mis sünkroonib kultuurikeskuse sündmuste programmi kaks korda päevas.
Paavli Kvartal on Põhja-Tallinna loomemajanduse kvartal: kogum ettevõtteid, renditavaid pindu ja kultuuriprogramm, kõik ühel lehel. Sait peab üheaegselt toimima kataloogina, rendibrošüürina ja sündmuste kalendrina sihtrühmadele, kes tahavad sellelt täiesti erinevaid asju.
Sündmused olid kõige keerulisem osa. Kvartali kultuurikeskus avaldab oma programmi eraldi saidil, millel puudub API, ja keegi ei hakanud iga sündmust kaks korda nädalas käsitsi WordPressi ümber trükkima.
Mida ma ehitasin
Kohandatud WordPressi teema ACF Gutenbergi plokkidel, Tailwind CSS-il ja Vite plokipõhisel varade konveieril.
Kohandatud postitüübid ettevõtete, rendipindade ja sündmuste jaoks, nii et igal sisutüübil on täpselt need väljad, mida ta vajab, mitte ei ole surutud tavaliseks leheks.
Filtreeritav interaktiivne kvartali kaart, kust külastaja leiab ettevõtte või vaba pinna asukoha järgi, mitte nimekirja kerides.
Lenisel põhinev täisekraani sektsioonide kaupa kerimine koos GSAP-i animatsioonide ja Swiperi galeriidega.
Kohandatud sündmuste impordi plugin, mis hoiab kalendri ajakohasena ilma, et keegi peaks seda puutuma.
Tehnilised detailid
Next.js andmevoo taastamine
Kultuurikeskuse saidil ei ole API-t, seega taastab importija lähtesaidi Next.js andmevoo ja loeb programmi struktureeritud andmetena, mitte ei kraabi renderdatud HTML-i. See on märksa tõsikindlam: nende poolne visuaalne ümberkujundus ei lõhu importi.
Nutikas sünkroon, mitte pime taasimport
Plugin käib kaks korda päevas ja võrdleb olemasolevaga, mitte ei dubleeri: muutunud sündmused uuendatakse, kadunud sündmustega tegeletakse ja toimetajate enda käsitsi lisatu jääb alles.
Sektsioonide haakumine, mis siiski kerib
Täisekraani haakumise saab kergesti valesti teha nii, et kasutaja jääb lõksu. Lenise kaudu juhtides säilib hoog ja kerimisriba käitub normaalselt, aga leht maandub ikkagi puhtalt igale sektsioonile.
Kaart, mis on seotud päris sisuga
Interaktiivne kaart loeb ettevõtete ja rendipindade postitüüpe, nii et üürniku lisamine wp-adminis paneb ta kohe kaardile. Ei ole teist kohta, mida sünkroonis hoida.
Tulemused
Sündmuste kalender püsib ise ajakohane, kaks korda päevas, ilma toimetamistööta.
Ettevõtted, pinnad ja sündmused on igaüks korralik sisutüüp, nii et klient saab lisada üürniku või kuulutuse ilma küljendust puutumata.
Tehnoloogiad
WordPressACF BlocksTailwind CSSViteGSAPSwiperLenisCustom Post TypesCustom Plugin
Kas saab tõmmata sisu saidilt, millel ei ole API-t?
Sageli küll. Siin oli allikas Next.js sait, seega renderdatud lehe kraapimise asemel taastan selle aluseks oleva andmevoo ja loen programmi struktureeritud andmetena. Alguses rohkem tööd, edaspidi palju stabiilsem.
Kas tõsiselt animeeritud sait ikka toimib kiirelt?
Saab küll, kui varad on tükeldatud. Iga ACF plokk ehitab Vite kaudu oma CSS-i ja JS-i, nii et leht laeb ainult selle animatsioonikoodi, mida ta päriselt kasutab, mitte ühte kõike sisaldavat pakki.