You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
687 B
25 lines
687 B
2 years ago
|
#!/usr/bin/env bash
|
||
|
|
||
|
file="$1"
|
||
|
|
||
|
getBlogSlug(){
|
||
|
echo "$1" | sed 's/^content\//\//' | sed 's/.md$/\//' | sed -E 's/[0-9]+-//'
|
||
|
}
|
||
|
|
||
|
info="$(sed -n '/---/,/---/p' "$file" | sed '/^$/,$d' | sed -n '1,/---/p' | sed '/^---$/d')"
|
||
|
|
||
|
slug=$(getBlogSlug "$file")
|
||
|
date="$(echo "$info" | yq -r .date)"
|
||
|
rfc822="$(date --utc -d "$date" "+%a, %d %b %Y %H:%M:%S") UT"
|
||
|
title="$(echo "$info" | yq -r .title)"
|
||
|
description="$(echo "$info" | yq -r .description)"
|
||
|
|
||
|
echo "<item>
|
||
|
<title>
|
||
|
<![CDATA[$title]]></title>
|
||
|
<link>https://jonathanh.co.uk$slug</link>
|
||
|
<guid isPermaLink=\"true\">https://jonathanh.co.uk$slug</guid>
|
||
|
<pubDate>$rfc822</pubDate>
|
||
|
<description><![CDATA[$description]]></description>
|
||
|
</item>"
|