# How this site works
<p class="doc-sub">// status: evergreen</p>
This site is an ==Obsidian vault== published directly with [Obsidian Publish](https://obsidian.md/publish). The notes remain ordinary Markdown files with wiki links and frontmatter; a custom stylesheet and a small JavaScript layer turn them into the interface you are looking at.
## The shape of the system
```mermaid
flowchart LR
M[Markdown notes] --> P[Obsidian Publish]
C[publish.css] --> P
J[publish.js] --> P
P --> S[jeromem.dev]
V[Local checks] --> M
```
The content is intentionally portable. If the visual layer disappeared tomorrow, the writing, links, images, and project history would still make sense as a normal vault.
## A dithered distance field
The background is generated in the browser from an ==SDF-inspired distance-field contour scene==. It samples a four-CSS-pixel grid and quantises it with an 8×8 Bayer matrix plus deterministic jitter. The result keeps the site’s cyberpunk signal without placing animated effects over the text.
The contour field stays behind the content; grain is the only effect above it. The canvases redraw on navigation, resize, or rendering-preference changes, while reduced-motion and constrained devices get a quieter version.
## Design decisions
- Yellow is an accent; long-form text uses a high-contrast neutral colour.
- The visual treatment sits behind the content so texture does not erode readability.
- Keyboard focus remains visible, and mobile navigation exposes its expanded state to assistive technology.
- Project pages pair atmosphere with available evidence: source links, screenshots or demos, implementation notes, and related garden notes where available.
- Frontmatter is curated into a compact metadata summary instead of being shown as raw configuration.
## Publishing without surprises
Public pages opt in with `publish: true`. Workflow areas such as `Inbox/` and `Sources/` opt out with `publish: false`. Before a release, a local checker validates frontmatter, heading hierarchy, wiki links, private/public boundaries, project metadata, and oversized assets.
That check cannot replace the final Publish review: Obsidian still controls the remote selection, and removing a page that was published before requires an explicit unpublish action.
## Why build it this way?
Because the site is also a workshop. I can link a rendering note to an experiment while the idea is fresh, improve either side later, and let the structure emerge without moving everything into a CMS. The custom layer gives it a voice; Markdown keeps it mine.
---
Back to [[Home]] · browse the [[Notes/Index|Notes]] · explore the [[Experiments/Index|Experiments]].