Accepting request 1128266 from devel:languages:python

- Update to version 3.0.0:
  * drop python 3.7 support
  * Update from upstream markdown-it 12.2.0 to 13.0.0
    - A key change is the addition of a new Token type, text_special,
      which is used to represent HTML entities and backslash escaped
      characters.
    - This ensures that (core) typographic transformation rules are not
      incorrectly applied to these texts.
    - The final core rule is now the new text_join rule, which joins
      adjacent text/text_special tokens, and so no text_special tokens
      should be present in the final token stream.
    - Any custom typographic rules should be inserted before text_join.
    - A new linkify rule has also been added to the inline chain, which
      will linkify full URLs (e.g. https://example.com), and fixes
      collision of emphasis and linkifier (so
      http://example.org/foo._bar_-_baz is now a single link, not
      emphasized).
    - Emails and fuzzy links are not affected by this.
  * REFACTOR: Replace most character code use with strings
    - The use of StateBase.srcCharCode is deprecated (with
      backward-compatibility), and all core uses are replaced by
      StateBase.src.
    - Conversion of source string characters to an integer
      representing the Unicode character is prevalent in the upstream
      JavaScript implementation, to improve performance. However, it
      is unnecessary in Python and leads to harder to read code and
      performance deprecations (during the conversion in the StateBase
      initialisation).
  * Centralise indented code block tests
    - For CommonMark, the presence of indented code blocks prevent any
      other block element from having an indent of greater than 4
      spaces.
    - Certain Markdown flavors and derivatives, such as mdx and djot,
      disable these code blocks though, since it is more common to use
      code fences and/or arbitrary indenting is desirable.
    - Previously, disabling code blocks did not remove the indent
      limitation, since most block elements had the 3 space limitation
      hard-coded.
    - This change centralised the logic of applying this limitation
      (in StateBlock.is_code_block), and only applies it when indented
      code blocks are enabled.
  * Maintenance changes
    - Strict type annotation checking has been applied to the whole
      code base, ruff is now used for linting, and fuzzing tests have
      been added to the CI, to integrate with Google OSS-Fuzz testing,
      thanks to @DavidKorczynski.

OBS-URL: https://build.opensuse.org/request/show/1128266
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-markdown-it-py?expand=0&rev=5
This commit is contained in:
Ana Guerrero 2023-11-23 20:38:32 +00:00 committed by Git OBS Bridge
commit 9e3080d3cc
4 changed files with 57 additions and 6 deletions

BIN
python-markdown-it-py-2.2.0.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
python-markdown-it-py-3.0.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,53 @@
-------------------------------------------------------------------
Thu Nov 23 07:22:11 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Update to version 3.0.0:
* drop python 3.7 support
* Update from upstream markdown-it 12.2.0 to 13.0.0
- A key change is the addition of a new Token type, text_special,
which is used to represent HTML entities and backslash escaped
characters.
- This ensures that (core) typographic transformation rules are not
incorrectly applied to these texts.
- The final core rule is now the new text_join rule, which joins
adjacent text/text_special tokens, and so no text_special tokens
should be present in the final token stream.
- Any custom typographic rules should be inserted before text_join.
- A new linkify rule has also been added to the inline chain, which
will linkify full URLs (e.g. https://example.com), and fixes
collision of emphasis and linkifier (so
http://example.org/foo._bar_-_baz is now a single link, not
emphasized).
- Emails and fuzzy links are not affected by this.
* REFACTOR: Replace most character code use with strings
- The use of StateBase.srcCharCode is deprecated (with
backward-compatibility), and all core uses are replaced by
StateBase.src.
- Conversion of source string characters to an integer
representing the Unicode character is prevalent in the upstream
JavaScript implementation, to improve performance. However, it
is unnecessary in Python and leads to harder to read code and
performance deprecations (during the conversion in the StateBase
initialisation).
* Centralise indented code block tests
- For CommonMark, the presence of indented code blocks prevent any
other block element from having an indent of greater than 4
spaces.
- Certain Markdown flavors and derivatives, such as mdx and djot,
disable these code blocks though, since it is more common to use
code fences and/or arbitrary indenting is desirable.
- Previously, disabling code blocks did not remove the indent
limitation, since most block elements had the 3 space limitation
hard-coded.
- This change centralised the logic of applying this limitation
(in StateBlock.is_code_block), and only applies it when indented
code blocks are enabled.
* Maintenance changes
- Strict type annotation checking has been applied to the whole
code base, ruff is now used for linting, and fuzzing tests have
been added to the CI, to integrate with Google OSS-Fuzz testing,
thanks to @DavidKorczynski.
-------------------------------------------------------------------
Fri May 5 11:57:21 UTC 2023 - Johannes Kastl <kastl@b1-systems.de>

View File

@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-markdown-it-py
Version: 2.2.0
Version: 3.0.0
Release: 0
Summary: Python port of markdown-it Markdown parsing
License: MIT
@ -26,9 +26,10 @@ URL: https://github.com/executablebooks/markdown-it-py/
Source: https://github.com/executablebooks/markdown-it-py/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
#Source: https://files.pythonhosted.org/packages/source/m/markdown-it-py/markdown-it-py-%%{version}.tar.gz
BuildRequires: python-rpm-macros
BuildRequires: %{python_module flit}
BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module mdurl}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
# SECTION tests
BuildRequires: %{python_module linkify-it-py}
BuildRequires: %{python_module pytest-regressions}
@ -48,7 +49,7 @@ This is a Python port of [markdown-it], and some of its associated plugins.
It follows the CommonMark spec for baseline parsing, has a configurable syntax and is pluggable.
%prep
%setup -q -n markdown-it-py-%{version}
%autosetup -p1 -n markdown-it-py-%{version}
sed -i '1{/\/usr\/bin\/env python*/d;}' markdown_it/cli/parse.py
%build