From 05684becbe716470652c0ee2e9c3d56424bbb91e Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Fri, 17 Jan 2025 09:33:55 +0000 Subject: [PATCH 1/3] feat: support footnotes in markdown --- readme_renderer/markdown.py | 4 ++-- tests/fixtures/test_GFM_footnotes.html | 8 ++++++++ tests/fixtures/test_GFM_footnotes.md | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 tests/fixtures/test_GFM_footnotes.html create mode 100644 tests/fixtures/test_GFM_footnotes.md diff --git a/readme_renderer/markdown.py b/readme_renderer/markdown.py index 6e71a43..5bf935b 100644 --- a/readme_renderer/markdown.py +++ b/readme_renderer/markdown.py @@ -34,10 +34,10 @@ from cmarkgfm.cmark import Options as cmarkgfmOptions variants: Dict[str, Callable[[str], str]] = { "GFM": lambda raw: cast(str, cmarkgfm.github_flavored_markdown_to_html( - raw, options=cmarkgfmOptions.CMARK_OPT_UNSAFE + raw, options=cmarkgfmOptions.CMARK_OPT_UNSAFE | cmarkgfmOptions.CMARK_OPT_FOOTNOTES )), "CommonMark": lambda raw: cast(str, cmarkgfm.markdown_to_html( - raw, options=cmarkgfmOptions.CMARK_OPT_UNSAFE + raw, options=cmarkgfmOptions.CMARK_OPT_UNSAFE | cmarkgfmOptions.CMARK_OPT_FOOTNOTES )), } except ImportError: diff --git a/tests/fixtures/test_GFM_footnotes.html b/tests/fixtures/test_GFM_footnotes.html new file mode 100644 index 0000000..adea9de --- /dev/null +++ b/tests/fixtures/test_GFM_footnotes.html @@ -0,0 +1,8 @@ +

a statement1

+
+
    +
  1. +

    this is true

    +
  2. +
+
\ No newline at end of file diff --git a/tests/fixtures/test_GFM_footnotes.md b/tests/fixtures/test_GFM_footnotes.md new file mode 100644 index 0000000..b394cf8 --- /dev/null +++ b/tests/fixtures/test_GFM_footnotes.md @@ -0,0 +1,3 @@ +a statement[^1] + +[^1]: this is true \ No newline at end of file From edef880f682497b01c4c8ce48ec8ee18f80ada02 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Fri, 17 Jan 2025 09:55:34 +0000 Subject: [PATCH 2/3] fix lint error --- readme_renderer/markdown.py | 6 ++++-- tests/fixtures/test_GFM_footnotes.html | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/readme_renderer/markdown.py b/readme_renderer/markdown.py index 5bf935b..95fcbf0 100644 --- a/readme_renderer/markdown.py +++ b/readme_renderer/markdown.py @@ -34,10 +34,12 @@ from cmarkgfm.cmark import Options as cmarkgfmOptions variants: Dict[str, Callable[[str], str]] = { "GFM": lambda raw: cast(str, cmarkgfm.github_flavored_markdown_to_html( - raw, options=cmarkgfmOptions.CMARK_OPT_UNSAFE | cmarkgfmOptions.CMARK_OPT_FOOTNOTES + raw, options=( + cmarkgfmOptions.CMARK_OPT_UNSAFE | cmarkgfmOptions.CMARK_OPT_FOOTNOTES) )), "CommonMark": lambda raw: cast(str, cmarkgfm.markdown_to_html( - raw, options=cmarkgfmOptions.CMARK_OPT_UNSAFE | cmarkgfmOptions.CMARK_OPT_FOOTNOTES + raw, options=( + cmarkgfmOptions.CMARK_OPT_UNSAFE | cmarkgfmOptions.CMARK_OPT_FOOTNOTES) )), } except ImportError: diff --git a/tests/fixtures/test_GFM_footnotes.html b/tests/fixtures/test_GFM_footnotes.html index adea9de..b46b727 100644 --- a/tests/fixtures/test_GFM_footnotes.html +++ b/tests/fixtures/test_GFM_footnotes.html @@ -5,4 +5,4 @@

this is true

- \ No newline at end of file + From c4118aafe695c83e53e7d1f8173cd6bc61e16698 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Sat, 18 Jan 2025 16:30:49 +0200 Subject: [PATCH 3/3] update footnotes test output to fix test fail --- tests/fixtures/test_GFM_footnotes.html | 6 +++--- tests/fixtures/test_GFM_footnotes.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/fixtures/test_GFM_footnotes.html b/tests/fixtures/test_GFM_footnotes.html index b46b727..953eb18 100644 --- a/tests/fixtures/test_GFM_footnotes.html +++ b/tests/fixtures/test_GFM_footnotes.html @@ -1,8 +1,8 @@ -

a statement1

-
+

a statement1

+
  1. -

    this is true

    +

    this is true

diff --git a/tests/fixtures/test_GFM_footnotes.md b/tests/fixtures/test_GFM_footnotes.md index b394cf8..ce41f52 100644 --- a/tests/fixtures/test_GFM_footnotes.md +++ b/tests/fixtures/test_GFM_footnotes.md @@ -1,3 +1,3 @@ a statement[^1] -[^1]: this is true \ No newline at end of file +[^1]: this is true