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 @@ - +