diff options
| author | EuAndreh <eu@euandre.org> | 2024-09-01 09:14:28 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2024-09-28 14:00:03 -0300 |
| commit | 438014583ba2c244675d0f8d7f7f8bf9d568a7c8 (patch) | |
| tree | d2aad0e1c819bbf318ff3ec24dbd3734889b1fa6 /src/feedentry | |
| parent | Import code from website repository (diff) | |
| download | mkwb-438014583ba2c244675d0f8d7f7f8bf9d568a7c8.tar.gz mkwb-438014583ba2c244675d0f8d7f7f8bf9d568a7c8.tar.xz | |
Initial version
Diffstat (limited to 'src/feedentry')
| -rwxr-xr-x | src/feedentry | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/feedentry b/src/feedentry new file mode 100755 index 0000000..6299e6f --- /dev/null +++ b/src/feedentry @@ -0,0 +1,53 @@ +#!/bin/sh +set -euo pipefail + + +usage() { + echo 'Usage: feedentry FILENAME.htmlbody' +} + +FILENAME="${1:-}" +eval "$(assert-arg -- "$FILENAME" 'FILENAME.htmlbody')" +. "$(realpath -- "${FILENAME%.*}.conf")" + + +update_xml= +if [ -n "${updated_at:-}" ]; then + update_iso="$(date -ud "$updated_at" -Is)" + update_xml=" <updated> + $update_iso + </updated>" +fi + +cat <<EOF | sed '/^$/d' + <entry xml:lang="en"> + <title type="html"> + $title_html + </title> + <link type="text/html" rel="alternative" href="$url_absolute" title="$title_html" /> + <published> + $date_iso + </published> +$update_xml + <id> + $url_absolute + </id> + <author> + <name> + $author + </name> + <email> + $email + </email> + </author> + + <summary type="html"> +EOF + +head -n5 < "$FILENAME" | htmlesc +printf ' </summary>\n' +printf ' <content type="html" xml:base="%s">\n' "${url:?}" + +htmlesc < "$FILENAME" +printf ' </content>\n' +printf ' </entry>\n' |
