You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
format config option (markdown | djot, default markdown) selects the document format, with a matching [djot] options table. With format = "djot", iwe reads, normalizes, exports, and creates djot documents and works with .dj files instead of .md.
iwes
Added
format = "djot" in the configuration makes the server read, format, and write djot documents and map file URIs using the .dj extension (default remains markdown with .md).
Fixed
The server no longer leaks memory as documents are edited and saved; each update used to retain the previous version's graph data, growing memory without bound over a long session.
iwec
Added
--host flag sets the address the HTTP transport binds to (default 127.0.0.1); pass --host 0.0.0.0 to accept connections from other machines.
format = "djot" in the configuration makes the server read, write, and watch djot.dj documents (default remains markdown with .md).
Fixed
The server no longer leaks memory while watching a folder; repeatedly saving documents used to grow memory without bound and could exhaust RAM and swap over a long session.
liwe
Added
FormatOptions (Markdown(MarkdownOptions) | Djot(DjotOptions)) bundles the document format with its formatting options; it is what the graph reads and writes through. Graph::new_with_options, from_state, from_path, and import accept impl Into<FormatOptions>. DjotReader/DjotWriter parse and serialize djot documents so the graph round-trips a .dj document back to djot, and Configuration gains a top-level format selector, a djot: DjotOptions table, and Configuration::format_options().
Inline and DocumentInline gain Span, Mark, Insert, Delete, and Symbol variants, and an inline::Attributes type, so djot's bracketed attribute spans, highlight/insert/delete marks, and symbols round-trip losslessly through the graph.
Changed
NodeIter::to_text(parent, &FormatOptions) replaces the markdown-specific to_markdown, serializing to whichever format the FormatOptions carries.
Key::to_path and the fs discovery and write helpers (walk_md_paths, new_for_path, write_file, write_store_at_path) now take a Format so document files use the configured extension (.md or .dj).
Fixed
Updating or removing a document now reclaims the graph nodes, lines, and reference-index entries that belonged to its previous version, so a long-lived Graph no longer grows without bound as the same documents are edited over and over.