+ {body}
+
+
+
+
+
+
+
diff --git a/blog/feeds.md b/blog/feeds.md
index 90ebeac..b970122 100644
--- a/blog/feeds.md
+++ b/blog/feeds.md
@@ -1,5 +1,22 @@
title: Get started using feeds
-summary: Pick a client, add some feeds, done
+summary: Don't subscribe to our email newsletter
published: 2020-06-02
---
+
+Adding feeds in a feed reader is a simple way to subscribe to websites. A lot of sites support
+this.
+
+The website provides a machine-readable document on a certain URL. You add this in your feed reader
+software, which will then periodically fetch them. Whenever a new item is added, the reader will
+pick up on this. If you want, you can configure it to notify you.
+
+## Pro and con
+
+## Choose a client
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+## Add some feeds
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
diff --git a/blog/irc.md b/blog/irc.md
index 330fbb6..4d94a40 100644
--- a/blog/irc.md
+++ b/blog/irc.md
@@ -3,3 +3,11 @@ summary: Pick a client, join some channels, maybe register with NickServ
published: 2020-06-02
---
+
+IRC is a simple text protocol that's useful for channel-oriented messaging. It's used for
+communities...
+
+## Choose a client
+
+
+## Register your nickname
diff --git a/do_blog.py b/do_blog.py
new file mode 100755
index 0000000..cd04566
--- /dev/null
+++ b/do_blog.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+
+import sys
+from strictyaml import load as load_yaml
+from ipo import read, write, map, starstarmap, join, sort, ipo
+from glob import glob
+from markdown import markdown
+import re
+
+
+@ipo
+def parted(data, regex):
+ """
+ Two parts of data, delimited by the first element on which regex fullmatches.
+
+ If a delimiter is found, the second part is an iterator over the remaining elements. Else it is None.
+ """
+ first = []
+
+ it = iter(data)
+ try:
+ while True:
+ item = next(it)
+ if re.fullmatch(regex, item):
+ break
+ first.append(item)
+ except StopIteration:
+ return (first, None)
+
+ return (first, it)
+
+
+with open("blog.html") as blog_fh:
+ TEMPLATE = blog_fh.read()
+
+with open(sys.argv[1]) as file_in:
+ metadata_yaml, content = read(file_in) | parted("---+")
+ metadata = load_yaml(metadata_yaml | join("\n")).data
+ body = markdown(content | join("\n"), extras=[])
+
+with open(sys.argv[2], "w") as file_out:
+ TEMPLATE.format(**metadata, body=body) | write(file=file_out)
diff --git a/do_index.py b/do_index.py
index d6d778e..8497727 100755
--- a/do_index.py
+++ b/do_index.py
@@ -1,10 +1,11 @@
#!/usr/bin/env python3
import sys
-from strictyaml import load as load_yaml
-from ipo import list, str, read, write, map, starstarmap, takewhile, join, sort
from glob import glob
import re
+from strictyaml import load as load_yaml
+from ipo import list, str, read, write, map, starstarmap, takewhile, join, sort
+
TEMPLATE = """