From 0c0a5805d8682318e4303299a5e42e637eca4afe Mon Sep 17 00:00:00 2001 From: blueswen Date: Sun, 19 Mar 2023 18:25:47 +0800 Subject: [PATCH] Support image without extension (#13) --- CHANGELOG | 4 ++++ mkdocs_glightbox/plugin.py | 1 + setup.py | 2 +- tests/fixtures/docs/without_ext.md | 1 + tests/test_builds.py | 24 ++++++++++++++++++++++-- 5 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 tests/fixtures/docs/without_ext.md diff --git a/CHANGELOG b/CHANGELOG index 377c91e..c03b14c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +mkdocs-glightbox-0.3.2 (2023-03-19) + + * Supported image without extension (#13) + mkdocs-glightbox-0.3.1 (2022-11-22) * Supported lightbox slide effect customization (#8) diff --git a/mkdocs_glightbox/plugin.py b/mkdocs_glightbox/plugin.py index 120f41d..f0a9296 100644 --- a/mkdocs_glightbox/plugin.py +++ b/mkdocs_glightbox/plugin.py @@ -110,6 +110,7 @@ def on_page_content(self, html, page, config, **kwargs): a = soup.new_tag("a") a["class"] = "glightbox" a["href"] = img.get("src", "") + a["data-type"] = "image" # setting data-width and data-height with plugin options for k, v in plugin_config.items(): a[f"data-{k}"] = v diff --git a/setup.py b/setup.py index 33b3ee0..ffcf783 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="mkdocs-glightbox", - version="0.3.1", + version="0.3.2", author="Blueswen", author_email="blueswen.tw@gmail.com", url="https://blueswen.github.io/mkdocs-glightbox", diff --git a/tests/fixtures/docs/without_ext.md b/tests/fixtures/docs/without_ext.md new file mode 100644 index 0000000..95d8932 --- /dev/null +++ b/tests/fixtures/docs/without_ext.md @@ -0,0 +1 @@ +![Image without extension](https://picsum.photos/1200/800) diff --git a/tests/test_builds.py b/tests/test_builds.py index 14dc13d..90276d2 100644 --- a/tests/test_builds.py +++ b/tests/test_builds.py @@ -569,7 +569,27 @@ def test_image_in_anchor(tmp_path): path = "../" validate_static(contents, path) validate_script(contents) + assert ( + re.search( + rf'<\/a>', + contents, + ) + is None + ) + + +def test_image_without_ext(tmp_path): + """ + Image without extension + """ + mkdocs_file = "mkdocs.yml" + testproject_path = validate_mkdocs_file(tmp_path, f"tests/fixtures/{mkdocs_file}") + file = testproject_path / "site/without_ext/index.html" + contents = file.read_text(encoding="utf8") + path = "../" + validate_static(contents, path) + validate_script(contents) assert re.search( - rf'<\/a>', + rf'<\/a>', contents, - ) is None + )