From 5f5a057c34f2ae2c78d71abafd2cfa74359b2341 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Fri, 15 Sep 2023 21:41:46 +0100 Subject: [PATCH] Add title to diagram filename --- hooks/kroki.py | 10 +++++++--- requirements.txt | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/hooks/kroki.py b/hooks/kroki.py index a0bc95b..54aa5ed 100644 --- a/hooks/kroki.py +++ b/hooks/kroki.py @@ -10,6 +10,7 @@ from mkdocs.utils import write_file import os from py_svg_hush import filter_svg from scour.scour import scourString +from slugify import slugify logger = get_plugin_logger("kroki") @@ -30,13 +31,16 @@ def get_kroki_diagram(source, language): def fence_div_format(site_dir, source, language, *args, attrs, **kwargs): try: - title = attrs.get("title") + title = attrs.get("title", "") diagram = get_kroki_diagram(source, language) - filename = hashlib.md5(source.encode()).hexdigest() + ".svg" + filename = hashlib.md5(source.encode()).hexdigest()[:12] + ".svg" - image_url = f"/_gen/kroki/{language}/{filename}" + if title: + filename = "-".join([slugify(title)[:32].rstrip("-"), filename]) + + image_url = f"/_gen/kroki/{filename}" write_file(diagram, os.path.join(site_dir, image_url.removeprefix("/"))) diff --git a/requirements.txt b/requirements.txt index 41b807c..5d6a4f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,4 @@ minify-html beautifulsoup4 py-svg-hush scour +python-slugify