Compare commits

..

7 Commits

15 changed files with 106 additions and 140 deletions

View File

@@ -0,0 +1,38 @@
name: CI/CD Pipeline
on:
push:
branches:
- main
tags:
- "v**"
jobs:
job1:
runs-on: ubuntu-latest
steps:
- uses: https://github.com/actions/checkout@v4
- uses: https://github.com/actions/setup-python@v5
with:
python-version: "3.11"
- run: |
make venv
- run: |
make lint
- run: |
make mypy
- run: |
make test
- run: |
make test-release
-
name: Push to docker pypi registry.
env:
TWINE_USERNAME: ${{ secrets.REGISTRY_USERNAME }}
TWINE_PASSWORD: ${{ secrets.REGISTRY_TOKEN }}
TWINE_REPOSITORY_URL: "https://gitea.raer.me/api/packages/freyjagp/pypi"
run: |
venv/bin/python3 -m twine upload --verbose dist/*

View File

@@ -1,15 +0,0 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
groups:
all:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@@ -1,74 +0,0 @@
on:
- push
- pull_request
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- run: |
make venv
- run: |
make test
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- run: |
make venv
- run: |
make lint
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- run: |
make venv
- run: |
make mypy
test-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- run: |
make venv
- run: |
make test-release

View File

@@ -3,13 +3,13 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.12"
python: "3.11"
mkdocs:
configuration: mkdocs.yml
python:
install:
- path: .
extra_requirements:
- dev
- requirements: requirements.txt
- requirements: requirements-dev.txt
- path: .

View File

@@ -1,17 +1,16 @@
# Changelog
## [2.4.0] -- 2024-10-26
* Merged master (original dev's work) into main (my fork)
* update gitea workflow to hopefully build/push any updates made to my fork of blag.
## [2.4.0] -- 2024-09-05
* added strikethru and footnotes to blag renders.
## [unreleased] --
* Removed requirements.txt and requirements-dev.txt
## [2.3.3] -- 2025-04-27
* 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
## [2.3.2] -- 2024-10-13
* Ignore FileNotFoundError when trying to get the last modified time of files

View File

@@ -16,9 +16,11 @@ endif
.PHONY: all
all: lint mypy test test-release
$(VENV): pyproject.toml
$(VENV): requirements.txt requirements-dev.txt pyproject.toml
$(PY) -m venv $(VENV)
$(BIN)/pip install --upgrade -e .['dev']
$(BIN)/pip install --upgrade -r requirements.txt
$(BIN)/pip install --upgrade -r requirements-dev.txt
$(BIN)/pip install -e .['dev']
touch $(VENV)
.PHONY: test

View File

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

View File

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

View File

@@ -1,16 +1,33 @@
@import "code-light.css" (prefers-color-scheme: light);
@import "code-dark.css" (prefers-color-scheme: dark);
:root {
color-scheme: light dark;
--background: light-dark(#FFFFFF, #2B363B);
--background-dim: light-dark(#f5f7f9, #2F3C42);
--foreground: light-dark(#2B303A, #f0f2f3);
--foreground-dim: light-dark(#576379, #d5d5d5);
--foreground-heavy: light-dark(#191C22, #f2f4f5);
--primary-color: light-dark(#375287, #A1C5FF);
@media (prefers-color-scheme: light) {
:root {
--background: #FFFFFF;
--background-dim: #f5f7f9;
--foreground: #2B303A;
--foreground-dim: #576379;
--foreground-heavy: #191C22;
--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 {
font-size: 18px;
font-family: serif;

View File

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

10
debian/changelog vendored
View File

@@ -1,13 +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

View File

@@ -10,13 +10,13 @@ authors = [
description = "blog-aware, static site generator"
keywords = ["markdown", "blag", "blog", "static site generator", "cli"]
readme = "README.md"
license-files = ["LICENSE"]
license = { file="LICENSE" }
requires-python = ">=3.10"
dynamic = ["version"]
dependencies = [
"markdown",
"feedgenerator",
"jinja2",
"markdown",
"pygments",
]
@@ -34,13 +34,13 @@ dev = [
"mkdocs",
"mkdocs-material",
"mkdocstrings[python]",
"mypy",
"twine",
"wheel",
"pytest",
"pytest-cov",
"ruff",
"twine",
"mypy",
"types-markdown",
"wheel",
]
[tool.setuptools.dynamic]

11
requirements-dev.txt Normal file
View File

@@ -0,0 +1,11 @@
build==1.2.2.post1
mkdocs==1.6.1
mkdocs-material==9.5.39
mkdocstrings[python]==0.26.1
twine==5.1.1
wheel==0.44.0
pytest==8.3.3
pytest-cov==5.0.0
ruff==0.6.9
mypy==1.11.2
types-markdown==3.7.0.20240822

5
requirements.txt Normal file
View File

@@ -0,0 +1,5 @@
markdown==3.7
feedgenerator==2.1.0
jinja2==3.1.4
pygments==2.18.0
pymdown-extensions==10.9

View File

@@ -99,15 +99,6 @@ def test_generate_feed_with_description(cleandir: str) -> None:
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:
"""Test parse_args with build."""
# test default args