Skip to content

Commit b84e28b

Browse files
committed
Merge branch 'develop'
2 parents e2e413e + 4af4a30 commit b84e28b

File tree

74 files changed

+9721
-229
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+9721
-229
lines changed

.gitattributes

Lines changed: 58 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,58 @@
1-
# Set default behavior to automatically normalize line endings
2-
* text=auto
3-
4-
# Explicitly declare files that should use LF
5-
*.sh text eol=lf
6-
Makefile text eol=lf
7-
*.mk text eol=lf
8-
9-
# Denote all files that are truly binary and should not be modified
10-
*.png binary
11-
*.jpg binary
12-
*.gif binary
13-
*.ico binary
14-
*.zip binary
15-
*.pdf binary
1+
# Default: Auto-detect text files and normalize line endings to LF
2+
* text=auto eol=lf
3+
4+
# Python source files: Enforce UTF‑8 encoding and enable Python-aware diffs
5+
*.py text diff=python encoding=utf-8
6+
*.pyi text diff=python encoding=utf-8
7+
*.pyw text diff=python encoding=utf-8
8+
9+
# Python project configuration files: Consistent UTF‑8 encoding
10+
*.toml text encoding=utf-8
11+
pyproject.toml text encoding=utf-8
12+
requirements*.txt text encoding=utf-8
13+
.pre-commit-config.yaml text encoding=utf-8
14+
15+
# Documentation, configuration, and data files: Uniform encoding and enhanced diffs for Markdown
16+
*.md text encoding=utf-8 diff=markdown
17+
*.rst text encoding=utf-8
18+
*.json text encoding=utf-8
19+
*.yaml text encoding=utf-8
20+
*.yml text encoding=utf-8
21+
*.ini text encoding=utf-8
22+
*.cfg text encoding=utf-8
23+
24+
# Explicitly declare files that should use LF line endings (scripts and makefiles)
25+
*.sh text eol=lf
26+
Makefile text eol=lf
27+
*.mk text eol=lf
28+
29+
# Jupyter Notebooks: Ensure UTF‑8 encoding for proper text processing
30+
*.ipynb text encoding=utf-8
31+
32+
# Cython source files: Enable proper diffing with enforced UTF‑8 encoding
33+
*.pyx text diff=python encoding=utf-8
34+
35+
# Scalable Vector Graphics: Enforce UTF‑8 encoding and enable XML-aware diffs
36+
*.svg text encoding=utf-8 diff=xml
37+
38+
# Additional text files: Enforce LF and UTF‑8 for plain text files
39+
*.txt text eol=lf working-tree-encoding=utf-8
40+
41+
# Binary and compiled files: Prevent alterations by marking as binary
42+
*.db binary
43+
*.p binary
44+
*.pkl binary
45+
*.pickle binary
46+
*.pyc binary
47+
*.pyd binary
48+
*.pyo binary
49+
*.png binary
50+
*.jpg binary
51+
*.gif binary
52+
*.ico binary
53+
*.zip binary
54+
*.pdf binary
55+
56+
# Exclude Git-specific files from exports
57+
.gitattributes export-ignore
58+
.gitignore export-ignore

.github/workflows/ci-cd.yml

Whitespace-only changes.

.github/workflows/site.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Deploy mkdocforge site
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
- 'mkdocs.yml'
10+
- '.github/workflows/ci-cd.yml'
11+
- 'pyproject.toml'
12+
- 'Makefile'
13+
pull_request:
14+
branches:
15+
- main
16+
paths:
17+
- 'docs/**'
18+
- 'mkdocs.yml'
19+
- 'pyproject.toml'
20+
- 'Makefile'
21+
workflow_dispatch: # Allow manual triggering
22+
23+
jobs:
24+
lint-docs:
25+
name: Lint Documentation
26+
runs-on: ubuntu-24.04
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
31+
- name: Set up Python
32+
uses: actions/setup-python@v5
33+
with:
34+
python-version: '3.11'
35+
cache: 'pip'
36+
37+
- name: Setup UV
38+
uses: astral-sh/setup-uv@v5
39+
with:
40+
version: "latest"
41+
enable-cache: true
42+
43+
- name: Install linting dependencies
44+
run: make uv_sync_lint
45+
46+
- name: Lint Markdown files
47+
run: uv run mdformat --check docs/
48+
49+
deploy-docs:
50+
name: Deploy Documentation
51+
environment:
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}
54+
needs: build-lint
55+
runs-on: ubuntu-24.04
56+
permissions:
57+
contents: write
58+
steps:
59+
- name: Checkout repository
60+
uses: actions/checkout@v4
61+
with:
62+
fetch-depth: 0 # Fetch all history for proper versioning
63+
64+
- name: Set up Python
65+
uses: actions/setup-python@v5
66+
with:
67+
python-version: '3.11'
68+
cache: 'pip'
69+
70+
- name: Setup UV
71+
uses: astral-sh/setup-uv@v5
72+
with:
73+
version: latest
74+
enable-cache: true
75+
76+
- name: Install dependencies
77+
run: |
78+
make uv_sync_docs
79+
80+
- name: Build documentation
81+
run: make uv_mkdoc_build
82+
83+
- name: Setup Pages
84+
uses: actions/configure-pages@v5
85+
86+
- name: Upload artifact
87+
uses: actions/upload-pages-artifact@v3
88+
with:
89+
path: site
90+
91+
- name: Deploy to GitHub Pages
92+
id: deployment
93+
uses: actions/deploy-pages@v4

.markdownlint.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
---
12
# MkDocs-compatible markdownlint configuration
23

34
# Default state for all rules

.mdformat.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ plugin.black.line_length = 88
3232

3333
plugin.ruff.enable = true
3434
plugin.ruff.line_length = 88
35-
plugin.ruff.select = ["E", "F", "W"]
36-
plugin.ruff.ignore = ["ANN101"]
35+
plugin.ruff.select = [ "E", "F", "W" ]
36+
plugin.ruff.ignore = [ "ANN101" ]

0 commit comments

Comments
 (0)