isfeed_content - sfeed_curses - sfeed curses UI (now part of sfeed, development is in sfeed) Err codemadness.org 70 hgit clone git://git.codemadness.org/sfeed_curses URL:git://git.codemadness.org/sfeed_curses codemadness.org 70 1Log /git/sfeed_curses/log.gph codemadness.org 70 1Files /git/sfeed_curses/files.gph codemadness.org 70 1Refs /git/sfeed_curses/refs.gph codemadness.org 70 1README /git/sfeed_curses/file/README.gph codemadness.org 70 1LICENSE /git/sfeed_curses/file/LICENSE.gph codemadness.org 70 i--- Err codemadness.org 70 isfeed_content (1210B) Err codemadness.org 70 i--- Err codemadness.org 70 i 1 #!/bin/sh Err codemadness.org 70 i 2 # Content viewer for sfeed(5) lines. Err codemadness.org 70 i 3 Err codemadness.org 70 i 4 # The locale is set to "C" for performance. The input is always UTF-8. Err codemadness.org 70 i 5 LC_ALL=C awk -F '\t' ' Err codemadness.org 70 i 6 function unescape(s) { Err codemadness.org 70 i 7 # use the character "\x01" as a temporary replacement for "\". Err codemadness.org 70 i 8 gsub("\\\\\\\\", "\x01", s); Err codemadness.org 70 i 9 gsub("\\\\n", "\n", s); Err codemadness.org 70 i 10 gsub("\\\\t", "\t", s); Err codemadness.org 70 i 11 gsub("\x01", "\\", s); # restore "\x01" to "\". Err codemadness.org 70 i 12 return s; Err codemadness.org 70 i 13 } Err codemadness.org 70 i 14 BEGIN { Err codemadness.org 70 i 15 htmlconv = "lynx -stdin -dump " \ Err codemadness.org 70 i 16 "-underline_links -image_links " \ Err codemadness.org 70 i 17 "-display_charset=\"utf-8\" -assume_charset=\"utf-8\" "; Err codemadness.org 70 i 18 } Err codemadness.org 70 i 19 { Err codemadness.org 70 i 20 if (previtem) Err codemadness.org 70 i 21 print "\f"; Err codemadness.org 70 i 22 previtem = 1; Err codemadness.org 70 i 23 Err codemadness.org 70 i 24 print "Title: " $2; Err codemadness.org 70 i 25 if (length($7)) Err codemadness.org 70 i 26 print "Author: " $7; Err codemadness.org 70 i 27 if (length($9)) { Err codemadness.org 70 i 28 categories = $9; Err codemadness.org 70 i 29 gsub("\\|", ", ", categories); Err codemadness.org 70 i 30 print "Category: " categories; Err codemadness.org 70 i 31 } Err codemadness.org 70 i 32 if (length($3)) Err codemadness.org 70 i 33 print "Link: " $3; Err codemadness.org 70 i 34 if (length($8)) Err codemadness.org 70 i 35 print "Enclosure: " $8; Err codemadness.org 70 i 36 if (!length($4)) Err codemadness.org 70 i 37 next; Err codemadness.org 70 i 38 print ""; Err codemadness.org 70 i 39 if ($5 == "html") { Err codemadness.org 70 i 40 # use the link of the item as the base URL for relative URLs in Err codemadness.org 70 i 41 # HTML content. Err codemadness.org 70 i 42 base = $3; Err codemadness.org 70 i 43 if (length(base)) { Err codemadness.org 70 i 44 gsub("\"", "%22", base); # encode quotes. Err codemadness.org 70 i 45 base = "\n"; Err codemadness.org 70 i 46 } Err codemadness.org 70 i 47 print base unescape($4) | htmlconv; Err codemadness.org 70 i 48 close(htmlconv); Err codemadness.org 70 i 49 } else { Err codemadness.org 70 i 50 print unescape($4); Err codemadness.org 70 i 51 } Err codemadness.org 70 i 52 }' "$@" | \ Err codemadness.org 70 i 53 ${PAGER:-less -R} Err codemadness.org 70 .