From fa3de0b9c71a385beb880d4d425e1d96b4293e71 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 12 Mar 2022 14:04:07 +0100 Subject: [PATCH] Sluggify --- from_old_blog.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/from_old_blog.py b/from_old_blog.py index f35ce24..6f56c01 100644 --- a/from_old_blog.py +++ b/from_old_blog.py @@ -1,6 +1,30 @@ +import pathlib +import re import yaml +def slug(s): + orig = s + s = re.sub(r"""[*\^/\-":+#.,¿?¡!()[\]'%]+""", " ", s) + s = s.strip() + s = re.sub(" +", "_", s) + s = s.lower() + acc = { + "áà": "a", + "éè": "e", + "íì": "i", + "óò": "o", + "úùü": "u", + "ñ": "n", + "ç": "c", + } + for ds, r in acc.items(): + for d in ds: + s = s.replace(d, r) + assert re.match("^[a-z0-9_]+$", s), (orig, s) + return s + + with open("post.yml") as f: posts = yaml.load(f) @@ -8,4 +32,8 @@ posts = [dict(post) for post in posts] for post in posts: post["post"] = post["post"].encode("iso-8859-1").decode("utf8") - post["title"] = post["title"].encode("iso-8859-1").decode("utf8") \ No newline at end of file + post["title"] = post["title"].encode("iso-8859-1").decode("utf8") + + y,m,d = post["posted"].split(" ")[0].split("-") + + p = pathlib.Path("content") / y / m / d / slug(post["title"]) -- 2.47.3