Skip to content

An Obsidian plugin that turns readable fenced Markdown into responsive columns and stacks in Reading View.

Obsidian API · TypeScript · Markdown · CSS · Vitest

About

Colsdown adds columns and vertical stacks to Obsidian notes without replacing their Markdown source. Layouts are written as fenced blocks, so they remain understandable in Source Mode, editable in Live Preview, and responsive when rendered in Reading View.

The plugin deliberately leaves visual identity to the active Obsidian theme. It supplies layout, spacing, optional dividers, and responsive behavior without adding card surfaces, hover colors, or a competing theme layer.

Highlights

  • Column widths accept percentages, fractional tracks, or automatic sizing.
  • stack blocks use the same separator model for vertically divided content.
  • Nested layouts and nested backtick or tilde fences stay within the correct column.
  • Columns collapse below a configurable container width to avoid horizontal overflow.
  • Editor commands insert common two-column, three-column, sidebar, stack, and custom layouts as ordinary undoable changes.

How it works

A colsdown fence treats content before the first separator as the first column. A width written on a later separator belongs to the column after it, while the first column receives the remaining space.

~~~colsdown
Sidebar content
 
::: 70%
 
Main content
~~~

This produces a 30/70 layout. Omitting widths creates equal automatic columns, while 1fr and 2fr express proportional tracks. The parser locks a block to its first separator and ignores marker-looking lines inside nested code fences.

Project details

  • Platform: Obsidian desktop and mobile
  • Rendering: Reading View through Obsidian's Markdown renderer
  • License: MIT