Furor Teutonicus blog | over | volg | teuto | lyme | archief | doneer | todo
🕰️
  ⬩  
✍️ Evert Mouw
  ⬩  
⏱️ 3 min

Van Wordpress naar Grav

Dit weblog heeft een flinke makeover gekregen, ook “aan de achterkant”. Het werkt nu met Grav. Mijn oude weblog onder Wordpress zag er wel wat serieuzer uit; ik heb nu gekozen voor een lichter, meer speels uiterlijk, met zo min mogelijk onnodige zaken zoals sidebars. De leesbaarheid is denk ik goed en dankzij een CSS media query heb ik artikelen op dit weblog ook optimaal gemaakt om af te drukken (naar een printer of naar PDF).

Ik heb nu weer een platform waarop ik snel artikelen kan plaatsen om in de wereld te sturen vanaf mijn zolderservertje (die uiteraard onder Linux draait). Mijn weblog is niet af, maar goed genoeg om alvast in productie te gaan. M’n laatste artikel onder Wordpress verscheen in augustus 2022. Begin 2023 heb ik nog wel wat dingen geschreven, maar elders geplaatst; die artikeltjes staan nu alsnog op de nieuwe site met Grav.

Om diverse redenen beviel Wordpress mij niet meer, dus ik moest over. De email notificaties werken voorlopig ook niet, sorry. Hieronder een heel technisch verhaal over de verhuizing en dit nieuwe systeem.

Zelfbouw

Ooit begon ik bij Intapps (Internet Applications) als web developer; daarvoor had ik al helpdeskwerk gedaan bij Planet Internet / World Access en bij een MKB kantoor als systeembeheerder gewerkt. Ik beheer graag zelf mijn server(s) en ben op IT-gebied zelfredzaam.

Mijn eerste websites maakte ik met de hand, met notepad en HTML-codes, soms met Frontpage. En ook met ASP en PHP code en met CSS opmaak. Zo doe ik het nog steeds voor Elspeet.info en voor mijn uithangbord evertmouw.nl.

Wordpress bevalt niet langer; naar Markdown

Maar voor een weblog was Wordpress toch wel erg handig. Dat heb ik lang gebruikt voor mijn belangrijkste weblog op Furor Teutonicus. Helaas, Wordpress werd logger en ouder. Het spuugde een hoop HTML en CSS uit die me niet beviel. Nog pijnlijker werd het toen Wordpress random blogposts ging verwijderen als ik in de admin-interface werkte om nieuwe blogposts te publiceren. Dat gebeurde me alleen onder Firefox, niet onder Chrome. Ik heb een poosje het web afgestruind, maar kon niet veel gelijksoortige gevallen vinden. Hoe dan ook; ik speelde toch al met de gedachte om Wordpress vaarwel te zeggen.

In de tussentijd was ik steeds meer overgegaan op het gebruik van Markdown in combinatie met Pandoc. Daarmee kon ik vlot typen in alle simpele tekstbewerkers, en toch mooie PDF-jes, websites, mails en zelfs Word documenten exporteren. Voor mijn simpelere website Anima Mundi gebruikte ik Markdown en de static site generator Hugo. Die site is bloedsnel en Hugo beviel me erg goed.

Toch zaten er wel wat nadelen aan Hugo, en aan statische sites in het algemeen. Ik zou afhankelijk worden van externe partijen of lastige Javascript om een commenting module te implementeren. Wel, dat is nog op te lossen. Vervelend vond ik vooral dat de Markdown-brontekst en de uiteindelijke webroot (HTML, CSS, etc.) op verschillende locaties zouden komen te staan. Ik wil gewoon snel een Markdown bestand kunnen uploaden of anders op de webserver zelf kunnen aanpassen.

Grav, een tussenoplossing

Toen kwam Grav in beeld. Het is gebaseerd op PHP met Twig; voor mij was Twig iets nieuws. Grav gebruikt intensief Markdown. Ideaal voor mij, leek het. Alleen is de ingebouwde Markdown parser (Parsedown) nogal beperkt vergeleken met Pandoc. Het kwam erop neer dat ik mijn eigen Grav plugin maakte om Pandoc met Grav te kunnen gebruiken.

Het omzetten van de over de jaren verspreide Wordpress-gebaseerde blogposts naar Markdown is een verhaal apart. Er is een soort plugin voor WP dat naar Jekyll exporteert. Je ziet toch al snel de troep die Wordpress ervan gemaakt heeft, zeker als je met verschillende versies van Wordpress (jarenlang updaten) gewerkt hebt. Ik heb een hoop handmatig moeten aanpassen en ook wat shellscript moeten schrijven. Texteditors zoals Geany kwamen goed van pas. Laat ik het erop houden dat het veel meer werk was dan verwacht.

Wel aardig is dat je de map wp-content/uploads gewoon kunt overzetten van Wordpress naar de Grav webroot. De plaatjes en PDF-jes en andere uploads blijven het dan gewoon doen. Op termijn denk ik ze nog netjes over te zetten met hulp van een nog te maken Bash shellscript.

Grav CMS logo

Twig, HTML en CSS

Ook heb ik zelf geprobeerd iets van een thema te maken en eigen CSS geschreven. Het thema met Twig-code is nog een mess maar het werkt momenteel; de code is echter nog niet netjes en heel specifiek voor mijn weblog. Work in progress, zeg maar.

De CSS code is zo generiek mogelijk gehouden, met allemaal relatieve units voor maximale apparaatonafhankelijkheid. Wel heb ik hier en daar wat modernere CSS gebruikt.