Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: true
matrix:
python-version: ["3.9"]
python-version: ["3.10"]
poetry-version: ["2.1"]
os: ["ubuntu-latest"]

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: true
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
poetry-version: ["2.1"]
os: [ubuntu-latest, macos-latest, windows-latest]

Expand Down
4 changes: 1 addition & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# -- Project information -----------------------------------------------------

project = "SnakeMD"
copyright = "2021-2023, The Renegade Coder"
copyright = "2021-2025, The Renegade Coder"
author = "The Renegade Coder"

# -- General configuration ---------------------------------------------------
Expand Down Expand Up @@ -71,8 +71,6 @@

intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}

html_theme_options = {"display_version": True}

# -- ReadTheDocs Configuration

# Set canonical URL from the Read the Docs Domain
Expand Down
20 changes: 20 additions & 0 deletions docs/docs/template-api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ a template system is slowly being developed for folks who
are looking for a bit more convenience. Ultimately, these
folks can expect support for typical document sections such
as tables of contents, footers, copyrights, and more.
In addition, because the core element library is designed
to adhere as closely to vanilla Markdown as possible,
folks can also find extended markdown features here,
such as checklists, alerts, and more.

Template Interface
------------------
Expand Down Expand Up @@ -37,6 +41,22 @@ make use of any external dependencies. In the latter
case, that restriction does not apply. With that said,
the existing templates can be found below.

Alert
^^^^^

.. autoclass:: snakemd.Alert
:members:
:undoc-members:
:show-inheritance:

Checklist
^^^^^^^^^

.. autoclass:: snakemd.Checklist
:members:
:undoc-members:
:show-inheritance:

CSVTable
^^^^^^^^

Expand Down
11 changes: 6 additions & 5 deletions docs/python-support.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Python,3.13,3.12,3.11,3.10,3.9,3.8
SnakeMD >= 2.2.1,Yes,Yes,Yes,Yes,Yes,
SnakeMD 2.0 - 2.2.0,,,Yes,Yes,Yes,Yes
SnakeMD 0.12 - 0.15,,,Yes,Yes,Yes,Yes
SnakeMD < 0.12,,,,Yes,Yes,Yes
Python,3.14,3.13,3.12,3.11,3.10,3.9,3.8
SnakeMD >= 2.4.0,Yes,Yes,Yes,Yes,Yes
SnakeMD 2.2.1 - 2.3,,Yes,Yes,Yes,Yes,Yes
SnakeMD 2.0 - 2.2.0,,,,Yes,Yes,Yes,Yes
SnakeMD 0.12 - 0.15,,,,Yes,Yes,Yes,Yes
SnakeMD < 0.12,,,,,Yes,Yes,Yes
14 changes: 13 additions & 1 deletion docs/version-history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,22 @@ as follows:
v2.x
----

* v2.4.0 [:pr:`174`, :pr:`175`, :pr:`178`, :pr:`179`, :pr:`180`]

* Fixed an issue where quotes would crash when inline elements were provided as input
* Added the alerts feature as a new template
* Added the checklist feature to templates
* Deprecated the :code:`checked` parameter in :code:`MDList`
* Added a handful of convenience methods to the document API to expose the new templates
* Dropped support for Python 3.9 due to deprecation
* Added supported for Python 3.14
* Added new templates to docs
* Updated a variety of developmental dependencies

* v2.4.0b1 [:pr:`171`]

* Upgraded Poetry file format to 2.x
* Added `breakline()` and `unbreakline()` methods
* Added :code:`breakline()` and :code:`unbreakline()` methods
* Fixed issue where inserting a link in a paragraph would strip styles

* v2.3.0 [:pr:`168`]
Expand Down
905 changes: 469 additions & 436 deletions poetry.lock

Large diffs are not rendered by default.

24 changes: 12 additions & 12 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
name = "SnakeMD"
description = "A markdown generation library for Python."
license = "MIT"
version = "2.4.0b1"
version = "2.4.0"
dynamic = ["classifiers"]
readme = "README.md"
authors = [{name = "Jeremy Grifski", email = "jeremy.grifski@therenegadecoder.com"}]
requires-python = '>=3.9,<4.0'
requires-python = '>=3.10,<4.0'
dependencies = []

[project.urls]
Expand All @@ -21,35 +21,35 @@ Changelog = "https://www.snakemd.io/en/latest/version-history/"
classifiers=[
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Operating System :: OS Independent",
"Topic :: Documentation :: Sphinx",
]
requires-poetry = '>=2.0,<3.0'

[tool.poetry.group.test.dependencies]
coverage = "^7.2"
markdown = "^3.4"
pytest = "^7.3"
coverage = "^7.10"
markdown = "^3.9"
pytest = "^8.4"

[tool.poetry.group.docs.dependencies]
sphinx = "^6.2"
sphinx-issues = "^3.0"
sphinx_rtd_theme = "^1.2"
sphinx = "^7.4"
sphinx-issues = "^5.0"
sphinx_rtd_theme = "^3.0"

[tool.poetry.group.analysis.dependencies]
black = "^23.3"
black = "^25.9"
isort = "^5.12"
pydocstringformatter = "^v0.7"
pylint = "^3.3"

# Pytest settings
[tool.pytest.ini_options]
minversion = "7.3"
minversion = "8.4"
testpaths = [
"tests"
]
Expand All @@ -71,7 +71,7 @@ fail_under = 95
# Black formatting settings
[tool.black]
line-length = 88
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
target-version = ['py310', 'py311', 'py312', 'py313', 'py314']

# Pylint settings
[tool.pylint.format]
Expand Down
2 changes: 1 addition & 1 deletion snakemd/templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ def __str__(self):
output = []
i = 1
for item in self._items:
if isinstance(item, (Checklist, MDList)):
if isinstance(item, Checklist | MDList):
item._space = self._space + " " * 2
output.append(str(item))
else:
Expand Down