sfeed

Simple RSS and Atom feed parser
git clone https://git.sinitax.com/codemadness/sfeed
Log | Files | Refs | README | LICENSE | Upstream | sfeed.txt

commit 52cd6f7ad6a87b8419cfa8a0ffb6f8546b985e2f
parent 991008dc460854b5f2f978a87946f9d90e3e5ee5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Mon,  9 Mar 2020 19:21:15 +0100

sfeed_html/sfeed_frames: use a <pre> section per feed

This improves output with Dillo, w3m and possibly other simple browsers.

- Dillo has a bug where it resets its block-style after <h2> when it is inside
  <pre>. Then it ignores newlines (inside <pre>) and the links are inlined.
- w3m does not have a (line)margin for h2.

Diffstat:
Msfeed_frames.c | 6++++--
Msfeed_html.c | 5+++--
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/sfeed_frames.c b/sfeed_frames.c @@ -33,6 +33,7 @@ printfeed(FILE *fpitems, FILE *fpin, struct feed *f) xmlencode(f->name, fpitems); fputs("</a></h2>\n", fpitems); } + fputs("<pre>\n", fpitems); while ((linelen = getline(&line, &linesize, fpin)) > 0) { if (line[linelen - 1] == '\n') @@ -69,6 +70,7 @@ printfeed(FILE *fpitems, FILE *fpin, struct feed *f) fputs("</u></b>", fpitems); fputs("\n", fpitems); } + fputs("</pre>\n", fpitems); } int @@ -108,7 +110,7 @@ main(int argc, char *argv[]) "\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n" "\t<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />\n" "</head>\n" - "<body class=\"frame\"><div id=\"items\"><pre>\n", fpitems); + "<body class=\"frame\"><div id=\"items\">", fpitems); if (argc == 1) { if (!(feeds[0] = calloc(1, sizeof(struct feed)))) @@ -130,7 +132,7 @@ main(int argc, char *argv[]) fclose(fp); } } - fputs("</pre>\n</div></body>\n</html>\n", fpitems); /* div items */ + fputs("</div></body>\n</html>\n", fpitems); /* div items */ if (showsidebar) { fputs("<!DOCTYPE HTML>\n" diff --git a/sfeed_html.c b/sfeed_html.c @@ -33,6 +33,7 @@ printfeed(FILE *fp, struct feed *f) xmlencode(f->name, stdout); fputs("</a></h2>\n", stdout); } + fputs("<pre>\n", stdout); while ((linelen = getline(&line, &linesize, fp)) > 0) { if (line[linelen - 1] == '\n') @@ -69,6 +70,7 @@ printfeed(FILE *fp, struct feed *f) fputs("</u></b>", stdout); fputs("\n", stdout); } + fputs("</pre>\n", stdout); } int @@ -103,7 +105,6 @@ main(int argc, char *argv[]) fputs("\t\t<div id=\"items\">\n", stdout); else fputs("\t\t<div id=\"items\" class=\"nosidebar\">\n", stdout); - fputs("<pre>\n", stdout); if (argc == 1) { if (!(feeds[0] = calloc(1, sizeof(struct feed)))) @@ -126,7 +127,7 @@ main(int argc, char *argv[]) fclose(fp); } } - fputs("</pre>\n</div>\n", stdout); /* div items */ + fputs("</div>\n", stdout); /* div items */ if (showsidebar) { fputs("\t<div id=\"sidebar\">\n\t\t<ul>\n", stdout);