From 92a83130bfde8dab4bd2de242973b3cfce053e02 Mon Sep 17 00:00:00 2001 From: Tim Vink Date: Wed, 12 Jan 2022 14:48:55 +0100 Subject: [PATCH 1/3] Attempt to disable lazy loading --- mkdocs_print_site_plugin/js/print-site.js | 17 +++++++++++++++++ mkdocs_print_site_plugin/plugin.py | 1 + tests/fixtures/projects/basic/docs/index.md | 10 +++++++++- .../basic/mkdocs_material_instant_loading.yml | 6 +++++- .../basic/mkdocs_material_with_git_plugin.yml | 6 +++++- 5 files changed, 37 insertions(+), 3 deletions(-) diff --git a/mkdocs_print_site_plugin/js/print-site.js b/mkdocs_print_site_plugin/js/print-site.js index 92bffff..84e873f 100644 --- a/mkdocs_print_site_plugin/js/print-site.js +++ b/mkdocs_print_site_plugin/js/print-site.js @@ -146,4 +146,21 @@ function remove_element_by_classname(class_name) { if( el.length > 0) { el[0].style.display = "none" } +} + +function remove_lazy_loading() { + + // https://gist.github.com/hzr/1188747 + window.opera.addEventListener("AfterScript", function(e) { + if (typeof jQuery != "undefined" && jQuery.prototype.lazyload) { + jQuery.prototype.lazyload = function() {}; + } + }, false); + + images = document.getElementsByTagName("img"); + for (var i = 0; i < images.length; i++) { + el = images[i]; + el.removeAttribute("loading"); + } + } \ No newline at end of file diff --git a/mkdocs_print_site_plugin/plugin.py b/mkdocs_print_site_plugin/plugin.py index a6f2d11..ca5fbb9 100644 --- a/mkdocs_print_site_plugin/plugin.py +++ b/mkdocs_print_site_plugin/plugin.py @@ -322,6 +322,7 @@ def on_post_build(self, config, **kwargs): # Determine calls to required javascript functions js_calls = "remove_material_navigation();" js_calls += "remove_mkdocs_theme_navigation();" + js_calls += "remove_lazy_loading();" if self.config.get("add_table_of_contents"): js_calls += "generate_toc();" diff --git a/tests/fixtures/projects/basic/docs/index.md b/tests/fixtures/projects/basic/docs/index.md index 32a9690..9a0d9da 100644 --- a/tests/fixtures/projects/basic/docs/index.md +++ b/tests/fixtures/projects/basic/docs/index.md @@ -9,4 +9,12 @@ An to an anchor on page A [link](a.md#anchor-links) ## Subsection -On the homepage \ No newline at end of file +On the homepage + +## An image with lazy loading + +See https://github.com/timvink/mkdocs-print-site-plugin/issues/60 + +![Image title](https://dummyimage.com/600x400/){ loading=lazy } + + diff --git a/tests/fixtures/projects/basic/mkdocs_material_instant_loading.yml b/tests/fixtures/projects/basic/mkdocs_material_instant_loading.yml index 3043725..36a12e8 100644 --- a/tests/fixtures/projects/basic/mkdocs_material_instant_loading.yml +++ b/tests/fixtures/projects/basic/mkdocs_material_instant_loading.yml @@ -13,4 +13,8 @@ plugins: nav: - Home: index.md - Page Z: z.md - - Page A: a.md \ No newline at end of file + - Page A: a.md + +markdown_extensions: + - attr_list + - md_in_html \ No newline at end of file diff --git a/tests/fixtures/projects/basic/mkdocs_material_with_git_plugin.yml b/tests/fixtures/projects/basic/mkdocs_material_with_git_plugin.yml index f831881..a0e2448 100644 --- a/tests/fixtures/projects/basic/mkdocs_material_with_git_plugin.yml +++ b/tests/fixtures/projects/basic/mkdocs_material_with_git_plugin.yml @@ -12,4 +12,8 @@ plugins: nav: - Home: index.md - Page Z: z.md - - Page A: a.md \ No newline at end of file + - Page A: a.md + +markdown_extensions: + - attr_list + - md_in_html \ No newline at end of file From aa750c467fd3558dae2ebb6a73fafa3618917443 Mon Sep 17 00:00:00 2001 From: Tim Vink Date: Fri, 14 Jan 2022 13:15:57 +0100 Subject: [PATCH 2/3] Remove lazy loading attributes from images on the print page --- mkdocs_print_site_plugin/js/print-site.js | 17 ----------------- mkdocs_print_site_plugin/plugin.py | 5 ++++- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/mkdocs_print_site_plugin/js/print-site.js b/mkdocs_print_site_plugin/js/print-site.js index 84e873f..e743642 100644 --- a/mkdocs_print_site_plugin/js/print-site.js +++ b/mkdocs_print_site_plugin/js/print-site.js @@ -147,20 +147,3 @@ function remove_element_by_classname(class_name) { el[0].style.display = "none" } } - -function remove_lazy_loading() { - - // https://gist.github.com/hzr/1188747 - window.opera.addEventListener("AfterScript", function(e) { - if (typeof jQuery != "undefined" && jQuery.prototype.lazyload) { - jQuery.prototype.lazyload = function() {}; - } - }, false); - - images = document.getElementsByTagName("img"); - for (var i = 0; i < images.length; i++) { - el = images[i]; - el.removeAttribute("loading"); - } - -} \ No newline at end of file diff --git a/mkdocs_print_site_plugin/plugin.py b/mkdocs_print_site_plugin/plugin.py index ca5fbb9..55e1dce 100644 --- a/mkdocs_print_site_plugin/plugin.py +++ b/mkdocs_print_site_plugin/plugin.py @@ -309,6 +309,10 @@ def on_post_build(self, config, **kwargs): # Render the theme template for the print page html = template.render(self.context) + # Remove lazy loading attributes from images + # https://regex101.com/r/HVpKPs/1 + html = re.sub(r"(\ Date: Fri, 14 Jan 2022 13:16:24 +0100 Subject: [PATCH 3/3] bump to 2.2.4 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 40aacb9..dbaea26 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( name="mkdocs-print-site-plugin", - version="2.2.3", + version="2.2.4", description="MkDocs plugin that combines all pages into one, allowing for easy export to PDF and standalone HTML.", long_description=long_description, long_description_content_type="text/markdown",