The Local Draft Editor is a Medium-style block editor that runs only on my machine and publishes markdown straight into the site's content folder. It previews with the site builder's own renderer and generates hero images with FLUX.2 on the local GPU.

A new draft. Title, subtitle, then blocks: heading, list, quote, code, image, audio, gallery.
A new draft. Title, subtitle, then blocks: heading, list, quote, code, image, audio, gallery.

The preview uses the site builder's own content.py renderer

There is no second implementation of the format, so if the builder changes how a fence renders, the preview changes too.

  • The backend imports content.py for both the live preview and the block-to-markdown conversion.
  • Hand-authoring found errors late: a byte-order mark breaks the frontmatter, a mistyped fence absorbs the next section.
  • Drafts are underscore-prefixed folders the build ignores. Publishing renames the folder.
  • Every save snapshots to a version history outside the design tree, so edit history is never published.
This article's own hero, made by this button: the draft writing itself while the robot paints.
This article's own hero, made by this button: the draft writing itself while the robot paints.

FLUX.2 hero images on the RTX 5070 Ti, where the prompt decides the output

The generate button, the part I enjoy most, makes images in the style of the card faces on the homepage.

  • The style blocks are imported from the card generator, so the two recipes cannot drift.
  • A run costs two to three minutes.
  • The first prompt gave a cheerful green mascot. Naming the desk, page and robot painter gave this hero.
  • The 24B Mistral text encoder needs most of the 16 GB, so a lock serialises runs after a free VRAM check.

Adding a tool runs a checked pipeline

An agent supplies the category, docs URL, label and candidate icon names, and each answer is verified locally before it is trusted.

  • Adding a tool used to write one vocabulary file, with no category, logo or docs link.
  • The category is checked against the real list and the URL by fetching it, so a wrong answer degrades to a default.
  • The logo is pure lookup across three icon CDNs, with no model involved.
  • Which tools hang off which card is regenerated from the articles' frontmatter on every publish.