Initial commit

This commit is contained in:
Emberleif 2026-06-12 17:06:56 -05:00
commit e8fd7a04e6
11 changed files with 3699 additions and 0 deletions

2
.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.DS_Store
dist/

21
LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Emberleif
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

69
README.md Normal file
View file

@ -0,0 +1,69 @@
# Chronoboard
Chronoboard is an Obsidian community plugin for visual, note-native time tracking.
It turns Markdown notes into draggable timeboard entries across day, week, and month views while writing all data back into frontmatter. It works well with TaskNotes-style task notes, but it is not limited to Jira workflows or any specific vault structure.
## Screenshots
### Week view
![Chronoboard week view](assets/chronoboard-week.png)
### Day view
![Chronoboard day view](assets/chronoboard-day.png)
### Month view
![Chronoboard month view](assets/chronoboard-month.png)
## Features
- Day, week, month, and statistics views
- Click and drag time entry creation
- Resize and move time blocks directly on the board
- Right-click actions for editing, recoloring, opening notes, and removing blocks
- Scoped totals for day, week, and month
- Support for always-included static notes such as meetings
- Frontmatter-based data with no separate database
## How it works
Chronoboard reads notes from a configured folder, filters them using a metadata property, and lets you place time visually on a board. Time entries are written back into each note's YAML frontmatter, so your data stays portable and queryable.
## Frontmatter
Chronoboard reads and writes these properties when present:
```yaml
title: "Example Task"
Status: "In Progress"
active: true
timeboardColor: "#7c5cff"
timeboardSubtitle: "Project subtitle"
timeEntries:
- startTime: "2026-06-12T09:00:00"
endTime: "2026-06-12T11:00:00"
label: "Worked on API review"
```
`timeEntries` is the only required structure for tracking time. Everything else is configurable or optional.
## Settings
- `Folder`: source folder for notes that appear in the add-task picker
- `Metadata property`: property used to filter notes out of the picker
- `Excluded values`: values that hide notes from the picker
- `Always include notes`: static notes that always appear in the task pool
- `Visible start hour` and `Visible end hour`
- `Hide weekends in week view`
- `Highlight color`
- `Force dark text on colored cards`
## Release files
- `manifest.json`
- `main.js`
- `styles.css`
- `versions.json`

BIN
assets/chronoboard-day.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

BIN
assets/chronoboard-week.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

2439
main.js Normal file

File diff suppressed because it is too large Load diff

9
manifest.json Normal file
View file

@ -0,0 +1,9 @@
{
"id": "chronoboard",
"name": "Chronoboard",
"version": "0.6.0",
"minAppVersion": "1.5.0",
"description": "A Gantt-style timeboard for project-based time tracking across notes.",
"author": "Emberleif",
"isDesktopOnly": false
}

1151
styles.css Normal file

File diff suppressed because it is too large Load diff

6
versions.json Normal file
View file

@ -0,0 +1,6 @@
{
"0.0.1": "1.5.0",
"0.5.0": "1.5.0",
"0.5.1": "1.5.0",
"0.6.0": "1.5.0"
}