From a27fa0c2e26eb2e30e220fd68cd5ee910474b602 Mon Sep 17 00:00:00 2001 From: Bradley Taunt Date: Fri, 2 Feb 2024 12:39:46 -0500 Subject: Initial commit to new cgit platform --- posts/full-posts-rss-readers.txt | 111 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 posts/full-posts-rss-readers.txt (limited to 'posts/full-posts-rss-readers.txt') diff --git a/posts/full-posts-rss-readers.txt b/posts/full-posts-rss-readers.txt new file mode 100644 index 0000000..cc42bf3 --- /dev/null +++ b/posts/full-posts-rss-readers.txt @@ -0,0 +1,111 @@ +Fri, 06 May 2022 +FULL POSTS ARE NOW RENDERED INSIDE RSS READERS + +Your subscribers can now read your full articles without leaving the +comfort of their RSS readers. + +I have finally succeeded after fighting with properly rendering full +post content directly _inside_ RSS readers. I struggled with this +implementation far longer than I'd like to admit. Although, that's to +be expected with my caveman knowledge of RSS feeds and my simple monkey +brain. + +But here we are! We made it. + + +INSPIRATION +----------- + +The thought of rendering all the content within users' RSS readers was +always something I wanted for the initial launch of Shinobi Website. It +was taking me a while to understand the layout issues caused by +articles being pure plain text, so I ended up giving up for version +"1.0". + +Then fellow web-minimalist Matthew Graybosch kindly reached out and +showed off his own beautifully crafted shinobi website[0]. Browsing +through his site and articles I quickly realized a few rendering woes +of my own: + +1. Having set the reading length to 72, I was hurting the reading +experience for mobile users +2. Matthew was doing a lot more cool things on his site (D&D style +tables, separating specific feeds into their own directories) + +Shortly after this exchange I was contacted by another plain-text web +enthusiast, Koray Er[1]. They were inspired to start building out +their own Shinobi Website. This is where the question was brought up +regarding full post rendering: + +> i want the entire content in my rss reader - not just one line. the +best i could do was put $(tail -n +4 $file) in the description. that +works, but without line breaks. is it possible to fix that in rss.sh? i +don't want to change the txt - it's so pure. + +This was the final straw. I _needed_ to get this working in _some_ +capacity. + + +CDATA TO THE RESCUE +------------------- + +I played around with converting plain text to HTML and pasting it +inside the XML at build time. This created more problems than it fixed. +But finally, after roughly 2 hours of going down multiple rabbit holes +of failure, I mashed together a few concepts from everyone's trusty +copy/paste site: stackoverflow. + +Take a look at the newly updated shell script here: + +> https://shinobi.website/script.sh + +The only change I have made is inside the `description` tag within the +individual `item` elements. Take a look if you're interested. + +Wait, what the heck that CDATA junk, you might be asking? + +> CDATA is defined as blocks of text that are not parsed by the parser, +but are otherwise recognized as markup. + +After that we use `sed` to swap out any newlines with HTML line break +elements. Nothing crazy there. + +NOTE: +As you may have noticed on the main page of this project, the `rss.sh` +code snippet has been replaced with a direct link to a new `script.sh`. +Those wishing to implement this new style of formatting will need to +make the shell changes manually. + + +CAVEATS +------- + +Please note that if you are planning to render your content this way +there are minor things to look out for. + +1. Pasting code examples is a big no-no. The content will be mangled +and the reader will try to render example snippets as HTML elements. +Your best bet is to link directly to example files elsewhere in your +directory. + +^ THIS IS NO LONGER TRUE. See details below.[2] + +2. This may not work for every single RSS Reader. I can't test every +application out there in the wild nor can I double check different +operating systems. All I know is this renders fine for me on macOS +using NetNewsWire. + + +FOOTNOTES +--------- +[0]: https://matthewgraybosch.com/ +[1]: https://korayer.de/ +[2]: This issue has been fixed thanks to Matthew Graybosch's excellent +patch. See patch notes here: +https://git.sr.ht/~tdarb/shinobi-script/log?from=7e2f8bd312d648ff1c8d3cf +dc747d2e5634100d7#log-7e2f8bd312d648ff1c8d3cfdc747d2e5634100d7 + + +Thanks for reading my humble blog (maybe directly in your RSS reader +this time too!), +-- Brad \ No newline at end of file -- cgit v1.2.3-54-g00ecf