WeekGrid

unlisted

by chris

Drag-to-draw weekly schedule grid with colored blocks. No save button, data lives in a vault JSON file.

Updated 7d ago
View on GitHub

WeekGrid

A quick'n'dirty Obsidian plugin: a generic Monday–Sunday week grid you can scribble colored blocks onto. Built in an afternoon to draft weeks, not to replace a calendar.

No dates, no sync, no save button. It's a whiteboard shaped like a week.

WeekGrid

Why

Real calendars want dates, invitations, reminders and a save dialog. Drafting a typical week needs none of that — just drag a box, name it, move it, done.

Usage

Put a code block into any note:

```weekgrid
id: default
```

Then:

ActionResult
Drag on a columnnew block (click without dragging = 60 min)
Double-click a blockedit the title (Enter to commit, Esc to cancel)
Drag a blockmove it, across days too
Drag top/bottom edgeresize
Hover a blockcopy + delete buttons
Click a block, then 18recolor · Del deletes · Esc deselects
Swatches above the gridcolor for the next block

Every change is written immediately to 4_system/weekgrid.json in your vault — no save button anywhere. Put the vault in Syncthing/Dropbox and the week follows you around.

A red line marks the current time in today's column.

Options

All optional, one per line in the code block:

id: default      # board name — different id = separate week
marks: 7 10 12 13 15 19 22   # the only horizontal lines drawn
midday: 12-13    # shaded band (or: none)
snap: 15         # minutes
height: 44       # half a band's height in px

Bands between marks all get the same pixel height regardless of duration — 7–10 is as tall as 10–12. That's deliberate: mornings deserve as much drafting space as afternoons. Time inside a band still maps proportionally.

Install

Not in the community store. Copy main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/weekgrid/ and enable it under Settings → Community plugins.

Caveats

Quick'n'dirty means quick'n'dirty:

  • Plain JS, no build step, no tests.
  • Full re-render on every pointer move. Fine at this size.
  • Board data is one JSON file. Two devices editing at once = whoever saves last wins.
  • Desktop-tested only, though pointer events should behave on mobile.

MIT.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.