MarkHome v0.1

Markdown for simple 2D home layout diagrams.

Write home layouts as text. Render them as clean SVG diagrams. Use them in docs, blogs, READMEs, and AI workflows.

home "My Apartment" unit cm

room LivingRoom at 0,0 size 420x360 cutout southeast 120x100 label "Living Room"
room BabyRoom right_of LivingRoom gap 20 size 300x280 label "Baby Room"

window LivingRoom north at 110 size 180
door LivingRoom east at 155 size 90
item sofa in LivingRoom at 55,245 size 230x75 label "Sofa"
note LivingRoom "Keep 80cm walking path"

What MarkHome Is

MarkHome is a text-based 2D home layout diagram standard. Its core scope is deliberately small: text, parser, AST, SVG renderer. Rooms can be placed in any order, and simple L-shaped rooms are supported with rectangular corner cutouts.

Install

npm install markhome
npm install -D @bkalafat/markhome-cli

Render

import { render } from "markhome";

const svg = render(source);

CLI

npx @bkalafat/markhome-cli room.markhome -o room.svg

L Rooms

room Living at 0,0 size 420x360 cutout southeast 120x100

Playground

Use examples, zoom controls, grid toggle, source export, SVG export, and share links.