Een kort huishoudelijk bericht als je me via RSS volgt. (Wat is RSS?) Het kan zijn dat de feed van dit blog wat gek doet in je feedreader deze dagen. Ik heb geknutseld aan de weergave van de feed en dat heeft zoals gewoonlijk voor onverwachte bij-effecten gezorgd. WordPress blijft een toverbal van code waar soms de meest vreemde zaken gebeuren zonder dat ik het weet of wil.
Ik heb de standaard RSS feed aangepast zodat deze beter leesbaar is voor de achteloze lezer. Als je op de button voor de RSS feed klikte zag je onderstaande in je scherm verschijnen.
Niet echt een geruststellend scherm voor iemand die niet weet wat RSS is, wat de voordelen zijn en hoe je deze pagina kunt volgen. Met de magie van XSL en wat stylesheet heb ik er het volgende van gemaakt.
Dat ziet er toch al een stuk rustiger uit en meer overzichtelijk. Ik was de mogelijkheid al eens tegengekomen in een blogpost van Wouter. En via de briljante Random Indieblog Button kwam ik enorm random op Minutes to Midnight terecht die er mee aan de slag was gegaan.
Dus ben ik zelf eens gaan knutselen in WordPress. Dankzij de hulp van Jan Boddez op Mastodon had ik het redelijk snel voor elkaar. Wat ik in het kort heb gedaan:
In de functions.php van mijn WordPress theme voeg ik aan de RSS-feed een link naar een xsl-feed toe via de rss_tag_pre
hook
function dtd_add_namespace(){
if(is_feed()){
echo
'<?xml-stylesheet href="'. get_stylesheet_directory_uri(__FILE__) .'/feed.xsl' . '" type="text/xsl"?>';
}
}
add_action('rss_tag_pre', 'dtd_add_namespace');
Vervolgens zorg ik dat de feed als text/xml wordt gelezen door de browser. Zo wordt de pagina gewoon uitgelezen in plaats van ter download aangeboden zoals mobiele browsers en Firefox plegen te doen.
add_filter('feed_content_type', function () {
return 'text/xml';
});
Ik heb een xsl-feed hergebruikt van Matt Webb, zie hier mijn versie op Github. Ik heb hier alleen de CSS in het xsl bestand gezet, omdat mijn lokale en productie-omgeving iets verschillen en dat weer gedoe gaf.
Het is allemaal nog niet pixelperfect maar het werkt. Tijdens het maken van deze weergave en het testen, kwam ik weer genoeg andere kleine verbeteringen tegen die ik hier nog steeds wil doorvoeren. Maar dat is voor een andere keer.