summaryrefslogtreecommitdiff
path: root/src/xmlentry
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlentry')
-rwxr-xr-xsrc/xmlentry48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/xmlentry b/src/xmlentry
new file mode 100755
index 0000000..c2458d1
--- /dev/null
+++ b/src/xmlentry
@@ -0,0 +1,48 @@
+#!/bin/sh
+set -eu
+
+
+usage() {
+ echo 'Usage: xmlentry FILENAME'
+}
+
+FILENAME="${1:-}"
+eval "$(assert-arg -- "$FILENAME" 'FILENAME')"
+. "${FILENAME%.*}.conf"
+
+
+title_html=
+url_absolute=
+update_xml=
+cat <<EOF
+ <entry xml:lang="$lang">
+ <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 -n1 < "${FILENAME%.*}.htmlbody" | htmlesc
+printf ' </summary>\n'
+printf ' <content type="html" xml:base="%s">\n' "${url:?}"
+
+htmlesc < "${FILENAME%.*}.htmlbody"
+printf ' </content>\n'
+printf ' </entry>\n'