Shared ProperDocs + MaterialX site builder and deploy helpers for FontLab web properties.
Project description
fontlab-www-toolkit
Shared ProperDocs + MaterialX site builder and deploy helpers used by the
FontLab web properties (www.fontlab.com, www.vexy.art, and the
api.fontlab.com/www-admin/ PHP UI).
Install
uv add fontlab-www-toolkit # in a project
uvx fontlab-www-toolkit --help # one-shot
pip install fontlab-www-toolkit
CLI
Three equivalent ways to invoke it:
fontlab-www-toolkit COMMAND # console script (works under uvx too)
fontlab-build COMMAND # backwards-compat alias
python -m fontlab_www_toolkit COMMAND
Commands:
| Command | Effect |
|---|---|
build [--skip_webflow] |
Pull Webflow stubs, build with MkDocs/ProperDocs, overlay wf_cache/ + static_docs/, publish to public/. |
pull-webflow |
Refresh wf_cache/ only. |
convert-old |
Regenerate OLD pages from src_docs/old-pages.yml. |
clean |
Delete build_docs/ and public/. |
setup [--venv PATH] [--clear] |
Create / refresh a uv venv for the admin pipeline. |
version |
Print the installed version. |
All commands accept --root PATH; default is the current working directory.
Site repo layout it expects
site/
├── src_docs/
│ ├── mkdocs.yml
│ ├── md/ # Markdown sources (+ Webflow stubs via frontmatter)
│ └── old-pages.yml # OPTIONAL — one-time HTML → MD conversions
├── static_docs/ # Copied verbatim over build_docs/ during overlay
├── wf_cache/ # Generated — Webflow snapshots
├── build_docs/ # Generated — MkDocs output
└── public/ # Generated — final publish tree
A Webflow stub is any Markdown file with frontmatter:
---
title: Page
webflow-import-url: https://example.webflow.io/page
---
Deploy helpers (library use)
from pathlib import Path
from fontlab_www_toolkit import DeployTarget, run_full_deploy
target = DeployTarget(
site_root=Path("/path/to/site"),
site_label="www.example.com",
local_source=Path("/path/to/site/public"),
backup_dest=Path("/path/to/web-fontlab/src/ionos/live/example.com/public"),
remote_path="live/example.com/public",
)
run_full_deploy(target, commit_message="Deploy www.example.com")
Mirrors the local backup, rsyncs to the remote, commits both the site repo and
(if present) the web-fontlab/ mirror repo.
Develop
git clone git@github.com:Fontlab/fontlab-www-toolkit.git
cd fontlab-www-toolkit
uv sync
uv run pytest -q
Version comes from git tags via hatch-vcs. Tag with semver (v1.2.3) to bump.
Publish
./publish.sh # uvx hatch clean ; uvx gitnextver ; uv build ; uv publish
Requires UV_PUBLISH_TOKEN (PyPI token) in the environment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fontlab_www_toolkit-1.0.1.tar.gz.
File metadata
- Download URL: fontlab_www_toolkit-1.0.1.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e906d1282116badd3d69b9d848ae6f1f40b6109f6526dd193be6f7c9ab3b58a
|
|
| MD5 |
254c326a79e4598dd85409f96b55e0b9
|
|
| BLAKE2b-256 |
8d73abc04ed5eacb923f6cb8a5c4871003e42d3d5606c676a6a092f01ffc767d
|
File details
Details for the file fontlab_www_toolkit-1.0.1-py3-none-any.whl.
File metadata
- Download URL: fontlab_www_toolkit-1.0.1-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa2a08bec342b1b7a67be43976d7ff0968f92bd0b394dc63ca3dc8128ab0345e
|
|
| MD5 |
a62960c65daed0e22bd570286bf4ab20
|
|
| BLAKE2b-256 |
d2cac2360f3af901765ff9cb870b8744830583c7ad74d505be7c97a356c44416
|