#!/bin/sh
# Content viewer for sfeed(5) lines.

awk -F '\t' '
function unescape(s) {
	for (data = ""; (idx = index(s, "\\")); s = substr(s, idx + 2)) {
		prev = substr(s, 1, idx - 1)
		c = substr(s, idx + 1, 1)
		if (c == "t")
			data = data prev "\t"
		else if (c == "n")
			data = data prev "\n"
		else if (c == "\\")
			data = data prev "\\"
		else
			data = data prev # ignore other.
	}
	return data s # rest
}
BEGIN {
	htmlconv = "lynx -stdin -dump " \
		"-underline_links -image_links " \
		"-display_charset=\"utf-8\" -assume_charset=\"utf-8\" ";
}
{
	if (previtem)
		print "\f";
	previtem = 1;

	print "Title:     " $2;
	if (length($7))
		print "Author:    " $7;
	if (length($9)) {
		categories = $9;
		gsub("\\|", ", ", categories);
		print "Category:  " categories;
	}
	if (length($3))
		print "Link:      " $3;
	if (length($8))
		print "Enclosure: " $8;
	if (!length($4))
		next;
	print "";
	if ($5 == "html") {
		print unescape($4) | htmlconv;
		close(htmlconv);
	} else {
		print unescape($4);
	}
}' "$@" | \
${PAGER:-less -R}
