mirror of
https://github.com/priyanshujain/margin.git
synced 2026-10-02 19:17:03 +00:00
changes
This commit is contained in:
1 parent
5cc083d670
commit
c79897c3db
1 file changed
+1
-35
@@ -1,37 +1,3 @@
|
|||||||
# margin
|
# margin
|
||||||
|
|
||||||
An offline desktop app for writing books and exporting them to print-ready PDF and reflowable EPUB — a focused, free alternative to InDesign for text-first books (novels, non-fiction).
|
Write your book. Own every word. A calm, offline studio to write, format, and publish your book to every store and to print.
|
||||||
|
|
||||||
## Stack
|
|
||||||
|
|
||||||
- **Tauri 2** (Rust shell) — offline by construction; the entire export pipeline runs locally, nothing hits the network.
|
|
||||||
- **React + TipTap** — the semantic writing surface.
|
|
||||||
- **Typst** (embedded as a Rust crate) — print-ready PDF with real book typography.
|
|
||||||
- **Built-in EPUB3** generator + zip packager.
|
|
||||||
|
|
||||||
One semantic document feeds three renderers — the editor, the PDF, and the EPUB — from a single design-token theme (**Quiet Press**: Literata for the page, Hanken Grotesk for the chrome). Both fonts are bundled.
|
|
||||||
|
|
||||||
## Develop
|
|
||||||
|
|
||||||
```sh
|
|
||||||
pnpm install
|
|
||||||
pnpm tauri dev # the real desktop app: live PDF dock, file dialogs, PDF/EPUB export
|
|
||||||
pnpm dev # browser-only UI preview (Tauri APIs are inert)
|
|
||||||
```
|
|
||||||
|
|
||||||
The first `tauri dev` build is slow because it compiles Typst.
|
|
||||||
|
|
||||||
## Using it
|
|
||||||
|
|
||||||
- A book saves as a single `.margin` file (JSON). Open / Save with ⌘O / ⌘S.
|
|
||||||
- Click the title in the top bar for **Book setup** (title, author, ISBN, trim size, language).
|
|
||||||
- Insert images from the toolbar and choose a placement (inline / full-width / full-page / float).
|
|
||||||
- Export to **PDF** or **EPUB** from the titlebar menu.
|
|
||||||
|
|
||||||
## Layout
|
|
||||||
|
|
||||||
- `src/editor/` — TipTap editor, extensions, figure block, floating toolbar.
|
|
||||||
- `src/components/` — app shell, preview dock, book-setup panel, pdf.js renderer.
|
|
||||||
- `src/export/` — `typst.ts` (book → Typst source), `epub.ts` (book → EPUB3 files), `exporters.ts`.
|
|
||||||
- `src/store/`, `src/model/` — document model and state.
|
|
||||||
- `src-tauri/src/` — `pdf.rs` (Typst compile), `epub.rs` (zip packager), `project.rs` (file IO).
|
|
||||||
Reference in new issue
Block a user