Age | Commit message (Collapse) | Author |
|
This is a "quick&dirty" regex to block some of the typical 1px width or height
tracking pixels.
|
|
There's no need for a dynamic struct feed **. The required size is known
(argc). Just allocate it in one go.
|
|
|
|
|
|
In particular for RSS feeds where a pubDate is optional.
|
|
- Set mandatory entry tags: id, updated.
- Change entry published (optional tag) to updated (mandatory).
- Add <feed> tags: author name, id, updated, title.
Thanks lich for the feedback and testing.
|
|
|
|
Instead of a binary search do set a pointer to the assigned expected end tag.
This makes more sense and is also a minor optimization.
No behavioural change intended.
|
|
iscntrl is c < ' ' || c == 127
I want to encode a space and everything above 127 also.
So this condition can be simplified to this.
|
|
No functional difference, but it should improve readability.
|
|
This should never be able to happen though in practise because sfeed parses the
uri aswell.
|
|
Support the Gopher protocol directly and use the specified Gopher type.
Idea by adc, thanks!
|
|
|
|
|
|
|
|
- HPPA in qemu (OpenBSD).
- FreeDOS + djgpp (+ wget with networking) in 32-bit mode.
|
|
For the author "unknown" is not a good indicator. Just fallback to the feedname
if the exact author of the feed item is not known/set by the feed.
|
|
The prefix in the subject can be too much/redundant if custom labels are used
in the mail client for example. Filtering or custom labels can be made using
the X-Feedname header.
For mutt it can be useful to use the header X-Label and use the %y format
specified to indicate the label. The index_format is described in the muttrc
man page.
An example:
set index_format = "%4C %Z %[%a, %b %d %H:%M] %?y?%-15.15y ?%-15.15L (%?l?%4l&%4c?) %s"
Other programs have similar headers: Dovecat has "X-Keywords" and Thunderbird
"X-Mozilla-Keys".
|
|
- remove a check that has no use/can never happen.
- remove the return value as it's unused and the input size is known.
- fix an old comment that doesn't reflect what the function does anymore.
|
|
- make converting time error out as the other format tools do also.
- remove wrong comment.
- make code-style consistent.
|
|
Document it so it can be relied upon in scripts.
|
|
|
|
|
|
- Fix a theoretical issue where "found" can overflow and return a zero exit
status when there are many feeds found.
- When there are no RSS/Atom feeds this is not an error, so return 0.
- Style: change unsigned int to int.
|
|
|
|
The previous style was not bold:
<b><a href="">some link</a></b>
The following link is now bold:
<a href=""><b>some link</b></a>
|
|
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.
|
|
Optimize for the common-case: assuming ASCII.
The input is assumed to be valid UTF-8 input (output of sfeed).
This saves 2 function calls for determining the width of a single ASCII
character, which of course is 1.
Ranges:
< 32 are control-characters and are skipped.
< 127 is typical ASCII and is 1 column wide.
>= 127 is the normal path (control-character and multi-byte UTF-8).
Tested on OpenBSD and Linux with various compilers (clang, gcc, pcc and tcc).
On OpenBSD and Linux glibc much improvement. On Linux musl (almost) no change.
In a common-case upto 40% performance improvement.
In the worst-case negligible performance degration (<1%).
|
|
|
|
noticed on DragonFlyBSD where it prints a warning when moving the file from
/tmp.
To reproduce it:
touch /tmp/file
mv /tmp/file ~/
On other systems this would not print a warning, but it would preserve the
group permissions etc.
|
|
Also use a more portable date +'%s' (remove -j).
NOTE though: date +'%s' is not POSIX, but it is supported in most cases.
|
|
|
|
- sfeedrc.5: use the same order as executed in the sfeed_update file.
- sfeedrc.5: reference iconv and curl, which are option, but used by default.
- sfeedrc.5: use a .Sh VARIABLES section for sfeedpath and maxjobs.
- sfeed_update.1: split config format-specific documentation and reference it.
- just use the term "url" instead of "uri".
- shorten some texts, increasing readability.
|
|
|
|
|
|
|
|
|
|
- return -1 for invalid XML entities.
- separate between NUL (�) and invalid entities: although both are
unwanted in sfeed.
- validate the number range more strictly and don't wrap to unsigned.
entities lik: "&#-1;" are handled as invalid now. "&#;" is also invalid
instead of the same as "�".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This nested format is used by Mozilla Thunderbird:
<outline title="">
<outline type="rss" title="" text="" xmlUrl=""/>
</outline>
other tests:
- newsboat -e uses the title attribute, not text.
- rss2email 3.x, r2e opmlexport uses type, text and xmlUrl (correct).
|
|
- set type="rss", this is mandatory for OPML2 (although we use OPML v1).
This fixes importing OPML with Mozilla Thunderbird.
other:
- Do not set the optional htmlUrl. This was (ab)used for the baseurl.
- awk: set FS using the awk -F option (no need for OFS here).
- awk: remove forced C locale.
|
|
Named entities are case-sensitive and in XML lower-case.
(In HTML some of these are valid. Although &APOS; is invalid there too).
References:
4.6 Predefined entities: https://www.w3.org/TR/xml/#sec-predefined-ent
In the definition of "match": https://www.w3.org/TR/xml/#dt-match
"No case folding is performed."
|
|
|