Files
kennethreitz fd970be0ba Upgrade to Responder 3.12; thumbnails, smart 404s, and a faster site
- Responder 3.10-3.12: auto ETags, request size limits, timeouts,
  Prometheus metrics at /metrics; essay release count is now seven
- Gallery thumbnails via /thumb route (24MB pages drop to ~400KB)
- Dark-mode flash eliminated; theme applies before first paint
- 404 pages suggest the closest-matching content
- Long-lived caching for static assets; lazy-loaded content images
- Skip link and keyboard-accessible nav dropdowns
- Per-essay OG image in Article structured data
- Homepage: trim the quest log clause

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 00:40:27 -04:00

46 lines
1.3 KiB
TOML

[project]
name = "tuftecms"
version = "0.1.0"
description = "A Flask-based CMS for thoughtful writing, inspired by Edward Tufte's design principles"
readme = "README.md"
requires-python = ">=3.14"
dependencies = [
"flask>=3.1.1",
"uvicorn[standard]>=0.32.0",
"asgiref>=3.8.0",
"mistune>=3.0.0",
"pyyaml>=6.0.0",
"weasyprint>=66.0",
"pillow>=11.3.0",
"gunicorn[gevent]>=21.0.0",
"responder==3.12.0",
"granian>=2.7.2",
]
authors = [
{name = "Kenneth Reitz", email = "me@kennethreitz.org"}
]
license = {text = "MIT"}
keywords = ["cms", "flask", "markdown", "tufte", "sidenotes", "blog", "digital-garden"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.14",
"Framework :: Flask",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Application Frameworks",
]
[project.urls]
Homepage = "https://github.com/kennethreitz/tuftecms"
Repository = "https://github.com/kennethreitz/tuftecms"
Documentation = "https://github.com/kennethreitz/tuftecms#readme"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["tuftecms"]