Hallo Svelte!

Het afgelopen weekend heb ik een webapp gemaakt genaamd To-Boo. Het is een todo app die de issues van GitHub als todo lijstje gebruikt. De app maakt gebruik van dezelfde API die ik in mijn vorige post beschreef. Verder is deze app niet in Javascript gemaakt maar, huh? Svelte?! Je ging toch React leren Robin?

Nope, ik heb me toch bedacht. Ik wilde React leren omdat het het “standaard” Javascript framework is. Maar, toen ik eenmaal naar de alternatieven ging kijken leek Svelte me veel leuker. Dus ja. Je kan het project zoals altijd op GitHub vinden: https://github.com/RobinBoers/ToBoo

- Robin


GitHub API: dynamische projecten pagina

Ik heb vandaag wat geƫxperimenteerd met de GitHub API. Een API is een manier om data uit te wisselen tussen verschillende stukken code. Ik kan met de code van mijn website dus de code van GitHub aanspreken via de API.

Als ik bijvoorbeeld data wil hebben over mijn eigen profiel, kan ik de GitHub API daarom vragen door een HTTP verzoek (request) naar deze URL te sturen:

https://api.github.com/users/RobinBoers

Ik krijg dan een reactie (response) van de GitHub API, met daarin alle (publieke) informatie van mijn profiel. Op die manier kan ik ook mijn repos (repositories), followers, forks, starred repos etc. zien.

Ik heb de API gebruikt om alle repositories die niet gearchiveerd zijn op te halen en op mijn website weer te geven. Daardoor hoef ik niet iedere keer dat ik een project start mijn website aan te passen.

Ik hoop dat jullie deze korte post interessant vonden :)

- Robin


SkyLight v0.04-beta update

Ik heb twee weken geleden een update voor SkyLight gepubliceerd. In deze versie worden comments en RSS feeds toegevoegd en heb ik de UI van het admin panel herschreven. Daarnaast zouden logo's nu moeten werken in de standaard themes. Je kan de zoals altijd de update downloaden en installeren vanaf het About tab in je admin panel.

De comments werken met een id en een post_id. Het id is om de comment zelf te identificeren zodat je ze kan verwijderen. Het post_id wordt gebruikt om ze bij de juiste post weer te geven.

Verder heb ik dus de backend UI voor het admin panel herschreven. Ik maakte eerst gebruik van PHP pages waarbij ik de header, footer en sidebar telkens opnieuw had gecopypaste. Het was een nachtmerrie om te onderhouden omdat ik dan de UI voor alle modules tegelijk moest updaten als er een wijzeging werd gemaakt. Daarom werk ik nu met een beter systeem. Het bestand modules.json bevat de bestandsnamen, weergave namen en icons van alle modules. Ik include de footer, sidebar en header, die gebruik maken van de modules list om de juiste informatie te tonen.

De RSS feed wordt dynamisch opgebouwd door een PHP bestand met Content-Type text/xml te gebruiken. Hierdoor kan ik met PHP informatie uit de editor halen en deze in de XML van de RSS feed loaden. (het heeft me totaal niet een uur gekost om dit te bedenken šŸ˜‰).

De update functie maakt nu gebruik van een extra script genaamd userspace-backup.php dat de bestanden in userspace (je content) die nieuw zijn aanmaakt als die nog niet bestaan (zoals comments.json deze update).

Het is aangeraden je data te backuppen voordat je update omdat er veel gewijzigd is in de code. Ook is het aangeraden om de optionele CSS bestanden te updaten zodat je geen glitches in de layout van je admin panel krijgt.