Skip to content

Commit 362579c

Browse files
committed
Merge branch 'release/3.5.0.0'
2 parents f4c6f37 + d15f93e commit 362579c

13 files changed

Lines changed: 106 additions & 89 deletions

.github/workflows/python-package.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@ jobs:
1515
strategy:
1616
matrix:
1717
python-version: ['3.10', '3.11', '3.12', '3.13']
18-
pandoc-version: ['3.5']
18+
pandoc-version: ['3.6']
1919
steps:
2020
- uses: actions/checkout@v4
2121
- name: Set up Python ${{ matrix.python-version }}
2222
uses: actions/setup-python@v5
2323
with:
2424
python-version: ${{ matrix.python-version }}
2525
- name: Install Hatch
26-
run: pipx install hatch
26+
run: |
27+
pipx install hatch
2728
- name: Install dependencies
2829
run: |
2930
wget https://github.com/jgm/pandoc/releases/download/${{ matrix.pandoc-version }}/pandoc-${{ matrix.pandoc-version }}-1-amd64.deb
@@ -37,15 +38,16 @@ jobs:
3738
strategy:
3839
matrix:
3940
python-version: ['3.12']
40-
pandoc-version: [2.14.2, '2.15', 2.16.2, 2.17.1.1, '2.18', 2.19.2, 3.0.1, 3.1.13, 3.2.1, '3.3', '3.4', '3.5']
41+
pandoc-version: [2.14.2, '2.15', 2.16.2, 2.17.1.1, '2.18', 2.19.2, 3.0.1, 3.1.13, 3.2.1, '3.3', '3.4', '3.5', '3.6']
4142
steps:
4243
- uses: actions/checkout@v4
4344
- name: Set up Python ${{ matrix.python-version }}
4445
uses: actions/setup-python@v5
4546
with:
4647
python-version: ${{ matrix.python-version }}
4748
- name: Install Hatch
48-
run: pipx install hatch
49+
run: |
50+
pipx install hatch
4951
- name: Install dependencies
5052
run: |
5153
wget https://github.com/jgm/pandoc/releases/download/${{ matrix.pandoc-version }}/pandoc-${{ matrix.pandoc-version }}-1-amd64.deb
@@ -59,15 +61,16 @@ jobs:
5961
strategy:
6062
matrix:
6163
python-version: ['3.12']
62-
pandoc-version: ['3.5']
64+
pandoc-version: ['3.6']
6365
steps:
6466
- uses: actions/checkout@v4
6567
- name: Set up Python
6668
uses: actions/setup-python@v5
6769
with:
6870
python-version: ${{ matrix.python-version }}
6971
- name: Install Hatch
70-
run: pipx install hatch
72+
run: |
73+
pipx install hatch
7174
- name: Install dependencies
7275
run: |
7376
wget https://github.com/jgm/pandoc/releases/download/${{ matrix.pandoc-version }}/pandoc-${{ matrix.pandoc-version }}-1-amd64.deb
@@ -84,15 +87,16 @@ jobs:
8487
strategy:
8588
matrix:
8689
python-version: ['3.12']
87-
pandoc-version: ['3.5']
90+
pandoc-version: ['3.6']
8891
steps:
8992
- uses: actions/checkout@v4
9093
- name: Set up Python
9194
uses: actions/setup-python@v5
9295
with:
9396
python-version: ${{ matrix.python-version }}
9497
- name: Install Hatch
95-
run: pipx install hatch
98+
run: |
99+
pipx install hatch
96100
- name: Install dependencies
97101
run: |
98102
wget https://github.com/jgm/pandoc/releases/download/${{ matrix.pandoc-version }}/pandoc-${{ matrix.pandoc-version }}-1-amd64.deb

.github/workflows/python-publish.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ jobs:
2222
with:
2323
python-version: ${{ matrix.python-version }}
2424
- name: Install Hatch
25-
run: pipx install hatch
25+
run: |
26+
pipx install hatch
27+
pipx inject --force hatch hatchling==1.25.0
2628
- name: Build and publish
2729
env:
2830
HATCH_INDEX_USER: ${{ secrets.PYPI_USERNAME }}

.readthedocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ build:
1111
python: '3.11'
1212
commands:
1313
- git fetch --unshallow || true
14+
- pip install hatchling==1.25.0
1415
- pip install hatch
1516
- hatch run docs:build $READTHEDOCS_OUTPUT/html/
1617

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Install
22
=======
33

4-
[![Python package](https://github.com/chdemko/pandoc-numbering/workflows/Python%20package/badge.svg?branch=develop)](https://github.com/chdemko/pandoc-numbering/actions/workflows/python-package.yml)
4+
[![Python package](https://img.shields.io/github/actions/workflow/status/chdemko/pandoc-numbering/python-package.yml?logo=github&branch=develop)](https://github.com/chdemko/pandoc-numbering/actions/workflows/python-package.yml)
55
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
66
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
77
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://pypi.org/project/black/)
88
[![Coveralls](https://img.shields.io/coveralls/github/chdemko/pandoc-numbering/develop.svg?logo=Codecov&logoColor=white)](https://coveralls.io/github/chdemko/pandoc-numbering?branch=develop)
99
[![Scrutinizer](https://img.shields.io/scrutinizer/g/chdemko/pandoc-numbering.svg?logo=scrutinizer)](https://scrutinizer-ci.com/g/chdemko/pandoc-numbering/)
10-
[![Code Climate](https://codeclimate.com/github/chdemko/pandoc-numbering/badges/gpa.svg)](https://codeclimate.com/github/chdemko/pandoc-numbering/)
10+
[![Code Climate](https://img.shields.io/codeclimate/maintainability/chdemko/pandoc-numbering?logo=codeclimate&barnch=develop)](https://codeclimate.com/github/chdemko/pandoc-numbering/)
1111
[![CodeFactor](https://img.shields.io/codefactor/grade/github/chdemko/pandoc-numbering/develop.svg?logo=codefactor)](https://www.codefactor.io/repository/github/chdemko/pandoc-numbering)
1212
[![Codacy](https://img.shields.io/codacy/grade/36051716c52147bca7a7f4c1ca6bc998.svg?logo=codacy)](https://app.codacy.com/gh/chdemko/pandoc-numbering/dashboard)
1313
[![PyPI version](https://img.shields.io/pypi/v/pandoc-numbering.svg?logo=pypi&logoColor=white)](https://pypi.org/project/pandoc-numbering/)
@@ -16,7 +16,7 @@ Install
1616
[![Downloads](https://img.shields.io/pypi/dm/pandoc-numbering?logo=pypi&logoColor=white)](https://pepy.tech/project/pandoc-numbering)
1717
[![Development Status](https://img.shields.io/pypi/status/pandoc-numbering.svg?logo=pypi&logoColor=white)](https://pypi.org/project/pandoc-numbering/)
1818
[![Python version](https://img.shields.io/pypi/pyversions/pandoc-numbering.svg?logo=Python&logoColor=white)](https://pypi.org/project/pandoc-numbering/)
19-
[![Pandoc version](https://img.shields.io/badge/pandoc-2.14%20|%202.15%20|%202.16%20|%202.17%20|%202.18%20|%202.19%20|%203.0%20|%203.1%20|%203.2%20|%203.3%20|%203.4%20|%203.5-blue.svg?logo=markdown)](https://pandoc.org/)
19+
[![Pandoc version](https://img.shields.io/badge/pandoc-2.14%20..%203.6-blue.svg?logo=markdown)](https://pandoc.org/)
2020
[![Latest release](https://img.shields.io/github/release-date/chdemko/pandoc-numbering.svg?logo=github)](https://github.com/chdemko/pandoc-numbering/releases)
2121
[![Last commit](https://img.shields.io/github/last-commit/chdemko/pandoc-numbering/develop?logo=github)](https://github.com/chdemko/pandoc-numbering/commit/develop/)
2222
[![Repo Size](https://img.shields.io/github/repo-size/chdemko/pandoc-numbering.svg?logo=github)](http://pandoc-numbering.readthedocs.io/en/latest/)

pyproject.toml

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Homepage = "https://github.com/chdemko/pandoc-numbering"
4747
Documentation = "https://pandoc-numbering.readthedocs.io/"
4848
Repository = "https://github.com/chdemko/pandoc-numbering"
4949
Issues = "https://github.com/chdemko/pandoc-numbering/issues"
50+
Coverage = "https://coveralls.io/github/chdemko/pandoc-numbering"
5051

5152
[project.scripts]
5253
pandoc-numbering = "pandoc_numbering:main"
@@ -72,16 +73,16 @@ dependencies = [
7273
"black[jupyter]~=24.10",
7374
# Style checkers
7475
"doc8~=1.1",
75-
"mypy~=1.12",
76+
"mypy~=1.13",
7677
"flake8~=7.1",
7778
"flake8-pyproject~=1.2",
7879
"flake8-annotations-complexity~=0.0",
7980
"flake8-black~=0.3",
8081
"flake8-blind-except~=0.2",
81-
"flake8-bugbear~=24.8",
82+
"flake8-bugbear~=24.10",
8283
"flake8-builtins~=2.5",
8384
"flake8-cognitive-complexity~=0.1",
84-
"flake8-comprehensions~=3.15",
85+
"flake8-comprehensions~=3.16",
8586
"flake8-docstrings~=1.7",
8687
"flake8-expression-complexity~=0.0",
8788
"flake8-fixme~=1.1",
@@ -100,7 +101,7 @@ dependencies = [
100101
"pydoclint[flake8]~=0.5",
101102
"teyit~=0.4",
102103
"refurb~=2.0",
103-
"ruff~=0.7"
104+
"ruff~=0.8"
104105
]
105106

106107
[tool.hatch.envs.hatch-static-analysis.scripts]
@@ -212,21 +213,23 @@ arg-type-hints-in-docstring = false
212213
style = "numpy"
213214

214215
[tool.mypy]
215-
disallow_any_generics = true
216-
disallow_subclassing_any = true
217-
# disallow_untyped_calls = true
218-
# disallow_untyped_defs = true
219-
# disallow_incomplete_defs = true
220-
# check_untyped_defs = true
221-
disallow_untyped_decorators = true
222216
ignore_missing_imports = true
223217
no_implicit_optional = true
224-
no_implicit_reexport = true
225-
warn_redundant_casts = true
226-
warn_return_any = true
227218
# equivalent to --strict option
228219
warn_unused_configs = true
220+
disallow_any_generics = true
221+
disallow_subclassing_any = true
222+
disallow_untyped_calls = true
223+
disallow_untyped_defs = true
224+
disallow_incomplete_defs = true
225+
check_untyped_defs = true
226+
disallow_untyped_decorators = true
227+
warn_redundant_casts = true
229228
warn_unused_ignores = true
229+
warn_return_any = true
230+
no_implicit_reexport = true
231+
strict_equality = true
232+
extra_checks = true
230233
mypy_path = "src"
231234

232235
[[tool.mypy.overrides]]

src/pandoc_numbering/_main.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class Numbered:
8383
"_description",
8484
"_category",
8585
"_basic_category",
86+
"_classes",
8687
"_first_section_level",
8788
"_last_section_level",
8889
"_leading",
@@ -272,6 +273,7 @@ def __init__(self, elem: Element, doc: Doc):
272273
self._description = None
273274
self._category = None
274275
self._basic_category = None
276+
self._classes = None
275277
self._first_section_level = None
276278
self._last_section_level = None
277279
self._leading = None
@@ -402,11 +404,16 @@ def _compute_number(self):
402404
self._number = str(self._doc.count[self._category])
403405

404406
def _compute_tag(self):
407+
self._classes = [
408+
self._category[:-1].replace(":", "-").replace(".", "-") + "-" + self._number
409+
]
410+
405411
# Determine the final tag
406412
if self._match.group("name") is None:
407413
self._tag = self._category + self._number
408414
else:
409415
self._tag = self._basic_category + ":" + self._match.group("name")
416+
self._classes.append(self._basic_category + "-" + self._match.group("name"))
410417

411418
# Compute collections
412419
if self._basic_category not in self._doc.collections:
@@ -469,7 +476,7 @@ def _compute_data(self):
469476
Span(),
470477
Span(
471478
identifier=self._tag,
472-
classes=["pandoc-numbering-text"] + classes,
479+
classes=["pandoc-numbering-text"] + classes + self._classes,
473480
),
474481
]
475482
)
@@ -479,7 +486,7 @@ def _compute_data(self):
479486
Span(identifier=self._alias),
480487
Span(
481488
identifier=self._tag,
482-
classes=["pandoc-numbering-text"] + classes,
489+
classes=["pandoc-numbering-text"] + classes + self._classes,
483490
),
484491
]
485492
)

tests/test_listings_meta.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ def test_listing_classic(self):
3232
- [[Exercise 1]{.pandoc-numbering-entry .exercise}](#exercise:1)
3333
- [[Title]{.pandoc-numbering-entry .exercise}](#exercise:2)
3434
35-
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
35+
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
3636
37-
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
37+
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
3838
""",
3939
)
4040

@@ -68,9 +68,9 @@ def test_listing_identifier_false(self):
6868
- [[Exercise 1]{.pandoc-numbering-entry .exercise}](#exercise:1)
6969
- [[Title]{.pandoc-numbering-entry .exercise}](#exercise:2)
7070
71-
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
71+
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
7272
73-
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
73+
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
7474
""",
7575
)
7676

@@ -104,9 +104,9 @@ def test_listing_identifier(self):
104104
- [[Exercise 1]{.pandoc-numbering-entry .exercise}](#exercise:1)
105105
- [[Title]{.pandoc-numbering-entry .exercise}](#exercise:2)
106106
107-
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
107+
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
108108
109-
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
109+
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
110110
""",
111111
)
112112

@@ -142,9 +142,9 @@ def test_listing_options(self):
142142
- [[Exercise 1]{.pandoc-numbering-entry .exercise}](#exercise:1)
143143
- [[Title]{.pandoc-numbering-entry .exercise}](#exercise:2)
144144
145-
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
145+
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
146146
147-
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
147+
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
148148
""",
149149
)
150150

@@ -203,9 +203,9 @@ def test_listing_latex(self):
203203
204204
`\ifdef{\mainmatter}{}{\phantomsection\label{list-of-exercises}\listofexercise}`{=tex}
205205
206-
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {1}{\ignorespaces {Exercise}}}`{=tex}[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
206+
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {1}{\ignorespaces {Exercise}}}`{=tex}[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
207207
208-
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {2}{\ignorespaces {Title}}}`{=tex}[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
208+
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {2}{\ignorespaces {Title}}}`{=tex}[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
209209
""",
210210
"latex",
211211
)
@@ -244,9 +244,9 @@ def test_listing_classic_format(self):
244244
- [[1 Exercise]{.pandoc-numbering-entry .exercise}](#exercise:1)
245245
- [[2 Exercise (Title)]{.pandoc-numbering-entry .exercise}](#exercise:2)
246246
247-
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
247+
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
248248
249-
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
249+
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
250250
""",
251251
)
252252

@@ -317,9 +317,9 @@ def test_listing_latex_format(self):
317317
318318
`\ifdef{\mainmatter}{}{\phantomsection\label{list-of-exercises}\listofexercise}`{=tex}
319319
320-
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {1}{\ignorespaces {Exercise}}}`{=tex}[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise}
320+
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {1}{\ignorespaces {Exercise}}}`{=tex}[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
321321
322-
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {2}{\ignorespaces {Exercise (Title)}}}`{=tex}[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise}
322+
`\phantomsection\addcontentsline{exercise}{exercise}{\protect\numberline {2}{\ignorespaces {Exercise (Title)}}}`{=tex}[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
323323
""",
324324
"latex",
325325
)

tests/test_numbering_meta.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ def test_numbering_classes(self):
2929
- myclass
3030
---
3131
32-
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .myclass}
32+
[**Exercise 1**]{#exercise:1 .pandoc-numbering-text .myclass .exercise-1}
3333
34-
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .myclass}
34+
[]{#exercise:title}[**Exercise 2** *(Title)*]{#exercise:2 .pandoc-numbering-text .myclass .exercise-2}
3535
""",
3636
)
3737

@@ -60,9 +60,9 @@ def test_numbering_text(self):
6060
format-text-title: "**%D %d %n/%c: %T %t**"
6161
---
6262
63-
[**Exercise exercise 1/2**]{#exercise:1 .pandoc-numbering-text .exercise}
63+
[**Exercise exercise 1/2**]{#exercise:1 .pandoc-numbering-text .exercise .exercise-1}
6464
65-
[]{#exercise:title}[**Exercise exercise 2/2: Title title**]{#exercise:2 .pandoc-numbering-text .exercise}
65+
[]{#exercise:title}[**Exercise exercise 2/2: Title title**]{#exercise:2 .pandoc-numbering-text .exercise .exercise-2}
6666
""",
6767
)
6868

@@ -111,10 +111,10 @@ def test_numbering_levels(self):
111111
112112
## Second section
113113
114-
[]{#exercise:second-chapter.second-section.1}[**Exercise 2.1**]{#exercise:2.2.1 .pandoc-numbering-text .exercise}
114+
[]{#exercise:second-chapter.second-section.1}[**Exercise 2.1**]{#exercise:2.2.1 .pandoc-numbering-text .exercise .exercise-2-2-1}
115115
116-
[]{#exercise:second-chapter.second-section.title}[**Exercise 2.2** *(Title)*]{#exercise:2.2.2 .pandoc-numbering-text .exercise}
117-
""",
116+
[]{#exercise:second-chapter.second-section.title}[**Exercise 2.2** *(Title)*]{#exercise:2.2.2 .pandoc-numbering-text .exercise .exercise-2-2-2}
117+
""",
118118
)
119119

120120
def test_numbering_sectioning(self):
@@ -160,8 +160,8 @@ def test_numbering_sectioning(self):
160160
161161
## Second section
162162
163-
[]{#exercise:second-chapter.second-section.1}[**Exercise 2.1**]{#exercise:2.2.1 .pandoc-numbering-text .exercise}
163+
[]{#exercise:second-chapter.second-section.1}[**Exercise 2.1**]{#exercise:2.2.1 .pandoc-numbering-text .exercise .exercise-2-2-1}
164164
165-
[]{#exercise:second-chapter.second-section.title}[**Exercise 2.2** *(Title)*]{#exercise:2.2.2 .pandoc-numbering-text .exercise}
165+
[]{#exercise:second-chapter.second-section.title}[**Exercise 2.2** *(Title)*]{#exercise:2.2.2 .pandoc-numbering-text .exercise .exercise-2-2-2}
166166
""",
167167
)

0 commit comments

Comments
 (0)