Skip to content

Commit 5c240ec

Browse files
Rewrite README as an author-focused landing page
1 parent 71a14bf commit 5c240ec

1 file changed

Lines changed: 160 additions & 64 deletions

File tree

README.md

Lines changed: 160 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,190 @@
1-
# Manuscript Compiler <img src="logo.svg" alt="Manuscript Compiler semantic tree logo" width="48" align="right">
1+
# Manuscript Compiler
22

3-
Manuscript Compiler 0.9.3 turns fiction in an Obsidian vault into DOCX, ODT, EPUB, standalone HTML, Markdown, or structured XML. It works offline, never changes source notes, and requires neither Pandoc nor another community plugin.
3+
<p align="center">
4+
<img src="logo.svg" alt="Manuscript Compiler logo" width="128">
5+
</p>
46

5-
Only content included in the reviewed manuscript structure is exported. Project metadata, author notes, dashboards, and excluded notes are not manuscript content.
7+
Compile structured Obsidian manuscripts into publication-ready DOCX, ODT, EPUB, HTML, Markdown, and XML files for Vellum and other publishing workflows.
68

7-
The workflow has three stages: **Manuscript → Contents → Create file**. Every format is generated locally in memory, validated, and handed to the host download/share flow. Completed exports are downloaded outside the vault; the plugin does not choose or remember the final destination.
9+
![Manuscript Compiler Create file screen with a prepared book summary and six export formats](docs/images/12-create-file-overview.png)
810

9-
Documentation:
11+
[![Latest release](https://img.shields.io/github/v/release/anthonyfitzpatrick/manuscript-compiler?label=release)](https://github.com/anthonyfitzpatrick/manuscript-compiler/releases/latest)
12+
[![MIT licence](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
13+
[![Obsidian plugin](https://img.shields.io/badge/Obsidian-plugin-7C3AED?logo=obsidian&logoColor=white)](https://obsidian.md/)
14+
[![TypeScript](https://img.shields.io/github/languages/top/anthonyfitzpatrick/manuscript-compiler)](https://www.typescriptlang.org/)
15+
[![Tests](https://github.com/anthonyfitzpatrick/manuscript-compiler/actions/workflows/ci.yml/badge.svg)](https://github.com/anthonyfitzpatrick/manuscript-compiler/actions/workflows/ci.yml)
16+
![Offline](https://img.shields.io/badge/works-offline-success)
17+
![No Pandoc](https://img.shields.io/badge/Pandoc-not%20required-success)
18+
[![Open source](https://img.shields.io/badge/open%20source-yes-success)](LICENSE)
1019

11-
- [User guide](USER_GUIDE.md) — installation, manuscript layout, complete workflow, formats, formatting, troubleshooting, and screenshot plan.
12-
- [Developer guide](DEVELOPER_GUIDE.md) — building, testing, architecture boundaries, extension procedures, security, and releases.
13-
- [Architecture](ARCHITECTURE.md) — source-of-truth pipeline, state ownership, exports, validation, privacy, and source map.
14-
- [Security policy](SECURITY.md) — offline guarantees, data handling, dependency policy, and private reporting.
15-
- [Manual release checklist](MANUAL_TESTING.md) — intentionally unchecked application/platform interoperability gates.
20+
## Why Manuscript Compiler?
1621

17-
## Installation
22+
Manuscript Compiler understands a book as **Parts, Chapters, Scenes, Front Matter, and Back Matter**—not merely as a collection of Markdown files. It detects that publishing structure, lets you review and correct inclusion, roles, and order, then compiles only the manuscript you approved.
1823

19-
Until the plugin is listed in Obsidian's Community Plugins directory, download `main.js`, `manifest.json`, and `styles.css` from a GitHub release whose tag exactly matches the manifest version. Put the three files in a vault plugin folder named `manuscript-compiler`, reload Obsidian, and enable **Manuscript Compiler** under Community Plugins.
24+
Designed specifically for long-form authors, it keeps research, dashboards, development notes, and excluded drafts out of the finished book while preserving the hierarchy expected by editing and publishing tools. Your source notes are never rewritten.
2025

21-
## Quick start
26+
## Features
2227

23-
1. In File Explorer, right-click the book folder and choose **Compile manuscript from this folder**.
24-
2. Review the detected structure and correct inclusion, roles, or order if needed.
25-
3. Choose DOCX, ODT, EPUB, HTML, Markdown, or XML.
26-
4. Choose the formatting controls that apply to that format.
27-
5. Press **Create and download …**.
28-
6. Complete the save or share flow provided by Obsidian and the operating system.
28+
### Author Workflow
2929

30-
The selected folder is the exact manuscript root; it never becomes a Part or Chapter. The three-stage workspace is **Manuscript → Contents → Create file**. Contents opens as a compact outline. **Correct structure** exposes keyboard-operable inclusion, type, and ordering controls. Excluded folders collapse without losing child choices or manual order.
30+
- Right-click any manuscript folder
31+
- Automatic structure detection
32+
- Manual correction before export
33+
- Semantic review of the complete book
34+
- One-click compilation and download
3135

32-
If an included note or a semantic compile choice changes after preparation, export is blocked until the preview is refreshed. Changing only the selected format or filename does not rescan, reparse, or rebuild the prepared Book.
36+
### Publishing
3337

34-
## Formats
38+
- Native DOCX
39+
- Native ODT
40+
- Native EPUB 3
41+
- Native offline HTML
42+
- Native Markdown
43+
- Native semantic XML
44+
- DOCX designed for Vellum workflows
3545

36-
- **DOCX** is native WordprocessingML for Word, Vellum, editing, and submission. Vellum and Standard Manuscript presets are fully supported.
37-
- **ODT** is a native OpenDocument Text ZIP package for LibreOffice and compatible editors.
38-
- **EPUB** is a native EPUB 3 reflowable package with container, package document, navigation, XHTML sections, and embedded CSS.
39-
- **HTML** is one offline HTML5 file with embedded CSS, semantic sections, and no JavaScript or remote assets.
40-
- **Markdown** is a deterministic, portable plain-text manuscript preserving semantic structure, emphasis, readable links, Unicode, and paragraph spacing.
41-
- **XML** is a deterministic interchange format in the `https://manuscript-compiler.dev/schema` namespace with `schemaVersion="1.0"`. It contains manuscript content and structure, but no vault paths, profile IDs, settings, or private YAML metadata.
46+
### Privacy
4247

43-
DOCX and ODT support document-style pagination controls. EPUB and HTML expose only meaningful reflowable controls. Markdown and XML expose structural content controls without print typography. No visible control is intended to be inert.
48+
- Fully offline compilation and export
49+
- No telemetry or analytics
50+
- No cloud service or account
51+
- No manuscript network access
52+
- No external executables
53+
- No companion plugins
54+
- No changes to manuscript notes
4455

45-
The Create file screen offers **Indent first line of paragraphs** for DOCX, ODT, EPUB, and HTML. When enabled, the configured first-line indent applies only to later body paragraphs; the first paragraph after a structural heading or scene break remains unindented. When disabled, all body paragraphs—including copyright and other matter text—use zero first-line indent without changing paragraph or line spacing. The indent-size control is shown only while indentation is enabled. Markdown stays portable and does not simulate indentation with spaces, tabs, HTML, or CSS. XML stays presentation-neutral, so its consuming application controls paragraph indentation.
56+
### Reliability
4657

47-
## Discovery and Cleaning
58+
- One shared semantic `Book` model for every format
59+
- Format-specific structural validation before download
60+
- Deterministic structural output
61+
- Stale-preview protection
62+
- Comprehensive automated tests
4863

49-
Folders named Manuscript, Draft, Drafts, Book, Content, or Chapters can be transparent containers. Project folders such as Archive, Development, Exports, Research, Notes, Planning, Characters, Locations, Dashboards, Templates, Attachments, and old drafts are ignored by default but remain reviewable.
64+
## Quick Start
5065

51-
Front and back matter are inferred from names and ancestry. Parts, Chapters, Scenes, matter, transparent containers, and ignored items can all be corrected before preparation.
66+
1. [Install the plugin](#installation).
67+
2. Right-click the complete manuscript folder in Obsidian.
68+
3. Review and correct the detected structure.
69+
4. Choose an export format and formatting preset.
70+
5. Select **Create and download**.
5271

53-
For template notes, the default manuscript-body headings are Scene, Manuscript, Text, Draft, and Body. Synopsis, Revision Notes, Editing Notes, Author Notes, Development Notes, and Comments sections are removed. YAML and recognised structured project metadata are removed without treating ordinary prose beginning with words such as “Book” or “Chapter” as metadata.
72+
See the [User Guide](USER_GUIDE.md) for the complete author workflow.
5473

55-
Bold, italics, combined emphasis, readable Markdown link text, punctuation, smart quotes, accented characters, and Unicode pass through the shared semantic export projection. Embedded media, complex tables, and advanced Markdown layout are outside the restrained fiction model.
74+
## Export Formats
5675

57-
## Delivery, Privacy, and Platform Behaviour
76+
| Format | Purpose |
77+
| --- | --- |
78+
| **DOCX** | Word editing, submission, and Vellum import workflows |
79+
| **ODT** | LibreOffice and other OpenDocument workflows |
80+
| **EPUB** | Reflowable EPUB 3 proofing and ebook workflows |
81+
| **HTML** | A self-contained offline browser proof with embedded CSS |
82+
| **Markdown** | Portable, readable plain-text manuscripts |
83+
| **XML** | Presentation-neutral semantic interchange and automation |
5884

59-
All formats are generated and structurally validated in memory before delivery. One platform-neutral service creates a Blob, dispatches a temporary `<a download>` exactly once, removes it, and revokes the object URL. The plugin does not know or persist the final external path. Obsidian or the host may ask where to save the file or place it in Downloads. On mobile, the same mechanism is attempted; there is no vault-output fallback.
85+
## Capability Comparison
6086

61-
Completed manuscript exports are never written into the vault. Historical vault-output settings remain storage-only migration data and cannot activate an old output route. The diagnostics command may still create an explicitly requested privacy-safe Markdown diagnostics note in the vault; that is not a manuscript export.
87+
| Capability | Manuscript Compiler |
88+
| --- | :---: |
89+
| Native DOCX ||
90+
| Native ODT ||
91+
| Native EPUB ||
92+
| Offline operation ||
93+
| No Pandoc ||
94+
| No companion plugin ||
95+
| No telemetry ||
96+
| Open source ||
6297

63-
The plugin has no Electron bridge, Node filesystem export path, background network requests, telemetry, cloud service, remote assets, shell command, or external executable. Support and funding links open an external website only when the user explicitly selects them. `fflate` is the sole bundled runtime dependency and supplies ZIP creation/inspection.
98+
## Screenshots
6499

65-
### Disclosures
100+
### Plugin Settings
66101

67-
| Topic | Disclosure |
68-
| --- | --- |
69-
| External file access | Browser/host-controlled download only; the host chooses the destination. |
70-
| Network | No background requests. Export, validation, and delivery initiation are offline. User-selected support links open in the system browser. |
71-
| Accounts | None. |
72-
| Payments and advertising | No advertising or in-plugin payments. An optional external donation link is identified as **Buy me a coffee**. |
73-
| Telemetry and analytics | None. |
74-
| Closed-source components | None. |
75-
| Runtime dependencies | `fflate` 0.8.3, bundled under its MIT licence. |
76-
| Vault writes | No manuscript export is written to the vault. The explicit diagnostics action can create a redacted Markdown support note. |
77-
| Mobile | The same browser download mechanism is attempted. Some mobile hosts may block or redirect downloads; no vault fallback is used. |
102+
![Manuscript Compiler settings with defaults, advanced options, support links, and the Open compiler button](docs/images/03-plugin-settings.png)
103+
104+
*Set author defaults once, then open the compiler directly from Obsidian settings.*
105+
106+
### Right-click Menu
107+
108+
![Compile manuscript from this folder in the Obsidian File Explorer context menu](docs/images/02-folder-context-menu.png)
109+
110+
*Start from the exact folder that contains the complete book.*
111+
112+
### Manuscript Screen
113+
114+
![The Manuscript stage showing the selected book folder, detected structure, scan summary, and Review Structure action](docs/images/04-manuscript-screen.png)
115+
116+
*Confirm the manuscript root and automatically detected book structure.*
117+
118+
### Contents Review
119+
120+
![The Contents stage showing detected counts, review controls, and the collapsed manuscript outline](docs/images/07-contents-review.png)
121+
122+
*Review Parts, Chapters, Scenes, matter, warnings, and ignored notes before export.*
123+
124+
### Correct Structure
125+
126+
![Correction mode showing inclusion checkboxes, folder disclosure, role selectors, and ordering controls](docs/images/08-correct-structure.png)
127+
128+
*Correct inclusion, publishing roles, and order without moving or rewriting source notes.*
129+
130+
### Create File
131+
132+
![DOCX selected with document style, indentation, scene break, title page, table of contents, and chapter controls](docs/images/13-docx-format.png)
133+
134+
*Choose the output format and meaningful publishing controls, then create the file.*
135+
136+
### DOCX in Microsoft Word
78137

79-
History records bounded structural facts: time, title, format, filename, counts, generation/validation status, and whether download dispatch started. It does not record prose, Blob URLs, absolute paths, profile IDs, or warning details containing manuscript data.
138+
![A compiled manuscript chapter open in Microsoft Word with named manuscript styles visible](docs/images/26-docx-in-word.png)
80139

81-
## DOCX Presets
140+
*Native DOCX opens with distinct structural formatting and named manuscript styles.*
82141

83-
Vellum defaults to Garamond 12 pt, 1.15 spacing, enabled 0.75 cm first-line indentation, A4, `#` scene breaks, separate Part/Chapter number and title styles, and Chapter page starts. Standard Manuscript defaults to Times New Roman 12 pt, double spacing, enabled 1.27 cm indentation, A4, `* * *` scene breaks, and Chapter page starts. Custom retains both the indentation toggle and its configured size along with the other applicable exposed values.
142+
### DOCX in Vellum
84143

85-
DOCX includes native Title, Author, Front Matter Heading, Back Matter Heading, Part Number, Part Title, Chapter Number, Chapter Title, First Paragraph, Body Text, and Scene Break styles. No Part 0 or Chapter 0 is invented.
144+
![The compiled DOCX imported into Vellum with its book hierarchy and chapter preview visible](docs/images/27-docx-in-vellum.png)
145+
146+
*Vellum recognises the compiled Part and Chapter hierarchy.*
147+
148+
### ODT in LibreOffice
149+
150+
![A compiled manuscript ODT chapter open in LibreOffice Writer](docs/images/28-odt-in-libreoffice.png)
151+
152+
*Native ODT carries the manuscript structure into LibreOffice Writer.*
153+
154+
### EPUB Reader
155+
156+
![The compiled EPUB open in a reader with its contents navigation and chapter text visible](docs/images/29-epub-reader.png)
157+
158+
*The EPUB provides navigable contents and a reflowable reading view.*
159+
160+
## Documentation
161+
162+
- [User Guide](USER_GUIDE.md)
163+
- [Developer Guide](DEVELOPER_GUIDE.md)
164+
- [Architecture](ARCHITECTURE.md)
165+
- [Security Policy](SECURITY.md)
166+
- [Contributing](CONTRIBUTING.md)
167+
- [Manual Release Checklist](MANUAL_TESTING.md)
168+
169+
## Installation
170+
171+
### Community Plugins
172+
173+
Manuscript Compiler is not yet listed in Obsidian's Community Plugins catalogue. Once available, search for **Manuscript Compiler**, select **Install**, then **Enable**.
174+
175+
### Manual Installation
176+
177+
Download `main.js`, `manifest.json`, and `styles.css` from the same [GitHub release](https://github.com/anthonyfitzpatrick/manuscript-compiler/releases). Place them directly in `<vault>/.obsidian/plugins/manuscript-compiler/`, reload Obsidian, and enable **Manuscript Compiler** under Community Plugins.
178+
179+
## Known Limitations
180+
181+
- Complex tables, embedded media, and advanced Markdown layouts are outside the semantic fiction model.
182+
- Save and share behaviour depends on the desktop or mobile host.
183+
- EPUB and target-application validation still require representative reader testing.
184+
- Unusual authoring templates may require manual structure correction.
185+
- Manuscript Compiler is not a fixed-page desktop-publishing engine.
186+
187+
See [Known limitations in the User Guide](USER_GUIDE.md#known-limitations) for details and recommended testing.
86188

87189
## Development and Validation
88190

@@ -108,14 +210,8 @@ git diff --check
108210

109211
The release archive is `release/manuscript-compiler-0.9.3.zip` and contains exactly `main.js`, `manifest.json`, and `styles.css`.
110212

111-
Automated structural validation is not a substitute for opening outputs in Word, Vellum, LibreOffice, multiple EPUB readers, text editors, and browsers. See [MANUAL_TESTING.md](MANUAL_TESTING.md).
112-
113-
## Known Limits
213+
Automated structural validation is not a substitute for opening outputs in Word, Vellum, LibreOffice, multiple EPUB readers, text editors, and browsers. See the [Manual Release Checklist](MANUAL_TESTING.md).
114214

115-
- Browser/host download behaviour and prompts differ by platform, and the plugin cannot verify the final filesystem copy after dispatch.
116-
- On mobile, the host may block the download or route it through a platform share sheet. The plugin reports dispatch failure and does not write a fallback copy into the vault.
117-
- EPUB validation is structural and does not replace EPUBCheck or live reader testing.
118-
- Vellum import semantics require live Vellum testing.
119-
- Unusual authoring templates may require manual structure correction or body-heading aliases.
215+
## Licence
120216

121-
For a full author-oriented explanation of these limits and recovery steps, see [USER_GUIDE.md](USER_GUIDE.md).
217+
[MIT](LICENSE)

0 commit comments

Comments
 (0)