Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Bullet-time

Herve SliwaHerve Sliwa131 downloads

Turn a bullet list into a Gantt-style timeline █ █ █ ▒ ▒

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Minimal timelines from a simple bullet list in Obsidian.

Bullet-time screen01

You write a list, add duration estimate {Days}, and Bullet-time reads it top-to-bottom, chains each task after the one before it, and transforms it into a clean monospace text art timeline.

Bullet-time screen02

Features

  • Auto-scheduling — siblings chain automatically: each task starts where the previous one ended. Only pin the dates that actually matter.
  • Work-day math — schedule in calendar days or workdays mode, which skips weekends.
  • Duration shorthands — days, weeks, or hours (3d, 2w, 4h).
  • Overtime highlighting — when a project's children run past its planned total, the overflow is flagged in a warning color.
  • Nesting — lanes → projects → subtasks, driven purely by list indentation.
  • Per-task colors and a nice palette.
  • Two entry points — a fenced ```bullet-time code block, or a plain bullet list tagged with a hidden %% bullet-time %% comment.
  • Errors render inline — bad input never breaks your note; problems show up in a small box under the timeline.

Installation

Community plugin store

Install it from_ Settings → Community plugins → Browse by searching for "Bullet-time".

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into your vault at <vault>/.obsidian/plugins/bullet-time/.
  3. Reload Obsidian, then enable Bullet-time under Settings → Community plugins.

Usage

Add a fenced code block with the bullet-time language:

```bullet-time
title: Q3 Launch
mode: workdays

- Design {2w}
  - Wireframes {4d}
  - Visual design {6d}
- Build {3w} | #98c379
- QA {1w}
- Launch {2026-09-01, 2d}
```

The first bullet starts today (unless pinned). Each following sibling starts when the previous one ends. Indented bullets become children of the bullet above them.

From a plain bullet list

Prefer a normal Markdown list? Tag it with a hidden comment as the first item (Reading view only):

- %% bullet-time %% mode:workdays title:Roadmap
- Research {1w}
- Prototype {2w}
- Ship {3d}

Syntax reference

Header lines

Placed before the first bullet, one per line, as key: value:

Key Values Description
title text Heading shown above the timeline.
mode / days calendar, workdays Count every day, or skip weekends.
weekstart mon, sun First day of the week for axis ticks.
hoursperday positive number Hours in a work day (used to convert Nh durations).
wide — Break out to full pane width (also usable as a bare flag).
center — Center the timeline in its block (also usable as a bare flag).

Lines starting with # are comments.

Task syntax

Each bullet is a task. Its content can carry an optional {...} scheduling group and a trailing | color:

- Label {start, duration} | color
  • {start, duration} — either part is optional: {2w} is duration-only, {2026-07-01} pins a start, {2026-07-01, 3d} sets both.
  • Start accepts today, an ISO date YYYY-MM-DD, or a relative offset like +5 / -2 (days from today).
  • Duration accepts a bare number or Nd (days), Nw (weeks — 5 work days or 7 calendar days), or Nh (hours, converted via hoursperday). Fractions allowed (e.g. 1.5d).
  • Color — any CSS color after a trailing | (e.g. | #e06c75, | tomato). Unsafe values are ignored.

Tasks with no explicit start chain after their previous sibling. A pinned start runs in parallel from that date.

Settings

Configure global defaults under Settings → Bullet-time (any block can override the schedule-related ones via header lines):

  • Day model — calendar or workdays
  • Week start, hours per day
  • Appearance — cells per day (zoom), font size, month/week ruler toggle
  • Palette — lane colors assigned in order when none is specified, plus the overtime color

Development

npm install
npm run dev     # esbuild watch mode → rebuilds main.js on save
npm run build   # typecheck + minified production build
npm test        # headless parser + scheduler checks
npm run deploy  # build, then copy into a vault (set BULLETTIME_VAULT)

The core is a strict, Obsidian-free pipeline — parse → schedule → layout — so it can be unit-tested headlessly; only the render stage touches the DOM. See CLAUDE.md for a fuller architecture tour.

License

MIT

HealthExcellent
ReviewPassed
About
Create minimal Gantt timelines or roadmap from bullet lists by chaining tasks top-to-bottom so each starts when the previous ends. Auto-schedule siblings, support workday or calendar math, duration shorthands (h/d/w), nested lanes→projects→subtasks, per-task colors... Don't hesitate to send me feedback or improvement requests !
Project managementDatesVisualization
Details
Current version
1.0.3
Last updated
Last month
Created
Last month
Updates
4 releases
Downloads
131
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
PayPal
Buy Me a Coffee
Author
Herve SliwaHerve Sliwanovitcz
GitHubnovitcz
  1. Community
  2. Plugins
  3. Project management
  4. Bullet-time

Related plugins

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

LifeOS

Life management system.

Markwhen

Create timelines, gantt charts, calendars, and more using markwhen.

Yearly Glance

Year at a glance - overview of annual events with customizable management options.

Kanban

Create Markdown-backed Kanban boards.

Prisma Calendar

Prisma turns any note with a date into a flexible planning system inside Obsidian. There are no rigid schemas or predefined structures — just your data, your rules, fully under your control.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.