Nu alleen nog een database...

Zo, zoals beloofd ergens in een vorige post, is het archief nu by default ingeklapt (html5 <details>), onthoudt mijn website nu je gelesecteerde thema, en of je de sidebar in- of uitgeklapt hebt. Dit heb ik gedaan met de Web Storage API. Waar dat op neerkomt is cookies 2.0. Hoe lang het duurt voordat cookies 2.0 opgemerkt worden door de media en ik daar straks zo'n "accepteer cookies 2.0" banner voor moet maken, weet ik nog niet. Hopelijk nooit.

Dus wat moet er nu nog gebeuren?

Ik moet nog steeds markdown implementeren, en een centrale database maken van al mijn posts. Zoals het nu werkt, schrijf ik handmatig de html (zoals <p>) van artikelen in een .txt bestand, maar de eerste regel is een plaintext titel (de titel die je boven dit artikel ziet; Nu alleen nog een database...), en de laatste regel is een plaintext datum. Dit is natuurlijk absoluut verschrikkelijk, en ik ben bezig een kleine teksteditor web-app [dode link] te maken (mijn motto is immers om het wiel indien mogelijk opnieuw uit te vinden), en daar kan ik alles makkelijk invoeren. Niet langer hoef ik handmatig .txt bestanden te uploaden naar de juiste repo. Wist je dat dit artikel zich eigenlijk bevindt in [dode link naar .txt bestand]?

Nou, terug naar die tekst-editor, als je alle velden correct invult (nee, het wachtwoord is niet 12345, leuk geprobeerd, staat ook niet in plaintext (wel met kruiden)), dan zet hij het artikel in de nog-te-maken database. Vervolgens gaat het zo werken, dat als je /blog bezoekt, hij alle artikelen uit de database ophaalt waarvan de categorie "blog" is. En die laat hij dan, uh, chronologisch zien, zeg maar.

Web-compiler

Als dat eenmaal af is, wil ik wat minder php pagina's. PHP is heel leuk, maar ook trager dan statische html, en omdat mijn code heel modulair is, zitten er veel includes in. Dat maakt het nog weer trager. Eigenlijk ben ik op zoek naar een soort tool waarmee ik mijn website kan "Compileren". Alle database queries, php dingetjes, etc, worden dan gecompiled naar puur html, javascript en css. Ik weet dat dit mogelijk is, want het gebeurt immers al: maar dan op het moment dat je de pagina opvraagt.

Dus elke keer dat ik een nieuw ding post de website opnieuw laten compilen, en wat daar uitkomt dan pushen naar [oude site].nl. Waarschijnlijk zal ik de website in zijn geheel intact houden, maar wel alle static pages toevoegen/updaten (bij dus het aanroepen van de "compiler"), zodat je niet alleen een index.php maar ook een index.html hebt. En dan alle links ombouwen zodat ze wijzen naar de static pages. Zo krijg je geen 404s, wel snellere pagina's, en hoef ik niet moeilijk twee verschillende versies apart te houden.

2019-04-19 in blog #database #HTML5 #PHP #cookies #plaintext