Remove contributing and component docs from the public docs site

Drop the Contributing and internals section, Architecture, Frontend,
and dp-* component pages from the docs registry, prose files, nav, and
legacy redirect target. Guard with tests that fail if they return.
This commit is contained in:
2026-10-05 15:55:35 +02:00
parent a66f2df958
commit 874c37350b
19 changed files with 93 additions and 93 deletions
@@ -1,18 +0,0 @@
# Architecture
FastAPI with Jinja2, rendered on the server. SQLite through `dataset`, synchronous and deliberately without a threadpool. Sessions with PBKDF2-SHA256 passwords.
## Layers
- `molodetz/database/`: one file per subject, always import from the package root.
- `molodetz/routers/`: mirrors the URL path.
- `molodetz/services/`: background services under one supervisor with a file lock.
- `molodetz/templates/`: one Jinja environment in `templating.py`.
## Deleting
Everything is soft deleted with `deleted_at` and `deleted_by`. Only cleanup jobs delete for real.
## Static files
Assets go through `static_url()`, which versions them under `/static/v<version>/`. Those are immutably cacheable for a year.
@@ -1,5 +0,0 @@
# dp-avatar
Shows a deterministic SVG avatar plus a presence dot. Attributes `seed`, `size`, `uid`.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-chat
Simple log with an input line. Emits a `dp-chat-send` event.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-code
Highlights a code block with highlight.js and adds a Copy button.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-content
Renders live markdown on the client through marked, then DOMPurify. Only for live content, such as the editor preview.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-context-menu
Small context menu with buttons, positioned at the cursor.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-dialog
Confirmation dialog. Forms with `data-confirm` go through it.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-lightbox
Full screen view for images with `data-lightbox`. Escape or a click closes it.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-title
Inline variant of dp-content for titles.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-toast
Host for short notices. Use `Toast.flash(el, message)` or `app.toast(message)`.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,5 +0,0 @@
# dp-upload
Drop zone for files. Emits a `dp-files` event with the chosen files.
Light DOM, no shadow DOM. Registers itself with `customElements.define`.
@@ -1,7 +0,0 @@
# Frontend and components
ES6 modules, one class per file, no framework and no bundler. `Application.js` creates all singletons and sets `window.app`.
Components are custom elements with the `dp-` prefix, without shadow DOM. See the component pages in the sidebar.
Client rendering with marked and DOMPurify is only for live content: the preview in the editor. Published posts are rendered on the server.
+1 -1
View File
@@ -12,4 +12,4 @@ Molodetz is a quiet blog roll. Notes about the work, finishing it, and judgement
## Where to start
Read [Writing on the roll](/docs/writing) for the content, [API and authentication](/docs/api) for integrations, and [Architecture](/docs/architecture) if you want to know how it is built.
Read [Writing on the roll](/docs/writing) for the content, and [API and authentication](/docs/api) for integrations.