Added
-
Hover an image → copy / trash (matches Logseq). Hovering an embedded asset now shows
a small action bar (top-right): copy the image to the clipboard, or trash it —
which removes thereference from the block and moves the file to the recoverable
trash (logseq/.tine-trash), after a confirm. Graph assets only. -
Native window controls — Tine's window now fits in on each OS. On macOS the
window gets real rounded corners and traffic-light buttons (a transparent overlay title
bar) while keeping Tine's compact, single-row layout — no wasted title-bar row. On
Linux/Windows a new Settings → Appearance toggle, “System title bar & window
controls”, switches between Tine's built-in compact controls (default) and your OS's
native window frame. -
Spell checking in the editor (WebKitGTK's native checker). On by default, like
Logseq: red squiggles while editing, with right-click suggestions and “add to
dictionary”, using the systemhunspelldictionaries. Beyond Logseq: check
multiple languages at once — Settings → Editor discovers the dictionaries installed
on your machine and offers them as a tick-list (with human-readable names; no locale
codes to memorize), and every ticked dictionary is checked simultaneously, so a word
valid in any of them isn’t flagged (bilingual editing). None ticked follows your OS
locale. The toggle and selection apply live, without a restart (Logseq needs a
relaunch). Install more dictionaries with your package manager (hunspell-cs, …) and hit
Rescan. -
Richer static HTML export — sidebar + fuzzy full-text search (closer to Logseq's
published graphs). Every exported page now carries a persistent left sidebar with
Favorites (fromconfig.edn :favorites), Journals, and Pages sections and
an active-page highlight, plus a search box that does fuzzy full-text matching
over block content (vendored Fuse.js, tuned to Logseq's published-search params). Results
show a page title + snippet and deep-link to the matching block (page.html#anchor) —
every exported block now gets a stable anchor for this. The search index and page list are
embedded as<script>globals and read locally (never fetched), so the exported site —
including search — works offline / opened straight off disk (file://). Not yet
included: Logseq's interactive graph view (a separate follow-up). -
Org-style callouts on Markdown pages.
#+BEGIN_NOTE / TIP / WARNING / …
admonitions now render as colored callouts on.mdpages, not only.orgones
(on Markdown they were previously mis-read as a stray#tag). Both the
Obsidian-style> [!NOTE] …and the org#+BEGIN_… … #+END_…forms now render
as callouts in either file format.
Changed
-
Block rendering now parses Markdown/Org in-browser via WebAssembly (the same
lsdocparser the backend uses, compiled to wasm). Rendering is synchronous, so
there's no more first-paint flicker on opening a page, and the hand-rolled
TypeScript inline/markdown renderer (~1,300 lines) is gone — one parser now drives
both the on-disk index and the on-screen render, so they can't drift. No change to
how anything looks or round-trips. -
The HTML export renders through the same parser, too. The static-export
renderer now consumes lsdoc's canonical HTML skeleton instead of a second,
hand-rolled Markdown renderer in the exporter — so exported pages match the app:
code blocks, tables (with column alignment), callouts, and in-block lists all
render faithfully, kept in lock-step with the live renderer by an anti-drift test.
Fixed
-
Headings render more like Logseq. A
# headingblock's larger font now applies to
the heading's own line only — a> quote(or table, list, …) continuation in the same
block renders at normal size again. And the bullet no longer jumps when you start a
heading: while editing, the bullet stays put (the editor is plain-height); it only shifts
to align with the larger text once rendered. -
Parser rebuilt and upgraded (now lsdoc v0.2.5). The Markdown/Org parser was
re-architected into a proper single-pass parser — an explicit container stack, no
phase worse thanO(n log n), gated byte-exact against Logseq's mldoc — replacing
the earlier "optimistic" scanner that was quadratic on some inputs. Along the way,
closer Logseq parity and hardened against
pathological input. Corrected: lone-\r/CRLF left in content (Windows or pasted
text), blockquote-with-marker text loss, a stray leading|being mis-read as a
table (and inventing phantom block-refs), an org tag backslash-unescape, and an org
property value mistaken for a page reference. Also fixes multi-second hangs and a
couple of crashes on adversarial block content (e.g. long[/>runs). New
Clojure-hiccup[:tag …]nodes render as literal text for now (an edge construct,
absent from real graphs).
Download an installer for your platform below. macOS/Windows builds are currently unsigned (right-click → Open on macOS; More info → Run anyway on Windows). On macOS, if Tine keeps asking to access your Documents folder on launch, see the workaround.