From 312d4546f8da49ce44c9da88c929a558b29d6b3d Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 14 Nov 2021 16:04:05 +0100 Subject: [PATCH] Continuing working on blog engine --- devblog/.build_blog.py.swp | Bin 12288 -> 16384 bytes devblog/build_blog.py | 32 ++++++++++++++++-------- devblog/source/2021-11-14.md | 9 ------- devblog/source/templates/.blog.html.swp | Bin 12288 -> 12288 bytes devblog/source/templates/.post.html.swp | Bin 12288 -> 0 bytes devblog/source/templates/blog.html | 2 +- 6 files changed, 23 insertions(+), 20 deletions(-) delete mode 100644 devblog/source/2021-11-14.md delete mode 100644 devblog/source/templates/.post.html.swp diff --git a/devblog/.build_blog.py.swp b/devblog/.build_blog.py.swp index 1caeb9ca6ac0a042420e7caef5fba62f937e4bfd..8a5e3c135da9d5489d5a23018e893cd91fe31758 100644 GIT binary patch delta 1132 zcmaje+iTNM90%~z+cvj#?L_c0k+T*d8)Z4_MXM8F4fQF;nFe7*uBOKS#@lq{H$P1VR4bH<5oP!jEVX>8vhfsy9 zkcCTd5eDHH90Urj@V$kQZ}1g9!Wzs$5e`ED2)u2^;%m)>tUv`$1A)(52w8xq&Q^A z0TfNoQCT*Xye7+3l4!yowKZ0>O*+ByhFnm_HGi~zN+mjKSmV_n$z3I$a*Ov~-k4%& zrmEPP`cZwVU^&dmQ2rzG(J{+p+BJr_8-9g96S7m9Vh>}^v23QP!tZ2%T%=dDDalYu z`B7D&1&3v53Vm8tn3iUiWvjZW7(!PUFO;)v>cvsrtgkD>XZUJ1i};KCmHppnBvdDo zr%Gw1P{30Q-rasd??HIhzo$_2B(4{j&J0cBy-2;~OI{~ZJ&%o-Z7t_Wn};HQCsO@Q z@MIMd1on|J@U`*0v(h4dK zU5EumY7|#0T?y{$Y`RdX2yWF6U=XTxA-+_%7JVj$df+#6`QLNT47Xa@riuG3p~Lr3K&KhJMo!& zUBN3n!~bL6#bc&~ekcOsT77RvUh zWuzLNZnqnh*JE{9W$jD3(V{-?oY;L!JKgMebG@96lH|HVzi?KOqW}N^ 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 696f8b309c89cc5b151eb24c436fb284dcce6961..4f59fec23cfb1e9634fd07e10a80d0678ab26067 100644 GIT binary patch delta 323 zcmX}iy-Nad0LJl0E>FFKXpk#X>QD%h!(Ln(S_&K@q9H0!DhrB+UW8gABo}L}_^mm& zMdsGl5Y!R`P7MtWK|$dkP|$bk3mes6$8J&;kvS zN*;1ivkf?uO(%K;>AmV4d9^nS3tW zdep-yBVCM`om!O1tl#SSm;HYJ>)#R8QpucPaW%!Bxwf`bzJg7HPgwwfu60YuY|b)>2!2tb7y&G^f}iv(4*njhUD^PSr}rS++Q1 zyYr^!E;P!_^jWQLTR!v5y6gGHieIziXnNEPXa+iFV8NdoyE=61(!~qo+-I~fVw^m2 zt7CUGy|Fe&A=XHz?vmmJxcTw;Q#-RfB*k`jOZ8e3aA6qz%`%*6oGTV z8DI;3za#&3jF%ALEHDUc93lD)+yhPme-0CU0T?h0tREs;1D*jlfp3FEpMZD3OW+|e z4HSV>z~(`s72rN_1sDdl4iLQtT;L8c0BjBreFr`QAAmQ&3!n*H22KOd_aj$e1la5+ z`T@KJ?gIV5NBlwL2`~<9;Ey3|zzXmLcmON`y*(w9f16=48ptpVVT$>TJG(T=#qpz1 z!^LA|zv?-AkIrUflJvs<- zlxk%{nM_Q(&+=$pNadyp8`*TW72!<2c|@z$o3xiD)xOEGN9x(L&NqAd z?1-7FZi*albxQ4)L`LC`+@Ub3-I1zJd=bjUlm=mAN_>Uxc}|KBvQ@9u5rG|4u3SlB zAXm$zGMV@`+V8_OKcZhU7vE+gj3+zTp!~l=x?PEQwfyuXldxgnV*aEUiWs3#k@*=w z@fi%aP~zAzjl8Ez`ZqLc=#zZr@LrAZX%^p2=Tj6YG-KESy!k?!*`_T>GDuX}e?^CAQ7|eHPZUNamSHSW!E@#*{{w~8k;?!8 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 @@ - +