Skip to content

About

Local-first editorial reader for an HTML manuscript and its detailed Markdown outline

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Editorial Workbench

A local-first editorial reader for comparing a real HTML manuscript with a detailed Markdown outline. It is deliberately a disposable workshop, not a content-management system.

What it does

  • derives the left-hand table of contents from the manuscript's real h1–h6 headings;
  • shows the complete manuscript in the centre;
  • switches to a compact detailed-outline view without imitating the book layout;
  • displays intentions, introductions, transitions, conclusions, sources and work notes as tickets on the right;
  • links passages and tickets in both directions;
  • creates selection annotations with Recogito Text Annotator;
  • saves the current session in the browser and exports it as portable JSON;
  • loads the included fictional fixtures or any local manuscript.html and outline.md pair.

No server-side storage, account, remote database or publication workflow is included.

Start

npm install
npm run dev

Open the URL printed by Vite. The fictional example loads automatically.

Input contracts

Manuscript HTML

The document must contain ordinary semantic headings and prose. Stable heading IDs are recommended. A block may declare an editorial role and intention:

<p data-editorial-role="introduction" data-intention="Frame the question.">...</p>

Recognised roles are introduction, argument, transition, conclusion, source, illustration, and note.

Detailed outline Markdown

Use Markdown headings whose {#id} matches a manuscript heading. Under each heading, add list fields:

## A useful chapter {#useful-chapter}
- Intention: Explain why the distinction matters.
- Introduction: Open with the reader's practical problem.
- Transition: Connect the distinction to the next method.
- Conclusion: State what has now been established.
- Sources: Author, *Title* (2024).
- Note: Check the final example.

Repeated fields are allowed. Unknown list labels are kept as metadata.

Local data

The app stores the latest session in localStorage under editorial-workbench/session/v1. “Export JSON” downloads the current inputs, outline model and user annotations. “Reset” clears only this local session.

Imported manuscript scripts, inline event handlers and javascript: URLs are removed before rendering. The iframe allows only the bundled annotation runtime to execute. This is a safety boundary for author-controlled files, not a substitute for a hardened public-upload sanitiser.

Project defaults live in public/config.json, including fixture paths, the manuscript root selector, language, storage key, role labels and ticket colours.

Commands

npm test
npm run build
npm run preview

Scope

This MVP is static and same-origin. Imported files remain in the browser. It does not write back to source files; export is explicit.

About

Local-first editorial reader for an HTML manuscript and its detailed Markdown outline

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages