No description
Find a file
Jalad ac011499b3
Update scorecard-badge.yml
Update badge workflow with removal of percentage score by Obsidian
2026-06-15 22:18:29 -05:00
.github Update scorecard-badge.yml 2026-06-15 22:18:29 -05:00
assets Ran linter and fixed issues. Added templates for issues, discussions. Updated workflows to bump version in repo then trigger release. Redid README. Added development and contributing files. 2026-05-04 02:30:52 -05:00
src Small changes to fix for linter 2026-06-11 18:38:46 -05:00
.editorconfig Updated obsidian lint package. Minor tweaks to wording in various templates and documentation files. 2026-05-10 19:20:00 -05:00
.gitignore Small changes that speak for themselves. 2026-05-03 17:19:51 -05:00
CONTRIBUTING.md Updated obsidian lint package. Minor tweaks to wording in various templates and documentation files. 2026-05-10 19:20:00 -05:00
DEVELOPMENT.md Updated obsidian lint package. Minor tweaks to wording in various templates and documentation files. 2026-05-10 19:20:00 -05:00
esbuild.config.mjs Removed all encoded images. I do not want to deal with Obsidian's scanners flagging them as bitcoin wallet addresses just because it can't tell the difference between a bitcoin wallet address and an encoded base64 image. 2026-05-12 17:12:32 -05:00
eslint.config.mjs More linting issues that were... hidden? Fixed. 2026-05-12 18:47:10 -05:00
LICENSE Initial push 2025-03-31 05:46:22 -05:00
manifest.json Release 3.0.3 2026-06-12 00:04:37 +00:00
package-lock.json More linting issues that were... hidden? Fixed. 2026-05-12 18:47:10 -05:00
package.json Release 3.0.3 2026-06-12 00:04:37 +00:00
README.md Update README.md 2026-05-20 01:18:54 -05:00
styles.css Removed all encoded images. I do not want to deal with Obsidian's scanners flagging them as bitcoin wallet addresses just because it can't tell the difference between a bitcoin wallet address and an encoded base64 image. 2026-05-12 17:12:32 -05:00
tsconfig.json Complete refactor of settings tab, renaming of files to make more sense, moved some code around, and deleted unused files. Also updated packages. 2026-05-03 23:22:13 -05:00
versions.json Release 3.0.3 2026-06-12 00:04:37 +00:00

Vertical Timeline List

GitHub release

Obsidian Downloads Assets downloaded

Obsidian Scorecard

Vertical Timeline List

An Obsidian plugin that utilizes task lists to create a timeline... or something like a timeline.

preview

Features

  • Timeline Rendering — Any task list whose parent task has a t status (e.g. - [t]) is rendered as a vertical timeline in Reading View.
  • Customizable Spacing — Adjust dot separation, line padding, and detail block spacing from the settings tab.
  • Theme-aware Colors — Independent light- and dark-mode color values for the line, dots, hover state, and detail backgrounds. The active set switches automatically when Obsidian's theme changes.
  • Collapsible Dots — Toggle whether timeline entries with details can be collapsed and expanded.

Installation

Obsidian Community Plugins

  1. Open Obsidian and go to Settings → Community plugins.
  2. If restricted mode is on, click Turn on community plugins.
  3. Click Browse and search for Vertical Timeline List.
  4. Click Install, then Enable.

BRAT

BRAT installs plugins directly from their GitHub repository and auto-updates them on each release.

  1. Install BRAT from Settings → Community plugins → Browse and enable it.
  2. Open the command palette (Ctrl+P (Windows) or Command+P (macOS)) and run BRAT: Add a beta plugin for testing.
  3. Enter the repository URL: https://github.com/Jalad25/vertical-timeline-list.
  4. Choose whether to track the latest release or the latest commit, then select Add Plugin.
  5. Open Settings → Community plugins and enable Contact Note.

To get future updates, run BRAT: Check for updates to all beta plugins from the command palette, or enable auto-update in BRAT's settings.

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. In your vault, create the folder .obsidian/plugins/vertical-timeline-list/ if it does not already exist.
  3. Copy the downloaded files into that folder.
  4. Open Obsidian, go to Settings → Community plugins, and enable Vertical Timeline List.

Usage

A timeline is denoted by a task list whose parent task has a t status. Nested list items become the timeline's entries. Further nesting under each entry becomes its details.

For example:

# Example
- [t]
  - 2020
    - Detail for 2020
    - Additional detail for 2020
  - 2021
  - 2022

renders as:

example

Important

Add a space after the [t]. Without it, Obsidian does not recognize the line as a task and the timeline will not render.

Settings Reference

Spacing

Setting Description Default
Dot separation Vertical gap between dots on the line. 10 px
Line padding Left and right padding around the line. 12 px
Dot details padding Padding inside the detail block (all sides). 10 px
Dot details top separation Space above the detail block. 10 px
Dot details bottom separation Space below the detail block. 10 px

Theme Colors

Each color has independent light- and dark-mode values. The active value applies whenever Obsidian's theme matches.

Setting Description Light Default Dark Default
Dot color Dots without details. #888888 #888888
Dot collapsible color Dots with details. #8A5CF5 #8A5CF5
Dot collapsible hover color Hover ring on collapsible dots (only visible when Dot collapsible is on). #8A5CF5 #8A5CF5
Line color The vertical line itself. #000000 #ffffff
Dot details background color Background of each detail block. #8f8f8f67 #00000067

Behavior

Setting Description Default
Dot collapsible When on, dots with details can be collapsed and expanded. Off

Other Plugin Compatibility

Tested with:

Dataview

Internal links into nested timeline items work normally, but Dataview's TASK query only highlights a navigated-to task when every date in the note is already expanded in Reading View. The collapsible-dot option is therefore off by default. If you turn it on, this Dataview-specific highlight behavior will not work as expected.

Tasks

No issues were observed when using the Tasks plugin alongside this plugin. To exclude the timeline parent task from Dataview TASK queries, register t as a custom task status in the Tasks plugin and filter on that status.

Contributing

Contributions of all kinds are welcome!

See CONTRIBUTING.md for full guidelines.

License

GNU Affero General Public License v3.0. See LICENSE for details.