Introduction
Introduction Statistics Contact Development Disclaimer Help
sfeed_content - sfeed - RSS and Atom parser
git clone git://git.codemadness.org/sfeed
Log
Files
Refs
README
LICENSE
---
sfeed_content (1276B)
---
1 #!/bin/sh
2 # Content viewer for sfeed(5) lines.
3
4 # The locale is set to "C" for performance. The input is always UTF-8.
5 LC_ALL=C awk -F '\t' '
6 function unescape(s) {
7 # use the character "\x01" as a temporary replacement for "\".
8 gsub("\\\\\\\\", "\x01", s);
9 gsub("\\\\n", "\n", s);
10 gsub("\\\\t", "\t", s);
11 gsub("\x01", "\\", s); # restore "\x01" to "\".
12 return s;
13 }
14 BEGIN {
15 htmlconv = ENVIRON["SFEED_HTMLCONV"];
16 if (!length(htmlconv))
17 htmlconv = "lynx -stdin -dump " \
18 "-underline_links -image_links " \
19 "-display_charset=\"utf-8\" -assume_charset=\"ut…
20 }
21 {
22 if (previtem)
23 print "\f";
24 previtem = 1;
25
26 print "Title: " $2;
27 if (length($7))
28 print "Author: " $7;
29 if (length($9)) {
30 categories = $9;
31 gsub("\\|", ", ", categories);
32 print "Category: " categories;
33 }
34 if (length($3))
35 print "Link: " $3;
36 if (length($8))
37 print "Enclosure: " $8;
38 if (!length($4))
39 next;
40 print "";
41 if ($5 == "html") {
42 # use the link of the item as the base URL for relative …
43 # HTML content.
44 base = $3;
45 if (length(base)) {
46 gsub("\"", "%22", base); # encode quotes.
47 base = "<base href=\"" base "\"/>\n";
48 }
49 print base unescape($4) | htmlconv;
50 close(htmlconv);
51 } else {
52 print unescape($4);
53 }
54 }' "$@" | \
55 ${PAGER:-less -R}
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.