diff --git a/devblog/.build_blog.py.swp b/devblog/.build_blog.py.swp
index 1caeb9ca6a..8a5e3c135d 100644
Binary files a/devblog/.build_blog.py.swp and b/devblog/.build_blog.py.swp differ
diff --git a/devblog/build_blog.py b/devblog/build_blog.py
index 6a7e23ed6c..3f2d227fad 100644
--- a/devblog/build_blog.py
+++ b/devblog/build_blog.py
@@ -22,7 +22,7 @@ Here starts the main text ...
import glob
from dataclasses import dataclass
from collections import defaultdict
-from dateutil import parser as dateparser
+from dateutils import parser as dateparser
from datetime import datetime
from os.path import abspath, dirname, join as pathjoin, sep
import mistletoe
@@ -37,6 +37,7 @@ TEMPLATE_DIR = pathjoin(SOURCE_DIR, "templates")
BLOG_TEMPLATE = "blog.html"
POST_TEMPLATE = "post.html"
+
@dataclass
class Post:
title: str
@@ -52,8 +53,8 @@ def md2html():
blog_template = jinja_env.get_template(BLOG_TEMPLATE)
post_template = jinja_env.get_template(POST_TEMPLATE)
- calendar = defaultdict(dict)
- posts = {}
+ calendar = defaultdict(list)
+ posts = []
for file_path in glob.glob(pathjoin(SOURCE_DIR, "*.md")):
# parse/check if file is on form YY-MM-DD-Blog-Name.md
@@ -89,9 +90,6 @@ def md2html():
elif line.startswith("images"):
image_refs = line
- # unique id for post
- post_id = hash(str(date.toordinal()) + title)
-
markdown_post = "\n".join(lines)
# convert markdown to html
html_post = mistletoe.markdown(markdown_post)
@@ -105,12 +103,26 @@ def md2html():
}
html_page = post_template.render(context)
- posts[post_id] = html_page
- calendar[date.year][post_id]
+ # store
+ post = Post(title=title, date=date, image_refs=image_refs, html=html_page)
+ posts.append(post)
+ calendar[date.year].append(post)
# we have all posts, now insert them into the blog
+ posts = sorted(posts, key=lambda pst: -pst.date.toordinal())
+ for year in calendar:
+ calendar[year] = sorted(calendar[year], key=lambda pst: -pst.date.toordinal())
+
+ context = {
+ posts: posts,
+ calendar: calendar
+ }
+
+ html_page = blog_template.render(context)
+
+ return html_page
-
-
+if __name__ == "__main__":
+ print(md2html())
diff --git a/devblog/source/2021-11-14.md b/devblog/source/2021-11-14.md
deleted file mode 100644
index a5a0bb6724..0000000000
--- a/devblog/source/2021-11-14.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# A way to do things
-
-This is a test blog page for using markdown to write
-[Evennia](https://www.evennia.com) devblog posts.
-
-## Starting out
-
-I'm experimenting with a new section of the docs containing these
-blog posts (obviously the blogs are CC anyway).
diff --git a/devblog/source/templates/.blog.html.swp b/devblog/source/templates/.blog.html.swp
index 696f8b309c..4f59fec23c 100644
Binary files a/devblog/source/templates/.blog.html.swp and b/devblog/source/templates/.blog.html.swp differ
diff --git a/devblog/source/templates/.post.html.swp b/devblog/source/templates/.post.html.swp
deleted file mode 100644
index efd67a4603..0000000000
Binary files a/devblog/source/templates/.post.html.swp and /dev/null differ
diff --git a/devblog/source/templates/blog.html b/devblog/source/templates/blog.html
index 11aca95f80..b306b59501 100644
--- a/devblog/source/templates/blog.html
+++ b/devblog/source/templates/blog.html
@@ -14,7 +14,7 @@
-
+