pelican-linkclass 2.1.4__tar.gz → 2.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pelican-linkclass might be problematic. Click here for more details.

@@ -1,6 +1,16 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ 2.1.6 - 2025-11-11
5
+ ------------------
6
+
7
+ This is a maintenance release. For clarity's sake, the wording in the `README.md` documentation file has been improved.
8
+
9
+ 2.1.5 - 2025-01-20
10
+ ------------------
11
+
12
+ This is a maintenance release. No user-visible changes have been made. This release tests the new system to keep alignment with plugin template via Cruft.
13
+
4
14
  2.1.4 - 2024-04-14
5
15
  ------------------
6
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pelican-linkclass
3
- Version: 2.1.4
3
+ Version: 2.1.6
4
4
  Summary: Pelican plugin to set anchor tag's class attribute to differentiate between internal and external links
5
5
  Keywords: pelican,plugin,link class
6
6
  Author-Email: =?utf-8?q?Rafael_Laboissi=C3=A8re?= <rafael@laboissiere.net>
@@ -10,24 +10,25 @@ Classifier: Environment :: Console
10
10
  Classifier: Framework :: Pelican
11
11
  Classifier: Framework :: Pelican :: Plugins
12
12
  Classifier: Intended Audience :: End Users/Desktop
13
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
13
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.8
17
- Classifier: Programming Language :: Python :: 3.9
18
16
  Classifier: Programming Language :: Python :: 3.10
19
17
  Classifier: Programming Language :: Python :: 3.11
20
18
  Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
21
  Classifier: Topic :: Internet :: WWW/HTTP
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Project-URL: Homepage, https://github.com/pelican-plugins/linkclass
24
- Project-URL: Issue tracker, https://github.com/pelican-plugins/linkclass/issues
24
+ Project-URL: Issue Tracker, https://github.com/pelican-plugins/linkclass/issues
25
+ Project-URL: Changelog, https://github.com/pelican-plugins/linkclass/blob/main/CHANGELOG.md
25
26
  Project-URL: Funding, https://donate.getpelican.com/
26
- Requires-Python: <4.0,>=3.8.1
27
+ Requires-Python: >=3.10
27
28
  Requires-Dist: pelican>=4.5
28
29
  Requires-Dist: py3dns>=3.2
29
- Requires-Dist: markdown>=3.4; extra == "markdown"
30
30
  Provides-Extra: markdown
31
+ Requires-Dist: markdown>=3.4; extra == "markdown"
31
32
  Description-Content-Type: text/markdown
32
33
 
33
34
  Link Class: A Plugin for Pelican
@@ -35,55 +36,50 @@ Link Class: A Plugin for Pelican
35
36
 
36
37
  [![Build Status](https://img.shields.io/github/actions/workflow/status/pelican-plugins/linkclass/main.yml?branch=main)](https://github.com/pelican-plugins/linkclass/actions)
37
38
  [![PyPI Version](https://img.shields.io/pypi/v/pelican-linkclass)](https://pypi.org/project/pelican-linkclass/)
38
- ![License](https://img.shields.io/pypi/l/pelican-linkclass?color=blue)
39
+ [![Downloads](https://img.shields.io/pypi/dm/pelican-linkclass)](https://pypi.org/project/pelican-linkclass/)
40
+ [![License](https://img.shields.io/pypi/l/pelican-linkclass?color=blue)](https://www.gnu.org/licenses/agpl-3.0.en.html)
41
+
42
+ This Pelican plugin lets you to set the class attribute of `<a>` elements (generated in Markdown by `[ext](link)`), depending on whether the link is external (i.e., starts with `http://` or `https://`) or internal to the Pelican-generated site.
39
43
 
40
- This Pelican plugin allows you to set the class attribute of `<a>` elements
41
- (generated in Markdown by `[ext](link)`) according to whether the link is
42
- external (i.e., starts with `http://` or `https://`) or internal to the
43
- Pelican-generated site.
44
+ Currently, this plugin only works with Markdown. It has been tested with version 3.0+ of the Python-Markdown module and may not work with earlier versions.
44
45
 
45
- For now, this plugin only works with Markdown. It has been tested with version
46
- 3.0+ of the Python-Markdown module and may not work with previous versions.
47
46
 
48
47
  Installation
49
48
  ------------
50
49
 
51
- This plugin [is available as a package](https://pypi.org/project/pelican-linkclass/)
52
- at PyPI and can be installed via:
50
+ This plugin [is available as a package](https://pypi.org/project/pelican-linkclass/) at PyPI and can be installed via:
53
51
 
54
52
  ```
55
53
  python -m pip install pelican-linkclass
56
54
  ```
57
55
 
56
+ As long as there is no `PLUGINS` setting in the Pelican settings file, the newly installed plugin should be detected and enabled automatically. Otherwise, you must add `linkclass` to your existing `PLUGINS` list. For more information, please refer to the [How to Use Plugins](https://docs.getpelican.com/en/latest/plugins.html#how-to-use-plugins) documentation.
57
+
58
+
58
59
  Configuration
59
60
  -------------
60
61
 
61
- In order to avoid clashes with already-defined classes in the user CSS
62
- style sheets, it is possible to specify the name of the classes that will
63
- be used. They can be specified in the Pelican setting file with the
64
- `LINKCLASS` variable, which must be defined as a list of tuples, like this:
62
+ To avoid clashing with classes already defined in user CSS style sheets, it is possible to specify the names of the classes that will be used. This can be done in the Pelican settings file by defining the `LINKCLASS` variable as a list of tuples, such as in this example:
65
63
 
66
64
  ```python
67
65
  'LINKCLASS' = (('EXTERNAL_CLASS', 'name-of-the-class-for-external-links'),
68
66
  ('INTERNAL_CLASS', 'name-of-the-class-for-internal-links'))
69
67
  ```
70
68
 
71
- The default values for `EXTERNAL_CLASS` and `INTERNAL_CLASS` are,
72
- respectively, `'external'` and `'internal'`.
69
+ The default values for `EXTERNAL_CLASS` and `INTERNAL_CLASS` are, respectively, `'external'` and `'internal'`.
70
+
73
71
 
74
72
  Styling Hyperlinks
75
73
  ------------------
76
74
 
77
- One of the possible uses of this plugins is for styling. Suppose that we
78
- have the following Markdown content in your article:
75
+ One possible use of this plugin is for styling. Suppose that we have the following Markdown content in your article:
79
76
 
80
77
  ```markdown
81
78
  This is an [internal](internal) link and this is an
82
79
  [external](http://external.com) link.
83
80
  ```
84
81
 
85
- If the default configuration variable values are used, then one possible
86
- CSS setting could be:
82
+ Using the default configuration variable values, a possible CSS setting could be:
87
83
 
88
84
  ```css
89
85
  a.external:before {
@@ -92,16 +88,13 @@ a.external:before {
92
88
  }
93
89
  ```
94
90
 
95
- (The file `external-link.png` is also distributed with this plugin. To use it,
96
- copy it to the appropriate place in your web site source tree, for instance
97
- in `theme/static/images/`.)
91
+ (The `external-link.png` file is also distributed with this plugin. To use it, copy it to the appropriate location in your website's source tree, for instance in the `theme/static/images/` directory.)
98
92
 
99
- Then, the result will look like the following:
93
+ The result will then look like this:
100
94
 
101
95
  ![figure](https://github.com/pelican-plugins/linkclass/raw/main/linkclass-example.png)
102
96
 
103
- Note that this plugin also works with reference-style links, as in the
104
- following example:
97
+ Note that this plugin also works with reference-style links, as in the following example:
105
98
 
106
99
  ```markdown
107
100
  This is an [internal][internal] link and this is an
@@ -111,6 +104,7 @@ This is an [internal][internal] link and this is an
111
104
  [external]: http://external.com
112
105
  ```
113
106
 
107
+
114
108
  Contributing
115
109
  ------------
116
110
 
@@ -121,6 +115,7 @@ To start contributing to this plugin, review the [Contributing to Pelican][] doc
121
115
  [existing issues]: https://github.com/pelican-plugins/linkclass/issues
122
116
  [Contributing to Pelican]: https://docs.getpelican.com/en/latest/contribute.html
123
117
 
118
+
124
119
  Acknowledgments
125
120
  ---------------
126
121
 
@@ -132,10 +127,12 @@ Many thanks to [Yuliya Bagriy][] for setting up the package for [PyPI][], to [Lu
132
127
  [pytest]: https://pytest.org/
133
128
  [Justin Mayer]: https://github.com/justinmayer
134
129
 
130
+
135
131
  Author
136
132
  ------
137
133
 
138
- Copyright © 2015, 2017, 2019, 2021-2023 Rafael Laboissière (<rafael@laboissiere.net>)
134
+ Copyright © 2015, 2017, 2019, 2021-2023, 2025 Rafael Laboissière (<rafael@laboissiere.net>)
135
+
139
136
 
140
137
  License
141
138
  -------
@@ -3,55 +3,50 @@ Link Class: A Plugin for Pelican
3
3
 
4
4
  [![Build Status](https://img.shields.io/github/actions/workflow/status/pelican-plugins/linkclass/main.yml?branch=main)](https://github.com/pelican-plugins/linkclass/actions)
5
5
  [![PyPI Version](https://img.shields.io/pypi/v/pelican-linkclass)](https://pypi.org/project/pelican-linkclass/)
6
- ![License](https://img.shields.io/pypi/l/pelican-linkclass?color=blue)
6
+ [![Downloads](https://img.shields.io/pypi/dm/pelican-linkclass)](https://pypi.org/project/pelican-linkclass/)
7
+ [![License](https://img.shields.io/pypi/l/pelican-linkclass?color=blue)](https://www.gnu.org/licenses/agpl-3.0.en.html)
7
8
 
8
- This Pelican plugin allows you to set the class attribute of `<a>` elements
9
- (generated in Markdown by `[ext](link)`) according to whether the link is
10
- external (i.e., starts with `http://` or `https://`) or internal to the
11
- Pelican-generated site.
9
+ This Pelican plugin lets you to set the class attribute of `<a>` elements (generated in Markdown by `[ext](link)`), depending on whether the link is external (i.e., starts with `http://` or `https://`) or internal to the Pelican-generated site.
10
+
11
+ Currently, this plugin only works with Markdown. It has been tested with version 3.0+ of the Python-Markdown module and may not work with earlier versions.
12
12
 
13
- For now, this plugin only works with Markdown. It has been tested with version
14
- 3.0+ of the Python-Markdown module and may not work with previous versions.
15
13
 
16
14
  Installation
17
15
  ------------
18
16
 
19
- This plugin [is available as a package](https://pypi.org/project/pelican-linkclass/)
20
- at PyPI and can be installed via:
17
+ This plugin [is available as a package](https://pypi.org/project/pelican-linkclass/) at PyPI and can be installed via:
21
18
 
22
19
  ```
23
20
  python -m pip install pelican-linkclass
24
21
  ```
25
22
 
23
+ As long as there is no `PLUGINS` setting in the Pelican settings file, the newly installed plugin should be detected and enabled automatically. Otherwise, you must add `linkclass` to your existing `PLUGINS` list. For more information, please refer to the [How to Use Plugins](https://docs.getpelican.com/en/latest/plugins.html#how-to-use-plugins) documentation.
24
+
25
+
26
26
  Configuration
27
27
  -------------
28
28
 
29
- In order to avoid clashes with already-defined classes in the user CSS
30
- style sheets, it is possible to specify the name of the classes that will
31
- be used. They can be specified in the Pelican setting file with the
32
- `LINKCLASS` variable, which must be defined as a list of tuples, like this:
29
+ To avoid clashing with classes already defined in user CSS style sheets, it is possible to specify the names of the classes that will be used. This can be done in the Pelican settings file by defining the `LINKCLASS` variable as a list of tuples, such as in this example:
33
30
 
34
31
  ```python
35
32
  'LINKCLASS' = (('EXTERNAL_CLASS', 'name-of-the-class-for-external-links'),
36
33
  ('INTERNAL_CLASS', 'name-of-the-class-for-internal-links'))
37
34
  ```
38
35
 
39
- The default values for `EXTERNAL_CLASS` and `INTERNAL_CLASS` are,
40
- respectively, `'external'` and `'internal'`.
36
+ The default values for `EXTERNAL_CLASS` and `INTERNAL_CLASS` are, respectively, `'external'` and `'internal'`.
37
+
41
38
 
42
39
  Styling Hyperlinks
43
40
  ------------------
44
41
 
45
- One of the possible uses of this plugins is for styling. Suppose that we
46
- have the following Markdown content in your article:
42
+ One possible use of this plugin is for styling. Suppose that we have the following Markdown content in your article:
47
43
 
48
44
  ```markdown
49
45
  This is an [internal](internal) link and this is an
50
46
  [external](http://external.com) link.
51
47
  ```
52
48
 
53
- If the default configuration variable values are used, then one possible
54
- CSS setting could be:
49
+ Using the default configuration variable values, a possible CSS setting could be:
55
50
 
56
51
  ```css
57
52
  a.external:before {
@@ -60,16 +55,13 @@ a.external:before {
60
55
  }
61
56
  ```
62
57
 
63
- (The file `external-link.png` is also distributed with this plugin. To use it,
64
- copy it to the appropriate place in your web site source tree, for instance
65
- in `theme/static/images/`.)
58
+ (The `external-link.png` file is also distributed with this plugin. To use it, copy it to the appropriate location in your website's source tree, for instance in the `theme/static/images/` directory.)
66
59
 
67
- Then, the result will look like the following:
60
+ The result will then look like this:
68
61
 
69
62
  ![figure](https://github.com/pelican-plugins/linkclass/raw/main/linkclass-example.png)
70
63
 
71
- Note that this plugin also works with reference-style links, as in the
72
- following example:
64
+ Note that this plugin also works with reference-style links, as in the following example:
73
65
 
74
66
  ```markdown
75
67
  This is an [internal][internal] link and this is an
@@ -79,6 +71,7 @@ This is an [internal][internal] link and this is an
79
71
  [external]: http://external.com
80
72
  ```
81
73
 
74
+
82
75
  Contributing
83
76
  ------------
84
77
 
@@ -89,6 +82,7 @@ To start contributing to this plugin, review the [Contributing to Pelican][] doc
89
82
  [existing issues]: https://github.com/pelican-plugins/linkclass/issues
90
83
  [Contributing to Pelican]: https://docs.getpelican.com/en/latest/contribute.html
91
84
 
85
+
92
86
  Acknowledgments
93
87
  ---------------
94
88
 
@@ -100,10 +94,12 @@ Many thanks to [Yuliya Bagriy][] for setting up the package for [PyPI][], to [Lu
100
94
  [pytest]: https://pytest.org/
101
95
  [Justin Mayer]: https://github.com/justinmayer
102
96
 
97
+
103
98
  Author
104
99
  ------
105
100
 
106
- Copyright © 2015, 2017, 2019, 2021-2023 Rafael Laboissière (<rafael@laboissiere.net>)
101
+ Copyright © 2015, 2017, 2019, 2021-2023, 2025 Rafael Laboissière (<rafael@laboissiere.net>)
102
+
107
103
 
108
104
  License
109
105
  -------
@@ -15,7 +15,6 @@
15
15
  # You should have received a copy of the GNU Affero General Public License
16
16
  # along with this program. If not, see http://www.gnu.org/licenses/.
17
17
 
18
-
19
18
  from pelican import signals
20
19
 
21
20
  from .mdx_linkclass import LC_CONFIG, LinkClassExtension
@@ -1,6 +1,6 @@
1
1
  """Markdown extension for the Link Class plugin for Pelican."""
2
2
 
3
- # Copyright (C) 2015, 2017, 2019, 2023 Rafael Laboissière
3
+ # Copyright (C) 2015, 2017, 2019, 2023, 2025 Rafael Laboissière
4
4
  #
5
5
  # This program is free software: you can redistribute it and/or modify it
6
6
  # under the terms of the GNU General Affero Public License as published by
@@ -15,7 +15,6 @@
15
15
  # You should have received a copy of the GNU Affero General Public License
16
16
  # along with this program. If not, see http://www.gnu.org/licenses/.
17
17
 
18
-
19
18
  import re
20
19
 
21
20
  from markdown.extensions import Extension
@@ -37,7 +36,7 @@ def add_class(elm, config):
37
36
  """Utlity function for adding the appropriate class attribute."""
38
37
  try:
39
38
  m = re.match("^https?://", elm.get("href"))
40
- elm.set("class", m and config["EXTERNAL_CLASS"] or config["INTERNAL_CLASS"])
39
+ elm.set("class", (m and config["EXTERNAL_CLASS"]) or config["INTERNAL_CLASS"])
41
40
  except AttributeError:
42
41
  pass
43
42
  return elm
@@ -1,6 +1,6 @@
1
1
  """Unit testing suite for the Link Class Plugin."""
2
2
 
3
- # Copyright (C) 2015, 2017, 2019, 2021-2023 Rafael Laboissière <rafael@laboissiere.net> # noqa: E501
3
+ # Copyright (C) 2015, 2017, 2019, 2021-2023, 2025 Rafael Laboissière <rafael@laboissiere.net> # noqa: E501
4
4
  #
5
5
  # This program is free software: you can redistribute it and/or modify it
6
6
  # under the terms of the GNU General Affero Public License as published by
@@ -65,6 +65,7 @@ class TestLinkClass(unittest.TestCase):
65
65
  """Class for testing the <a> output elements generated by the Link Class plugin."""
66
66
 
67
67
  def setUp(self, override=None):
68
+ """Initialize the configuration."""
68
69
  self.output_path = mkdtemp(prefix=TEST_DIR_PREFIX)
69
70
  self.content_path = mkdtemp(prefix=TEST_DIR_PREFIX)
70
71
  settings = {
@@ -87,44 +88,22 @@ class TestLinkClass(unittest.TestCase):
87
88
  os.path.join(self.content_path, f"{TEST_FILE_STEM}.md"),
88
89
  "w",
89
90
  ) as fid:
90
- template = """Title: Test
91
+ fid.write(f"""Title: Test
91
92
  Date: 1970-01-01
92
93
 
93
- This is an [{}]({}), inline-style link.
94
- This is an [{}]({}), inline-style link (with http URL).
95
- This is an [{}]({}), inline-style link (with https URL).
96
-
97
- This is an [{}][{}], reference-style link.
98
- This is an [{}][{}], reference-style link (with http URL).
99
- This is an [{}][{}], reference-style link (with https URL).
100
-
101
- [{}]: {}
102
- [{}]: {}
103
- [{}]: {}
104
-
105
- """
106
- fid.write(
107
- template.format(
108
- INTERNAL_INLINE_TEXT,
109
- INTERNAL_INLINE_LINK,
110
- EXTERNAL_INLINE_TEXT_HTTP,
111
- EXTERNAL_INLINE_LINK_HTTP,
112
- EXTERNAL_INLINE_TEXT_HTTPS,
113
- EXTERNAL_INLINE_LINK_HTTP,
114
- INTERNAL_REFERENCE_TEXT,
115
- INTERNAL_REFERENCE_LABEL,
116
- EXTERNAL_REFERENCE_TEXT_HTTP,
117
- EXTERNAL_REFERENCE_LABEL_HTTP,
118
- EXTERNAL_REFERENCE_TEXT_HTTPS,
119
- EXTERNAL_REFERENCE_LABEL_HTTPS,
120
- INTERNAL_REFERENCE_LABEL,
121
- INTERNAL_REFERENCE_LINK,
122
- EXTERNAL_REFERENCE_LABEL_HTTP,
123
- EXTERNAL_REFERENCE_LINK_HTTP,
124
- EXTERNAL_REFERENCE_LABEL_HTTPS,
125
- EXTERNAL_REFERENCE_LINK_HTTPS,
126
- )
127
- )
94
+ This is an [{INTERNAL_INLINE_TEXT}]({INTERNAL_INLINE_LINK}), inline-style link.
95
+ This is an [{EXTERNAL_INLINE_TEXT_HTTP}]({EXTERNAL_INLINE_LINK_HTTP}), inline-style link (with http URL).
96
+ This is an [{EXTERNAL_INLINE_TEXT_HTTPS}]({EXTERNAL_INLINE_LINK_HTTP}), inline-style link (with https URL).
97
+
98
+ This is an [{INTERNAL_REFERENCE_TEXT}][{INTERNAL_REFERENCE_LABEL}], reference-style link.
99
+ This is an [{EXTERNAL_REFERENCE_TEXT_HTTP}][{EXTERNAL_REFERENCE_LABEL_HTTP}], reference-style link (with http URL).
100
+ This is an [{EXTERNAL_REFERENCE_TEXT_HTTPS}][{EXTERNAL_REFERENCE_LABEL_HTTPS}], reference-style link (with https URL).
101
+
102
+ [{INTERNAL_REFERENCE_LABEL}]: {INTERNAL_REFERENCE_LINK}
103
+ [{EXTERNAL_REFERENCE_LABEL_HTTP}]: {EXTERNAL_REFERENCE_LINK_HTTP}
104
+ [{EXTERNAL_REFERENCE_LABEL_HTTPS}]: {EXTERNAL_REFERENCE_LINK_HTTPS}
105
+
106
+ """)
128
107
 
129
108
  # Run the Pelican instance
130
109
  self.settings = read_settings(override=settings)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pelican-linkclass"
3
- version = "2.1.4"
3
+ version = "2.1.6"
4
4
  description = "Pelican plugin to set anchor tag's class attribute to differentiate between internal and external links"
5
5
  authors = [
6
6
  { name = "Rafael Laboissière", email = "rafael@laboissiere.net" },
@@ -17,18 +17,18 @@ classifiers = [
17
17
  "Framework :: Pelican",
18
18
  "Framework :: Pelican :: Plugins",
19
19
  "Intended Audience :: End Users/Desktop",
20
- "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
20
+ "License :: OSI Approved :: GNU Affero General Public License v3",
21
21
  "Operating System :: OS Independent",
22
22
  "Programming Language :: Python :: 3",
23
- "Programming Language :: Python :: 3.8",
24
- "Programming Language :: Python :: 3.9",
25
23
  "Programming Language :: Python :: 3.10",
26
24
  "Programming Language :: Python :: 3.11",
27
25
  "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Programming Language :: Python :: 3.14",
28
28
  "Topic :: Internet :: WWW/HTTP",
29
29
  "Topic :: Software Development :: Libraries :: Python Modules",
30
30
  ]
31
- requires-python = ">=3.8.1,<4.0"
31
+ requires-python = ">=3.10"
32
32
  dependencies = [
33
33
  "pelican>=4.5",
34
34
  "py3dns>=3.2",
@@ -40,6 +40,7 @@ text = "AGPL-3.0"
40
40
  [project.urls]
41
41
  Homepage = "https://github.com/pelican-plugins/linkclass"
42
42
  "Issue Tracker" = "https://github.com/pelican-plugins/linkclass/issues"
43
+ Changelog = "https://github.com/pelican-plugins/linkclass/blob/main/CHANGELOG.md"
43
44
  Funding = "https://donate.getpelican.com/"
44
45
 
45
46
  [project.optional-dependencies]
@@ -47,17 +48,17 @@ markdown = [
47
48
  "markdown>=3.4",
48
49
  ]
49
50
 
50
- [tool.pdm.dev-dependencies]
51
+ [dependency-groups]
51
52
  lint = [
52
- "black>=23.10.1",
53
- "invoke>=2.2.0",
54
- "ruff>=0.1.3",
53
+ "invoke>=2.2",
54
+ "ruff>=0.14.2,<1.0.0",
55
55
  ]
56
56
  test = [
57
+ "invoke>=2.2",
57
58
  "markdown>=3.4",
58
59
  "pytest>=7.0",
59
60
  "pytest-cov>=4.0",
60
- "pytest-sugar>=0.9.7",
61
+ "pytest-sugar>=1.0",
61
62
  ]
62
63
 
63
64
  [tool.pdm.build]
@@ -71,7 +72,7 @@ includes = [
71
72
  "pelican/",
72
73
  ]
73
74
  excludes = [
74
- "tasks.py",
75
+ "**/.DS_Store",
75
76
  ]
76
77
 
77
78
  [tool.autopub]
@@ -80,7 +81,7 @@ git-username = "botpub"
80
81
  git-email = "52496925+botpub@users.noreply.github.com"
81
82
  append-github-contributor = true
82
83
 
83
- [tool.ruff]
84
+ [tool.ruff.lint]
84
85
  select = [
85
86
  "B",
86
87
  "BLE",
@@ -106,13 +107,13 @@ select = [
106
107
  ]
107
108
  ignore = [
108
109
  "D100",
109
- "D102",
110
110
  "D104",
111
111
  "D203",
112
112
  "D213",
113
+ "ISC001",
113
114
  ]
114
115
 
115
- [tool.ruff.isort]
116
+ [tool.ruff.lint.isort]
116
117
  combine-as-imports = true
117
118
  force-sort-within-sections = true
118
119
  known-first-party = [