From e71c8c7be84ddd5175817d2e48eed24e18ff26b9 Mon Sep 17 00:00:00 2001
From: Paul Duncan <pabs@pablotron.org>
Date: Sat, 6 Nov 2021 00:59:31 -0400
Subject: add feedbloater post and project page

---
 content/posts/2021-11-05-feed-bloater.md | 81 ++++++++++++++++++++++++++++++++
 content/projects/feedbloater.md          |  8 ++++
 content/projects/hugo-shortcode-table.md |  5 +-
 3 files changed, 90 insertions(+), 4 deletions(-)
 create mode 100644 content/posts/2021-11-05-feed-bloater.md
 create mode 100644 content/projects/feedbloater.md

(limited to 'content')

diff --git a/content/posts/2021-11-05-feed-bloater.md b/content/posts/2021-11-05-feed-bloater.md
new file mode 100644
index 0000000..b26ebfe
--- /dev/null
+++ b/content/posts/2021-11-05-feed-bloater.md
@@ -0,0 +1,81 @@
+---
+slug: feed-bloater
+title: "Feed Bloater"
+date: "2021-11-05T23:49:56-04:00"
+draft: false
+---
+In addition to [fixing the RSS feed for this site][site-rss], I also
+created a simple command-line tool named [Feed Bloater][]
+which expands truncated [RSS 2.0 feeds][rss] by doing the following:
+
+1. Fetch the contents of the feed.
+2. Fetch the [HTML][] from the `<link>` for each feed item.
+3. Filter the [HTML][] from the previous step based on a [CSS selector][].
+4. Replace the truncated item descriptions with the [HTML][] from the
+   previous step.
+5. Write a new [RSS][] feed to the given output path.
+
+[Feed Bloater][] maintains an internal cache and respects the
+[`ETag`][etag] and [`Last-Modified`][last-modified] headers, and by
+default it won't update the output file if the source feed has not
+changed.
+
+Here is an example that uses [Feed Bloater][] to expand the truncated
+[LLVM Weekly][] [RSS feed][rss]:
+
+```sh
+feedbloater https://llvmweekly.org/rss.xml div.post path/to/llvmweekly.xml
+```
+&nbsp;
+
+Here's what the original [LLVM Weekly][] [RSS feed][rss] looks like in
+[The Old Reader][]:
+
+{{< figure
+  src="/files/posts/feed-bloater/llvmweekly-old.png"
+  class=image
+  width=1013
+  height=623
+  caption="Truncated LLVM Weekly RSS feed, viewed in The Old Reader."
+>}}
+
+Here's what the expanded [RSS feed][rss] generated by the example above
+looks like:
+
+{{< figure
+  src="/files/posts/feed-bloater/llvmweekly-new.png"
+  class=image
+  width=1046
+  height=673
+  caption="LLVM Weekly RSS feed, expanded by Feed Bloater, and viewed in The Old Reader."
+>}}
+
+Much better!  I've been happily using [Feed Bloater][] to expand several
+truncated feeds for about a week.
+
+If you're interested in trying [Feed Bloater][], you can find
+installation, usage, and configuration instructions in the documentation
+on the [Feed Bloater GitHub Repository][feed bloater].
+
+[site-rss]: {{< ref "/posts/2021-10-26-rss-feed-no-longer-annoyingly-trunca.md" >}}
+  "RSS Feed No Longer Annoyingly Trunca..."
+[rss]: https://en.wikipedia.org/wiki/RSS
+  "Really Simple Syndication"
+[feed bloater]: https://github.com/pablotron/feedbloater
+  "Expand truncated RSS feeds."
+[html]: https://en.wikipedia.org/wiki/HTML
+  "HyperText Markup Language"
+[css selector]: https://en.wikipedia.org/wiki/CSS#Selector
+  "Cascading Style Sheet selector."
+[llvm weekly]: https://llvmweekly.org/
+  "LLVM Weekly newsletter."
+[the old reader]: https://theoldreader.com/
+  "Web-based RSS reader."
+[bundler]: https://bundler.io/
+  "Ruby dependency manager."
+[etag]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
+  "ETag HTTP header."
+[last-modified]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified
+  "Last-Modified HTTP header."
+[url]: https://en.wikipedia.org/wiki/URL
+  "Uniform Resource Locator"
diff --git a/content/projects/feedbloater.md b/content/projects/feedbloater.md
new file mode 100644
index 0000000..ff408be
--- /dev/null
+++ b/content/projects/feedbloater.md
@@ -0,0 +1,8 @@
+---
+title: "Feed Bloater"
+slug: "feedbloater"
+active: true
+repo: "https://github.com/pablotron/feedbloater"
+text: "Command-line tool and Ruby library to expand truncated RSS feeds."
+---
+Command-line tool and Ruby library to expand truncated RSS feeds.
\ No newline at end of file
diff --git a/content/projects/hugo-shortcode-table.md b/content/projects/hugo-shortcode-table.md
index b15ada0..011ce10 100644
--- a/content/projects/hugo-shortcode-table.md
+++ b/content/projects/hugo-shortcode-table.md
@@ -5,7 +5,4 @@ active: true
 repo: "https://github.com/pablotron/hugo-shortcode-table"
 text: "Table shortcode for Hugo."
 ---
-Table shortcode for [Hugo][].
-
-[hugo]: https://gohugo.io/
-  "Hugo static site generator."
+Table shortcode for Hugo.
\ No newline at end of file
-- 
cgit v1.2.3