Tehnologie
De ce mi-am făcut propriul CMS
Am lucrat ani la rând cu sisteme mari și scumpe de gestiune a conținutului. Până la urmă mi-am scris unul al meu, pentru mine.
· 3 min read
Un CMS — sistem de gestiune a conținutului — e programul în care scrii textele unui site și apeși pe „Publică". WordPress e cel mai cunoscut dintre ele. Eu am lucrat ani buni cu altele, mai mari: Sitecore, Umbraco, Sitefinity. Sisteme serioase, făcute pentru bănci și corporații, pentru site-uri cu mii de pagini și zeci de oameni care scriu în ele.
Sunt puternice. Sunt și grele. Fiecare vine cu servere care trebuie ținute în viață, cu o bază de date care trebuie salvată, cu licențe care se plătesc anual și cu o actualizare mare la câțiva ani, după care ceva tot se strică. Am petrecut mai mult timp întreținând unealta decât scriind în ea.
Ce voiam de fapt
Un blog personal n-are nevoie de nimic din toate astea. Are nevoie de un loc unde scrii un text și de un buton care îl face public.
Existau deja unelte simple — Jekyll, VuePress — care iau niște fișiere text și fac din ele un site. M-am uitat la ele cu speranță. Dar și acolo am găsit frameworkuri peste frameworkuri, sute de biblioteci descărcate de undeva, și proiecte care refuză să se mai construiască la un an după ce nu te-ai atins de ele.
Voiam ceva care să-mi încapă în cap. Fișiere pe care să le pot citi cu ochii mei. JavaScript simplu, fără nimic la modă în el. Ceva ce, dacă mă întorc peste zece ani, încă pornește.
Așa a apărut plain
Nu l-am făcut ca să-l vândă cineva. L-am făcut pentru mine, pentru că nu găseam ce căutam. Acum câteva dintre site-urile mele merg pe el, inclusiv ăsta pe care îl citești.
Pentru cine nu se ocupă cu programare, arată cam așa: fiecare articol e un fișier obișnuit într-un folder. Există și un editor în browser, dacă am chef să scriu de pe telefon. Publicarea înseamnă o apăsare de buton, iar istoricul păstrează fiecare versiune a fiecărui text — nimic nu se pierde vreodată. Nu e nimic de actualizat și nimic care să pice la trei noaptea.
Ultima piesă: acum pot pur și simplu să cer
Zilele astea i-am adăugat ceva ce nu credeam că voi folosi atât de des: un set de instrucțiuni pentru Claude, asistentul cu care lucrez direct din terminal.
Îi spun în cuvinte normale — „scrie un articol despre cum am ajuns să-mi fac singur CMS-ul" — iar el știe unde se pune fișierul, ce informații trebuie să aibă în cap, cum se verifică că site-ul chiar se construiește după aceea. Îmi arată ce a ieșit, îl citesc, îl schimb, și abia apoi decid dacă iese în lume. Publicarea a rămas la mine — asta a fost singura regulă de la care n-am vrut să mă abat.
Articolul ăsta, ca să fiu sincer, așa a început.
Dacă vrei să te uiți la el
plain e gratuit și deschis: codul e la vedere, oricine îl poate folosi sau schimba. Dacă ideea ți se pare bună, dă-i o steluță pe GitHub — nu-mi aduce niciun ban, dar ajută alți oameni să-l găsească: github.com/plain-cms/plain.
Am construit ani la rând site-uri pentru alții. Ăsta e primul pe care l-am construit ca să nu mai am de lucru la el.