mirror of
https://github.com/kennethreitz/kennethreitz.org.git
synced 2026-06-05 14:50:16 +00:00
Port site to Responder (#8)
* Initial Responder port — core content serving working Homepage, markdown pages, directory listings, image galleries all rendering. Flask template compatibility via RequestWrapper and FakeConfig shims. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Complete Responder port — all routes working Ported all routes from Flask blueprints: archive, search, OG images, RSS, sitemap, robots.txt, API endpoints, directory browser. All 25+ routes returning 200. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Update Dockerfile for Responder, warm caches on import CMD now runs engine_responder:api via uvicorn. Cache warming happens on module import for production. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Rename engine_responder.py to engine.py Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Update colophon for Responder Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix essay pages, OG images, and PDF export - Fix find_related_posts and find_adjacent_posts call signatures - Fix OG image route to use path:path for nested paths - Add PDF export route with WeasyPrint - All test plan items passing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -27,4 +27,4 @@ RUN uv pip install . --system
|
||||
COPY . .
|
||||
|
||||
# Run uvicorn directly (no need for uv run since we installed system-wide)
|
||||
CMD ["uvicorn", "engine:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
CMD ["uvicorn", "engine:api", "--host", "0.0.0.0", "--port", "8000"]
|
||||
|
||||
+3
-2
@@ -4,7 +4,7 @@ This site is mine. My words, my domain, my infrastructure. After eighteen years
|
||||
|
||||
## The Stack
|
||||
|
||||
- **Framework:** A custom Flask CMS called TufteCMS, purpose-built for this site.
|
||||
- **Framework:** [Responder](https://github.com/kennethreitz/responder), my own Python web framework, with a custom CMS layer called TufteCMS.
|
||||
- **Typography:** Tufte CSS. Edward Tufte understood that margins are for thinking.
|
||||
- **Content:** Markdown files in a directory. No database. Just files.
|
||||
- **Hosting:** Fly.io.
|
||||
@@ -40,7 +40,8 @@ This site has been:
|
||||
- Ghost (2013-2015)
|
||||
- Medium (briefly, regrettably)
|
||||
- Squarespace (2016-2023)
|
||||
- Custom TufteCMS on Flask (2024-present)
|
||||
- Custom TufteCMS on Flask (2024-2026)
|
||||
- Custom TufteCMS on [Responder](/software/responder) (2026-present)
|
||||
|
||||
Every migration taught me the same lesson: platforms come and go, but your own domain is forever.
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ dependencies = [
|
||||
"weasyprint>=66.0",
|
||||
"pillow>=11.3.0",
|
||||
"gunicorn[gevent]>=21.0.0",
|
||||
"responder>=3.2.0",
|
||||
]
|
||||
authors = [
|
||||
{name = "Kenneth Reitz", email = "me@kennethreitz.org"}
|
||||
|
||||
Reference in New Issue
Block a user