No description
Find a file
2024-06-06 19:10:19 +12:00
.github feat: updated action steps 2024-04-08 20:14:05 +12:00
images chore: update tracker screenshot 2024-05-01 20:26:56 +12:00
src chore: adjust linting rules 2024-06-06 19:05:45 +12:00
test-vault feat: merged current entry display into start display 2024-05-01 20:24:00 +12:00
types feat: export actions 2024-05-12 16:12:49 +12:00
.editorconfig feat: initial source 2024-02-29 19:28:28 +13:00
.eslintignore chore: perfectionist import sorting, eslint changes 2024-04-22 21:15:38 +12:00
.eslintrc chore: adjust linting rules 2024-06-06 19:05:45 +12:00
.gitignore feat: setting to limit table size, improved table styling, new indent style, ignore obsidian vault data 2024-03-31 19:58:11 +13:00
.npmrc feat: initial source 2024-02-29 19:28:28 +13:00
.prettierignore chore: perfectionist import sorting, eslint changes 2024-04-22 21:15:38 +12:00
.prettierrc.js chore: linting, removed unused, and formatting 2024-03-17 19:23:59 +13:00
cspell.json chore: spelling fixes and whitelisting 2024-05-19 15:24:05 +12:00
esbuild.config.js feat: embedded roboto font 2024-04-20 21:14:37 +12:00
jest.config.js feat: added tests and increased purity 2024-03-31 16:02:32 +13:00
LICENSE.md chore: add license 2024-03-17 19:11:59 +13:00
manifest.json chore: bump version for release 2024-06-06 19:10:19 +12:00
package-lock.json chore: perfectionist import sorting, eslint changes 2024-04-22 21:15:38 +12:00
package.json chore: bump version for release 2024-06-06 19:10:19 +12:00
README.md docs: add readme note about pdf on mobile 2024-06-06 19:03:57 +12:00
tsconfig.json feat: added tests and increased purity 2024-03-31 16:02:32 +13:00
version-bump.mjs feat: initial source 2024-02-29 19:28:28 +13:00
versions.json chore: bump version for release 2024-06-06 19:10:19 +12:00

Obsidian Timekeep

Obsidian plugin for time tracking

License Build Tests

This plugin provides a simple and easy way track time spent on various tasks. After tracking your time, you can export the tracked time as a Markdown Table, CSV, JSON, or PDF.

Tracker

This plugin provides a command for inserting time trackers: Timekeep: Insert Tracker. Alternatively, a timekeep can be created by creating a codeblock like the following:

```timekeep

```

✏️ Editing & Deleting

If you accidentally gave a block an incorrect name or started the timer late, you can use the editing feature to update the stored data or delete the entry.

Editing

👀 How its stored

This plugin is heavily inspired by ObsidianSimpleTimeTracker (semi backwards compatible; some simple-time-tracker blocks can be renamed to timekeep), so the data for time tracking is stored as JSON within the timekeep code block.

The time block start and stop times are stored as timestamps, making it possible for you to start your time tracker, then close Obsidian and have the tracking continue when you open it again.

Below is an example of how this is stored:

{"entries":[{"name":"Example Time Block","startTime":"2024-03-17T06:32:36.118Z","endTime":"2024-03-17T06:32:37.012Z","subEntries":null}]}

📝 Export Formats

Below are the various formats that timekeeping data can be exported to:

Markdown Table

Block Start time End time Duration
Example Time Block 24-03-17 19:32:36 24-03-17 19:32:37 0s
Total 0s
| Block              | Start time        | End time          | Duration |
| ------------------ | ----------------- | ----------------- | -------- |
| Example Time Block | 24-03-17 19:32:36 | 24-03-17 19:32:37 | 0s       |
| **Total**          |                   |                   | **0s**   |

CSV

Block,Start time,End time,Duration
Example Time Block,24-03-17 19:32:36,24-03-17 19:32:37,0s

Note

In the plugin settings, you can choose to omit the first line of the CSV containing the column names:

JSON

The JSON export format simply copies the JSON stored inside the timekeep:

{"entries":[{"name":"Example Time Block","startTime":"2024-03-17T06:32:36.118Z","endTime":"2024-03-17T06:32:37.012Z","subEntries":null}]}

Generated PDFs

Below is an example of a PDF generated by Timekeep. These PDFs are generated using react-pdf locally.

Generated PDF

Note

PDF export is not supported on mobile and will not be available. This is a limitation of the APIs available and is not a planned feature.

📄 License

This project is licensed under the MIT License