1
0
mirror of https://github.com/venthur/blag.git synced 2025-11-26 13:13:06 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
4cc23cea5f add strikethru and footnotes functionality 2024-09-05 21:05:02 -07:00
14 changed files with 66 additions and 158 deletions

View File

@@ -20,7 +20,6 @@ jobs:
- "3.10" - "3.10"
- "3.11" - "3.11"
- "3.12" - "3.12"
- "3.13"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

View File

@@ -1,20 +1,13 @@
# Changelog # Changelog
## [2.3.3] -- 2025-04-27
* Fixed Atom feed encoding to 'utf-8' ## [2.4.0] -- 2024-09-05
* Added Python 3.13 to github actions
* `requirements*.txt` files are handled by pip-tools. Updates are handled by
make update-requirements based on the dependencies described in the
pyproject.toml
## [2.3.2] -- 2024-10-13 * added strikethru and footnotes to blag renders.
## [unreleased] --
* Ignore FileNotFoundError when trying to get the last modified time of files
in directories. This happens for example with temporary emacs files.
* Added changelog to docs * Added changelog to docs
* removed ruff's target-version from pyproject.toml, this value defaults to the
projects requires-python
## [2.3.1] -- 2024-07-06 ## [2.3.1] -- 2024-07-06

View File

@@ -53,11 +53,6 @@ update-pygmentize: $(VENV)
$(BIN)/pygmentize -f html -S default > blag/static/code-light.css $(BIN)/pygmentize -f html -S default > blag/static/code-light.css
$(BIN)/pygmentize -f html -S monokai > blag/static/code-dark.css $(BIN)/pygmentize -f html -S monokai > blag/static/code-dark.css
.PHONY: update-requirements
update-requirements: $(VENV)
$(BIN)/pip-compile --upgrade --no-annotate --strip-extras --output-file requirements.txt
$(BIN)/pip-compile --upgrade --no-annotate --strip-extras --extra dev --output-file requirements-dev.txt
.PHONY: docs .PHONY: docs
docs: $(VENV) docs: $(VENV)
$(BIN)/mkdocs build $(BIN)/mkdocs build

View File

@@ -396,7 +396,7 @@ def generate_feed(
) )
with open(f"{output_dir}/atom.xml", "w") as fh: with open(f"{output_dir}/atom.xml", "w") as fh:
feed.write(fh, encoding='utf-8') feed.write(fh, encoding="utf8")
def generate_index( def generate_index(

View File

@@ -42,12 +42,7 @@ def get_last_modified(dirs: list[str]) -> float:
for dir in dirs: for dir in dirs:
for root, dirs, files in os.walk(dir): for root, dirs, files in os.walk(dir):
for f in files: for f in files:
try:
mtime = os.stat(os.path.join(root, f)).st_mtime mtime = os.stat(os.path.join(root, f)).st_mtime
except FileNotFoundError:
# ignore files that have been deleted since the os.walk
# call (for example temporary emacs files)
continue
if mtime > last_mtime: if mtime > last_mtime:
last_mtime = mtime last_mtime = mtime

View File

@@ -30,6 +30,8 @@ def markdown_factory() -> Markdown:
""" """
md = Markdown( md = Markdown(
extensions=[ extensions=[
"footnotes", # Add footnotes support
"pymdownx.tilde", # Add strukethrough support
"meta", "meta",
"fenced_code", "fenced_code",
"codehilite", "codehilite",

View File

@@ -1,15 +1,32 @@
@import "code-light.css" (prefers-color-scheme: light); @import "code-light.css" (prefers-color-scheme: light);
@import "code-dark.css" (prefers-color-scheme: dark); @import "code-dark.css" (prefers-color-scheme: dark);
@media (prefers-color-scheme: light) {
:root { :root {
color-scheme: light dark; --background: #FFFFFF;
--background: light-dark(#FFFFFF, #2B363B); --background-dim: #f5f7f9;
--background-dim: light-dark(#f5f7f9, #2F3C42);
--foreground: light-dark(#2B303A, #f0f2f3); --foreground: #2B303A;
--foreground-dim: light-dark(#576379, #d5d5d5); --foreground-dim: #576379;
--foreground-heavy: light-dark(#191C22, #f2f4f5); --foreground-heavy: #191C22;
--primary-color: light-dark(#375287, #A1C5FF);
--primary-color: #375287;
} }
}
@media (prefers-color-scheme: dark) {
:root {
--background: #2B363B;
--background-dim: #2F3C42;
--foreground: #f0f2f3;
--foreground-dim: #d5d5d5;
--foreground-heavy: #f2f4f5;
--primary-color: #A1C5FF;
}
}
html { html {
font-size: 18px; font-size: 18px;

View File

@@ -1,3 +1,3 @@
"""Version information for the blag package.""" """Version information for the blag package."""
__VERSION__ = "2.3.3" __VERSION__ = "2.4.0"

20
debian/changelog vendored
View File

@@ -1,23 +1,3 @@
blag (2.3.3) unstable; urgency=medium
* Fixed Atom feed encoding to 'utf-8'
* Added Python 3.13 to github actions
* `requirements*.txt` files are handled by pip-tools. Updates are handled by
make update-requirements based on the dependencies described in the
pyproject.toml
-- Bastian Venthur <venthur@debian.org> Sun, 27 Apr 2025 11:42:13 +0200
blag (2.3.2) unstable; urgency=medium
* Ignore FileNotFoundError when trying to get the last modified time of
files in directories. This happens for example with temporary emacs files.
* Added changelog to docs
* removed ruff's target-version from pyproject.toml, this value defaults to
the projects requires-python
-- Bastian Venthur <venthur@debian.org> Sun, 13 Oct 2024 20:12:29 +0200
blag (2.3.1) unstable; urgency=medium blag (2.3.1) unstable; urgency=medium
* added manpage * added manpage

11
push Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
REPO="gitea"
python3 -m pip install --upgrade twine
python3 -m twine upload --repository $REPO dist/*

View File

@@ -10,13 +10,13 @@ authors = [
description = "blog-aware, static site generator" description = "blog-aware, static site generator"
keywords = ["markdown", "blag", "blog", "static site generator", "cli"] keywords = ["markdown", "blag", "blog", "static site generator", "cli"]
readme = "README.md" readme = "README.md"
license-files = ["LICENSE"] license = { file="LICENSE" }
requires-python = ">=3.10" requires-python = ">=3.10"
dynamic = ["version"] dynamic = ["version"]
dependencies = [ dependencies = [
"markdown",
"feedgenerator", "feedgenerator",
"jinja2", "jinja2",
"markdown",
"pygments", "pygments",
] ]
@@ -34,14 +34,13 @@ dev = [
"mkdocs", "mkdocs",
"mkdocs-material", "mkdocs-material",
"mkdocstrings[python]", "mkdocstrings[python]",
"mypy", "twine",
"pip-tools", "wheel",
"pytest", "pytest",
"pytest-cov", "pytest-cov",
"ruff", "ruff",
"twine", "mypy",
"types-markdown", "types-markdown",
"wheel",
] ]
[tool.setuptools.dynamic] [tool.setuptools.dynamic]
@@ -66,6 +65,7 @@ addopts = """
[tool.ruff] [tool.ruff]
line-length = 79 line-length = 79
target-version = "py310"
[tool.ruff.lint] [tool.ruff.lint]
select = [ select = [

View File

@@ -1,79 +1,11 @@
# build==1.2.1
# This file is autogenerated by pip-compile with Python 3.13 mkdocs==1.6.0
# by the following command: mkdocs-material==9.5.31
# mkdocstrings[python]==0.25.2
# pip-compile --extra=dev --no-annotate --output-file=requirements-dev.txt --strip-extras twine==5.1.1
# wheel==0.44.0
babel==2.17.0 pytest==8.3.2
backrefs==5.8 pytest-cov==5.0.0
build==1.2.2.post1 ruff==0.6.0
certifi==2025.1.31 mypy==1.11.1
cffi==1.17.1 types-markdown==3.6.0.20240316
charset-normalizer==3.4.1
click==8.1.8
colorama==0.4.6
coverage==7.8.0
cryptography==44.0.2
docutils==0.21.2
feedgenerator==2.1.0
ghp-import==2.1.0
griffe==1.7.2
id==1.5.0
idna==3.10
iniconfig==2.1.0
jaraco-classes==3.4.0
jaraco-context==6.0.1
jaraco-functools==4.1.0
jeepney==0.9.0
jinja2==3.1.6
keyring==25.6.0
markdown==3.7
markdown-it-py==3.0.0
markupsafe==3.0.2
mdurl==0.1.2
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-autorefs==1.4.1
mkdocs-get-deps==0.2.0
mkdocs-material==9.6.11
mkdocs-material-extensions==1.3.1
mkdocstrings==0.29.1
mkdocstrings-python==1.16.10
more-itertools==10.6.0
mypy==1.15.0
mypy-extensions==1.0.0
nh3==0.2.21
packaging==24.2
paginate==0.5.7
pathspec==0.12.1
pip-tools==7.4.1
platformdirs==4.3.7
pluggy==1.5.0
pycparser==2.22
pygments==2.19.1
pymdown-extensions==10.14.3
pyproject-hooks==1.2.0
pytest==8.3.5
pytest-cov==6.1.1
python-dateutil==2.9.0.post0
pytz==2025.2
pyyaml==6.0.2
pyyaml-env-tag==0.1
readme-renderer==44.0
requests==2.32.3
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.0.0
ruff==0.11.4
secretstorage==3.3.3
six==1.17.0
twine==6.1.0
types-markdown==3.7.0.20250322
typing-extensions==4.13.1
urllib3==2.3.0
watchdog==6.0.0
wheel==0.45.1
# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools

View File

@@ -1,12 +1,5 @@
# markdown==3.6
# This file is autogenerated by pip-compile with Python 3.13
# by the following command:
#
# pip-compile --no-annotate --output-file=requirements.txt --strip-extras
#
feedgenerator==2.1.0 feedgenerator==2.1.0
jinja2==3.1.6 jinja2==3.1.4
markdown==3.7 pygments==2.18.0
markupsafe==3.0.2 pymdown-extensions==10.9
pygments==2.19.1
pytz==2025.2

View File

@@ -99,15 +99,6 @@ def test_generate_feed_with_description(cleandir: str) -> None:
assert '<content type="html">content' in feed assert '<content type="html">content' in feed
def test_feed_is_unicode(cleandir: str) -> None:
"""Test generate_feed."""
articles: list[tuple[str, dict[str, Any]]] = []
blag.generate_feed(articles, "build", " ", " ", " ", " ")
with open("build/atom.xml") as fh:
feed = fh.read()
assert 'encoding="utf-8"' in feed
def test_parse_args_build() -> None: def test_parse_args_build() -> None:
"""Test parse_args with build.""" """Test parse_args with build."""
# test default args # test default args