Terminal Blog Reader with Fish Shell

• Development, Terminal

Because this blog uses semantic HTML, it converts cleanly to Markdown. Here's a Fish shell function that lists recent posts and opens them formatted with glow.

The Reader Function

Add this to ~/.config/fish/config.fish:

function blog
curl -s https://storbeck.dev | pandoc -f html -t markdown | glow -w 0
end

function blog-list
echo "Recent Posts:"
echo ""

# Fetch and parse the blog index
curl -s https://storbeck.dev | pandoc -f html -t markdown | \
grep -A2 "^### " | \
while read -l line
if string match -q "### *" "$line"
echo "$line"
else if string match -q "http*" "$line"
# Extract URL and create clickable link
set url (string match -r 'https?://[^)]+' "$line")
printf '\e]8;;%s\e\\%s\e]8;;\e\\\n' "$url" "$url"
else if test -n "$line"
echo "$line"
end
end
end

function blogpost
if test (count $argv) -eq 0
echo "Usage: blogpost <slug>"
echo "Example: blogpost 2025-10-09-slack-dev-tools"
return 1
end

curl -s "https://storbeck.dev/posts/$argv[1].html" | \
pandoc -f html -t markdown | \
glow -p -w 0
end

Usage

blog
View the full blog index formatted in your terminal
blog-list
Show recent posts with URLs
blogpost 2025-10-09-slack-dev-tools
Read a specific post in pager mode

The -p flag in glow -p enables pager mode so you can scroll through longer posts.