ThinkRoot

bine ați navigat pe insula mea de pe internet

Am construit un director de bloguri pentru comunitatea Pure Blog

De ceva vreme folosesc Pure Blog pentru blogul meu și, cu cât am descoperit mai mulți oameni care fac același lucru, cu atât mi-am dat seama că nu există niciun loc unde să le poți găsi pe toate la un loc. Câteva bloguri interesante le-am dat peste ele întâmplător, altele mi-au fost recomandate de alții, dar nu era nimic centralizat.

Așa că am decis să construiesc eu unul.

Discover-Pure-Blog

Proiectul se numește Pure Blog Discover și ideea e simplă: dacă ai un blog construit pe Pure Blog, îl poți adăuga în listă, iar vizitatorii pot descoperi bloguri noi pe care altfel nu le-ar fi găsit niciodată. Nu e nimic complicat din perspectiva utilizatorului - introduci adresa blogului, îi dai un nume, apeși un buton și sistemul verifică automat dacă blogul folosește platforma Pure Blog. Dacă da, blogul apare imediat în listă, fără nicio aprobare manuală din partea mea.

Cum funcționează verificarea automată

Partea care m-a preocupat cel mai mult a fost tocmai detecția automată, pentru că nu toți oamenii care folosesc Pure Blog au un blog identic cu cel implicit - mulți l-au personalizat destul de mult și nu mai rămân semne evidente că platforma de bază este Pure Blog.

Am ajuns la un sistem bazat pe punctaj: serverul descarcă pagina blogului trimis și caută o serie de semnale specifice platformei. Dacă găsește string-ul pure blog direct în cod, înseamnă că blogul nu a fost modificat radical și primește imediat punctajul maxim. Dacă blogul e mai personalizat, sistemul caută alte lucruri mai subtile - variabile CSS specifice temei Pure Blog, tag-ul meta generator cu valoarea Jekyll, structura HTML caracteristică și alte câteva semne mai mici. Fiecare semnal adaugă puncte și, dacă suma depășește un anumit prag, blogul e aprobat.

Add-blog-Discover-Pure-Blog

Există și situații în care detecția eșuează - de obicei când cineva a modificat atât de mult tema încât nu a mai rămas nimic recognoscibil. În cazul acesta, mesajul de eroare îți explică că poți adăuga tag-ul <meta name="generator" content="Pure Blog"> în template și să încerci din nou, sau să mă contactezi direct la discover@thinkroot.xyz și adaug eu blogul manual.

Ce am folosit ca să îl construiesc

Proiectul e construit complet din PHP și JavaScript obișnuit, fără niciun framework și fără nicio bază de date - datele se salvează în fișiere JSON simple. Am ales în mod intenționat această abordare pentru că voiam ceva care să meargă pe orice hosting shared fără dependențe speciale, iar complexitatea unui server dedicat sau a unei baze de date relaționale n-ar fi adus niciun beneficiu real pentru genul acesta de proiect.

Codul sursă e disponibil public pe depozitul de pe Forgejo sub licența MIT, deci dacă vrei să îl instalezi și tu pe domeniul tău, sau vrei să contribui cu ceva, ușa e deschisă.

Admin-Discover-Pure-Blog

Am construit și un panou de administrare protejat cu parolă, de unde pot adăuga sau elimina bloguri, pot edita informațiile și pot vedea statistici simple legate de câte bloguri sunt listate pe fiecare limbă. Lista suportă și paginare, câte 20 de bloguri pe pagină, și există o bară de căutare pentru a găsi rapid un blog după nume sau adresă.

Un lucru care m-a surprins plăcut

Am construit proiectul cu ajutorul Claude, ceea ce a fost o experiență interesantă în sine - nu în sensul că am stat să accept cod generat automat fără să înțeleg ce face, ci mai degrabă că am putut să iterez foarte rapid, să discut fiecare decizie tehnică și să ajungem împreună la soluții pe care poate nu le-aș fi gândit singur atât de repede. Securitatea, de exemplu - protecția împotriva SSRF, tokenurile CSRF, honeypot-ul pentru boți - toate astea au fost gândite și implementate în mod deliberat, nu adăugate la urmă ca un gând.

Dacă ai un blog pe Pure Blog și vrei să îl adaugi în director, procesul durează mai puțin de un minut.

⬅ The one before
Bitwarden CLI a fost compromis printr-un atac supply chain

Up next ➡
Pure Blog Discover - ce s-a mai adăugat