Skip to content

Skrive v0.1.5

Choose a tag to compare

@github-actions github-actions released this 02 May 21:16

v0.1.5 — Sidebar tree redesign

The sidebar is the workspace's most-touched surface. This release rethinks it from a writer's perspective: titles instead of filenames, custom-drawn iconography, and a tree-spine treatment that respects each subtree's structure.

What's new

  • Title-as-primary rendering. File rows now show the document's frontmatter title: as the main label, with the filename rendered as a muted secondary line below. Docs without a title: field still show the filename, no regression.
  • Real recursive tree. The previous flat-grouped view (each subfolder rendered as a separate top-level group) is gone. Folders nest naturally, with click-to-collapse on every folder header. Expand/collapse state is in-memory for now; per-project persistence lands in a later pass.
  • Custom folder + doc icons. Two new hand-drawn icons in Skrive's visual voice: IconFolder (a single component whose pocket-line morphs between open and closed states with a subtle CSS d animation) and IconDocMarkdown (a doc silhouette with an inline Markdown wordmark). Replaces the generic chevron + filename rendering.
  • Indent guides with L-elbows. Each row gets a connector to its parent — a half-height vertical with a horizontal stub bending into the row's icon. Ancestor spines stack across the tree to make depth legible at a glance.
  • Subtree-respecting spine rule. A spine line at column d on row R draws only if R's ancestor at depth d+1 is not a last child. Each subtree's spine is contained to its own siblings — when a folder is the last in its parent, its column-line stops at its elbow rather than extending through descendants. Cleaner termination, no lines pointing to nothing.

Under the hood

  • Indent step bumped from 0.75rem to 1.25rem so L-elbows have geometric room to read as connectors rather than tick marks.
  • File rows use a flex-row layout (icon column + flex-column label stack) so titles ellipsize independently from filenames, and the active-state accent uses an inset box-shadow instead of a transparent border — no more 2px alignment jog between folder and file rows.
  • Spine geometry is computed in the snippet and inline-styled per row, not via static CSS. Each row knows its own ancestor-lastness chain and builds its own multi-layer background-image from that.

Coming next

  • Sort order options (modified, created, name) with per-project persistence
  • Inline metadata (relative time, optional word count, tag chips)
  • Pinned section above the tree
  • Drag-to-reorganize with link rewriting
  • Smooth expand/collapse animation
  • Backlinks panel revamp with shared visual language

Install

Pre-alpha build. See install instructions for each platform.