Visualize, navigate, and reflect on your life across multiple time scales.
Chronica transforms your Obsidian vault into a customizable life timeline—displaying your weeks as frames in a grid, complete with color-coded eras, milestone markers, and manual or automatic event fills.
This plugin is built with TypeScript for type safety and documentation. It depends on the latest Obsidian plugin API (obsidian.d.ts
), which includes TSDoc comments describing available classes and methods.
- Ribbon Icon: Adds a toolbar icon that opens Chronica’s main view.
- Commands: Provides a command in the Command Palette to open the Chronica timeline view.
- Settings Tab: Registers a settings pane under Settings → Community Plugins → Chronica: Life in Frames.
- Global Click Event: Captures clicks on the grid to toggle manual fills and logs events to the console.
- Global Interval: Sets an interval to refresh dates and output logs for debugging.
- Multiple Visual Modes: Choose between square, circle, or diamond cells, and landscape or portrait orientation.
- Color-Coded Eras: Configure distinct colors for past, present, and future cells.
- Milestone Markers: Enable decade, year, month, and birthday dividers at configurable intervals.
- Custom Events: Define event categories with names and colors, then map dates or ranges to them.
- Check existing plugins—avoid reinventing the wheel.
- Use this repo as a template: click “Use this template” on GitHub, fork, then clone your fork locally.
- Plugin folder: place your cloned repo under
~/.obsidian/plugins/chronica-life-in-frames
for live testing. - Install dependencies: npm install
- Watch & build: npm run dev
- Reload Obsidian and enable Chronica via Community Plugins.
- Iterate: modify
.ts
files, let the watcher compile, and reload the vault. - Update API: when the API changes, run: npm update obsidian
- Bump version in
manifest.json
andpackage.json
(e.g., to 1.0.1). - Update
versions.json
with an entry like: "1.0.1": "1.8.5" - Create GitHub Release:
- Tag: 1.0.1 (no “v” prefix)
- Attach:
manifest.json
,main.js
,styles.css
- Publish the release.
Tip: use npm version patch|minor|major
to automate JSON bumps and update versions.json
.
- Follow Obsidian’s plugin guidelines (docs).
- Publish an initial GitHub release.
- Ensure your repo root has a README.md.
- Submit a PR to
obsidianmd/obsidian-releases
adding your plugin ID.
Clone the repo: git clone https://github.com/neovasky/chronica-life-in-frames.git Install & build: npm install npm run dev Reload Obsidian and enable the plugin.
- Build with: npm run build
- Copy
main.js
,manifest.json
, andstyles.css
into: /.obsidian/plugins/chronica-life-in-frames/ - Reload Obsidian and enable Chronica.
Install ESLint globally: npm install -g eslint Run against your code: eslint main.ts eslint ./src
See Obsidian API docs: https://github.com/obsidianmd/obsidian-api
No description, website, or topics provided.
This project is licensed under the MIT License. See LICENSE for details.