From 8c5db543d5ee56aabbb091a79b047683471ba13b Mon Sep 17 00:00:00 2001 From: Paul Brabban Date: Sat, 6 Apr 2024 14:50:32 +0100 Subject: [PATCH 1/8] hacky special-case solution for links in feed excerpts --- mkdocs_rss_plugin/plugin.py | 1 + mkdocs_rss_plugin/util.py | 38 +++++++++++++----- .../docs/blog/posts/assets/example_image.webp | Bin 0 -> 131376 bytes .../posts/sample_blog_post_internal_links.md | 24 +++++++++++ tests/test_build.py | 35 ++++++++++++++++ 5 files changed, 88 insertions(+), 10 deletions(-) create mode 100644 tests/fixtures/docs/blog/posts/assets/example_image.webp create mode 100644 tests/fixtures/docs/blog/posts/sample_blog_post_internal_links.md diff --git a/mkdocs_rss_plugin/plugin.py b/mkdocs_rss_plugin/plugin.py index 78bbed58..617b2d31 100644 --- a/mkdocs_rss_plugin/plugin.py +++ b/mkdocs_rss_plugin/plugin.py @@ -283,6 +283,7 @@ def on_page_content( created=page_dates[0], description=self.util.get_description_or_abstract( in_page=page, + html=html, chars_count=self.config.abstract_chars_count, abstract_delimiter=self.config.abstract_delimiter, ), diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index e6a9795f..14d84e1b 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -6,6 +6,7 @@ # standard library import logging +import re import ssl import sys from datetime import date, datetime @@ -15,7 +16,7 @@ from typing import Any, Iterable, Optional, Tuple, Union from urllib import request from urllib.error import HTTPError, URLError -from urllib.parse import urlencode, urlparse, urlunparse +from urllib.parse import urlencode, urljoin, urlparse, urlunparse # 3rd party import markdown @@ -48,6 +49,22 @@ # ########## Classes ############# # ################################ +HREF_MATCH_PATTERN = re.compile('href="(.*?)"') +SRC_MATCH_PATTERN = re.compile('src="(.*?)"') + + +def relative_links_resolve_to_page(page_html, page_url): + href_links_to_replace = re.findall(HREF_MATCH_PATTERN, page_html) + src_links_to_replace = re.findall(SRC_MATCH_PATTERN, page_html) + links_to_replace = set(href_links_to_replace + src_links_to_replace) + links_with_replacements = [ + (link, urljoin(page_url, link)) for link in links_to_replace + ] + replaced_html = page_html + for original, replacement in links_with_replacements: + replaced_html = replaced_html.replace(original, replacement) + return replaced_html + class Util: """Plugin logic.""" @@ -452,12 +469,17 @@ def get_date_from_meta( return out_date def get_description_or_abstract( - self, in_page: Page, chars_count: int = 160, abstract_delimiter: str = None + self, + in_page: Page, + html: str, + chars_count: int = 160, + abstract_delimiter: str = None, ) -> str: """Returns description from page meta. If it doesn't exist, use the \ - {chars_count} first characters from page content (in markdown). + {chars_count} first characters from page content (in html). :param Page in_page: page to look at + :param str html: rendered page html :param int chars_count: if page.meta.description is not set, number of chars \ of the content to use. Defaults to: 160 - optional :param str abstract_delimiter: description delimiter, defaults to None @@ -486,14 +508,10 @@ def get_description_or_abstract( return "" elif ( abstract_delimiter - and ( - excerpt_separator_position := in_page.markdown.find(abstract_delimiter) - ) - > -1 + and (excerpt_separator_position := html.find(abstract_delimiter)) > -1 ): - return markdown.markdown( - in_page.markdown[:excerpt_separator_position], - output_format="html5", + return relative_links_resolve_to_page( + html[:excerpt_separator_position], in_page.canonical_url ) # If chars count is unlimited, use the html content elif in_page.content and chars_count == -1: diff --git a/tests/fixtures/docs/blog/posts/assets/example_image.webp b/tests/fixtures/docs/blog/posts/assets/example_image.webp new file mode 100644 index 0000000000000000000000000000000000000000..e44b8572c13ed71f78fc086cef6f3953c7f8abb6 GIT binary patch literal 131376 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

(IN0H*sb9h3~Bo`oE$_EYH{%A!Xp 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 z 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 RpbTXNfPlvXQJmH!0RRis?h^n2 literal 0 HcmV?d00001 diff --git a/tests/fixtures/docs/blog/posts/sample_blog_post_internal_links.md b/tests/fixtures/docs/blog/posts/sample_blog_post_internal_links.md new file mode 100644 index 00000000..f7af3800 --- /dev/null +++ b/tests/fixtures/docs/blog/posts/sample_blog_post_internal_links.md @@ -0,0 +1,24 @@ +--- +date: 2023-02-12 +authors: [guts] +categories: + - Blog +--- + +# Blog sample with internal links + +I'm a really short intro. + +![here's an internal image](./assets/example_image.webp) + +[Here's an internal link](./sample_blog_post.md) +and another +[Another link](../../index.md) + + + +## This part won't show up in RSS feed + +### What is Lorem Ipsum? + +Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. diff --git a/tests/test_build.py b/tests/test_build.py index d2a00a5d..9529a89a 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -715,6 +715,41 @@ def test_not_git_repo(self): # restore name git_dir_tmp.replace(git_dir) + def test_abstract_with_internal_links(self): + with tempfile.TemporaryDirectory() as tmpdirname: + cli_result = self.build_docs_setup( + testproject_path="docs", + mkdocs_yml_filepath=Path("tests/fixtures/mkdocs_minimal.yml"), + output_path=tmpdirname, + strict=True, + ) + self.assertEqual(cli_result.exit_code, 0) + self.assertIsNone(cli_result.exception) + + feed_rss_created = feedparser.parse( + Path(tmpdirname) / OUTPUT_RSS_FEED_CREATED + ) + + feed_rss_updated = feedparser.parse( + Path(tmpdirname) / OUTPUT_RSS_FEED_UPDATED + ) + + ##print(json.dumps(feed_rss_created)) + + for page in feed_rss_created.entries + feed_rss_updated.entries: + if page.title == "Blog sample with internal links": + self.assertIn( + 'href="https://guts.github.io/mkdocs-rss-plugin/blog/posts/sample_blog_post/"', + page.summary, + ) + self.assertIn( + 'href="https://guts.github.io/mkdocs-rss-plugin/"', page.summary + ) + self.assertIn( + 'src="https://guts.github.io/mkdocs-rss-plugin/blog/posts/assets/example_image.webp"', + page.summary, + ) + # ############################################################################## # ##### Stand alone program ######## From 0a214d6129239b3328b8bd663d571d4a7012b0b3 Mon Sep 17 00:00:00 2001 From: Paul Brabban Date: Sun, 5 May 2024 22:11:35 +0000 Subject: [PATCH 2/8] remove glightbox image wrapper if present; assume only one image --- mkdocs_rss_plugin/util.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index 7dc0d220..702048b2 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -52,7 +52,6 @@ HREF_MATCH_PATTERN = re.compile('href="(.*?)"') SRC_MATCH_PATTERN = re.compile('src="(.*?)"') - def relative_links_resolve_to_page(page_html, page_url): href_links_to_replace = re.findall(HREF_MATCH_PATTERN, page_html) src_links_to_replace = re.findall(SRC_MATCH_PATTERN, page_html) @@ -65,6 +64,9 @@ def relative_links_resolve_to_page(page_html, page_url): replaced_html = replaced_html.replace(original, replacement) return replaced_html +GLIGHTBOX_ANCHOR_PATTERN = re.compile('(.*?)') +def remove_glightbox(page_html): + return re.sub(GLIGHTBOX_ANCHOR_PATTERN, r'\1' , page_html) class Util: """Plugin logic.""" @@ -504,9 +506,11 @@ def get_description_or_abstract( abstract_delimiter and (excerpt_separator_position := html.find(abstract_delimiter)) > -1 ): - return relative_links_resolve_to_page( + replaced_links = relative_links_resolve_to_page( html[:excerpt_separator_position], in_page.canonical_url ) + return remove_glightbox(replaced_links) + # Use first chars_count from the markdown elif chars_count > 0 and in_page.markdown: if len(in_page.markdown) <= chars_count: From 6b042340131112a8de471ba68db257a98d27abab Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 5 May 2024 22:11:56 +0000 Subject: [PATCH 3/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- mkdocs_rss_plugin/util.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index 702048b2..669d84ce 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -52,6 +52,7 @@ HREF_MATCH_PATTERN = re.compile('href="(.*?)"') SRC_MATCH_PATTERN = re.compile('src="(.*?)"') + def relative_links_resolve_to_page(page_html, page_url): href_links_to_replace = re.findall(HREF_MATCH_PATTERN, page_html) src_links_to_replace = re.findall(SRC_MATCH_PATTERN, page_html) @@ -64,9 +65,13 @@ def relative_links_resolve_to_page(page_html, page_url): replaced_html = replaced_html.replace(original, replacement) return replaced_html -GLIGHTBOX_ANCHOR_PATTERN = re.compile('(.*?)') + +GLIGHTBOX_ANCHOR_PATTERN = re.compile('(.*?)') + + def remove_glightbox(page_html): - return re.sub(GLIGHTBOX_ANCHOR_PATTERN, r'\1' , page_html) + return re.sub(GLIGHTBOX_ANCHOR_PATTERN, r"\1", page_html) + class Util: """Plugin logic.""" @@ -510,7 +515,7 @@ def get_description_or_abstract( html[:excerpt_separator_position], in_page.canonical_url ) return remove_glightbox(replaced_links) - + # Use first chars_count from the markdown elif chars_count > 0 and in_page.markdown: if len(in_page.markdown) <= chars_count: From 89414e88531610a876d297fe42f46509a93c8058 Mon Sep 17 00:00:00 2001 From: Paul Brabban Date: Sun, 5 May 2024 22:29:45 +0000 Subject: [PATCH 4/8] remove grid cards wrapper too, one failing test --- mkdocs_rss_plugin/util.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index 702048b2..3d09ff81 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -64,9 +64,14 @@ def relative_links_resolve_to_page(page_html, page_url): replaced_html = replaced_html.replace(original, replacement) return replaced_html -GLIGHTBOX_ANCHOR_PATTERN = re.compile('(.*?)') -def remove_glightbox(page_html): - return re.sub(GLIGHTBOX_ANCHOR_PATTERN, r'\1' , page_html) +WRAPPER_PATTERNS = [re.compile(p) for p in [ + '(.*?)', + '

(.*?)
' +]] +def remove_wrappers(page_html): + for wrapper_pattern in WRAPPER_PATTERNS: + page_html = re.sub(wrapper_pattern, r'\1' , page_html) + return page_html class Util: """Plugin logic.""" @@ -507,9 +512,10 @@ def get_description_or_abstract( and (excerpt_separator_position := html.find(abstract_delimiter)) > -1 ): replaced_links = relative_links_resolve_to_page( - html[:excerpt_separator_position], in_page.canonical_url + html, in_page.canonical_url ) - return remove_glightbox(replaced_links) + removed_wrappers = remove_wrappers(replaced_links) + return removed_wrappers[:removed_wrappers.find(abstract_delimiter)] # Use first chars_count from the markdown elif chars_count > 0 and in_page.markdown: From ad64f986b2c51f5c6513a876b8afc9e8da93a6fb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 5 May 2024 22:31:25 +0000 Subject: [PATCH 5/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- mkdocs_rss_plugin/util.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index 9d0fbefd..ededb175 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -65,15 +65,22 @@ def relative_links_resolve_to_page(page_html, page_url): replaced_html = replaced_html.replace(original, replacement) return replaced_html -WRAPPER_PATTERNS = [re.compile(p) for p in [ - '(.*?)', - '
(.*?)
' -]] + +WRAPPER_PATTERNS = [ + re.compile(p) + for p in [ + '(.*?)', + '
(.*?)
', + ] +] + + def remove_wrappers(page_html): for wrapper_pattern in WRAPPER_PATTERNS: - page_html = re.sub(wrapper_pattern, r'\1' , page_html) + page_html = re.sub(wrapper_pattern, r"\1", page_html) return page_html + class Util: """Plugin logic.""" @@ -512,12 +519,10 @@ def get_description_or_abstract( abstract_delimiter and (excerpt_separator_position := html.find(abstract_delimiter)) > -1 ): - replaced_links = relative_links_resolve_to_page( - html, in_page.canonical_url - ) + replaced_links = relative_links_resolve_to_page(html, in_page.canonical_url) removed_wrappers = remove_wrappers(replaced_links) - return removed_wrappers[:removed_wrappers.find(abstract_delimiter)] - + return removed_wrappers[: removed_wrappers.find(abstract_delimiter)] + # Use first chars_count from the markdown elif chars_count > 0 and in_page.markdown: if len(in_page.markdown) <= chars_count: From 29af0d4bc1a3f420d01d18ef4c2e2cc91cbb9ea3 Mon Sep 17 00:00:00 2001 From: Paul Brabban Date: Sun, 5 May 2024 22:51:14 +0000 Subject: [PATCH 6/8] match any new lines in the cleanups --- mkdocs_rss_plugin/util.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index ededb175..86047633 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -65,16 +65,10 @@ def relative_links_resolve_to_page(page_html, page_url): replaced_html = replaced_html.replace(original, replacement) return replaced_html - -WRAPPER_PATTERNS = [ - re.compile(p) - for p in [ - '(.*?)', - '
(.*?)
', - ] -] - - +WRAPPER_PATTERNS = [re.compile(p, flags=re.DOTALL) for p in [ + '(.*?)', + '
(.*?)
' +]] def remove_wrappers(page_html): for wrapper_pattern in WRAPPER_PATTERNS: page_html = re.sub(wrapper_pattern, r"\1", page_html) From 7bb6b4b357738ffdc0d3ebbdeaf9ad06b7189a38 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 5 May 2024 22:51:27 +0000 Subject: [PATCH 7/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- mkdocs_rss_plugin/util.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index 86047633..e436229a 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -65,10 +65,16 @@ def relative_links_resolve_to_page(page_html, page_url): replaced_html = replaced_html.replace(original, replacement) return replaced_html -WRAPPER_PATTERNS = [re.compile(p, flags=re.DOTALL) for p in [ - '(.*?)', - '
(.*?)
' -]] + +WRAPPER_PATTERNS = [ + re.compile(p, flags=re.DOTALL) + for p in [ + '(.*?)', + '
(.*?)
', + ] +] + + def remove_wrappers(page_html): for wrapper_pattern in WRAPPER_PATTERNS: page_html = re.sub(wrapper_pattern, r"\1", page_html) From d44715167075f45cf01615982d2bad556abc49c6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 06:59:28 +0000 Subject: [PATCH 8/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- mkdocs_rss_plugin/hacky_fix_links.py | 1 - mkdocs_rss_plugin/util.py | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mkdocs_rss_plugin/hacky_fix_links.py b/mkdocs_rss_plugin/hacky_fix_links.py index c06b644d..5915d20a 100644 --- a/mkdocs_rss_plugin/hacky_fix_links.py +++ b/mkdocs_rss_plugin/hacky_fix_links.py @@ -31,4 +31,3 @@ def remove_wrappers(page_html): for wrapper_pattern in WRAPPER_PATTERNS: page_html = re.sub(wrapper_pattern, r"\1", page_html) return page_html - diff --git a/mkdocs_rss_plugin/util.py b/mkdocs_rss_plugin/util.py index f9820580..92bebfc0 100644 --- a/mkdocs_rss_plugin/util.py +++ b/mkdocs_rss_plugin/util.py @@ -14,7 +14,6 @@ from mimetypes import guess_type from pathlib import Path from typing import Any, List, Tuple, Union - from urllib.parse import urlencode, urlparse, urlunparse # 3rd party @@ -36,11 +35,14 @@ # package from mkdocs_rss_plugin.constants import MKDOCS_LOGGER_NAME, REMOTE_REQUEST_HEADERS from mkdocs_rss_plugin.git_manager.ci import CiHandler +from mkdocs_rss_plugin.hacky_fix_links import ( + relative_links_resolve_to_page, + remove_wrappers, +) from mkdocs_rss_plugin.integrations.theme_material_social_plugin import ( IntegrationMaterialSocialCards, ) from mkdocs_rss_plugin.models import PageInformation -from mkdocs_rss_plugin.hacky_fix_links import relative_links_resolve_to_page, remove_wrappers # conditional imports if sys.version_info < (3, 9): @@ -58,6 +60,7 @@ # ########## Classes ############# # ################################ + class Util: """Plugin logic."""