BuJo v2.4.0
Added
- Add
.github
workflow for building documentation website. - Add extension documentation via
VuePress
at bujo.mihaiconstantin.com. Closes #14. - Add functionality to schedule
BuJo
entries to time tracking tables via theBuJo: Schedule Entry
command. Closes #8. - Add functionality for time tracking for
BuJo
entries via theBuJo: Record Time
command. Closes #6. - Add functionality to calculate the total time spent on a task for
BuJo
entries scheduled to the time tracking table via the commandBuJo: Calculate Entry Time
. Closes #7. - Add default keybindings scheduling and time tracking commands:
alt+shift+p
to run commandBuJo: Schedule Entry
alt+shift+t
to run commandBuJo: Record Time
alt+shift+s
to run commandBuJo: Calculate Entry Time
- Add user settings for customizing the scheduling and time tracking behavior:
bujo.scheduler.plannerPrefix
to specify the prefix to use when selecting the daily planner file via the input box (e.g.,prefix
.2022.03.20
)bujo.scheduler.taskName
to specify what to use as task name for the time tracking table when scheduling aBuJo
entry that contains a wiki link with an alias (e.g.,[[A random task|project.example.a-random-task]]
:alias
sets the name of the task in the table to wiki link alias (e.g.,A random task
)filename
sets the name of the task to the actual wiki link (e.g.,[[project.example.a-random-task]]
)
bujo.scheduler.symbolForScheduledEntry
to specify the symbol to set for aBuJo
entry scheduled to the time track table (i.e., by default, the symbol is updated from[ ]
to[>]
)
- Add
genUUID
andgenUUIDInsecure
helper functions to generate Dendron-compatible blockquote IDs for schedulingBuJo
entries to the time tracking table. - Add essential documentation in
README.md
for new changes. Closes #12.
Changed
-
Switched from
esbuild
towebpack
for bundling extension source files. -
Simplify
README.md
file to point to the new documentation. Closes #12. -
Refactor
Entry
class into multiple classes, each corresponding to a type of functionality:Scheduler
class for handling scheduling operationSymbol
class for handling entry symbol updatesTracker
andInterval
classes for handling time tracking and time totals
-
Move most of the regular expressions to the
Pattern
class and add demonstration links toregex101.com
to improve debugging ofregex
. -
Create
operations
module that contains functions and wrappers to use in the context of the command palette, e.g.:// Import the module. import * as operations from "./operations"; // The module currently contains `symbol`, `scheduler` and `tracker` commands. // ... vscode.commands.registerCommand('bujo.scheduler.scheduleEntry', operations.scheduler.scheduleEntry) // ...
-
Create
helpers
module for small functions used in various places. -
Update the functions within the operations module to use new classes.
-
Rename several commands to maintain consistency with the
operations
module:- from
bujo.setMigratedForward
tobujo.symbol.setMigratedForward
- from
bujo.setMigratedBackward
tobujo.symbol.setMigratedBackward
- from
bujo.setCompleted
tobujo.symbol.setCompleted
- from
bujo.setOpen
tobujo.symbol.setOpened
- from
bujo.setInProgress
tobujo.symbol.setStarted
- from
bujo.setDropped
tobujo.symbol.setDropped
- from
bujo.setSymbol
tobujo.symbol.setSymbol
- from
bujo.scheduleToTimeTrackingTable
tobujo.scheduler.scheduleEntry
- from
bujo.recordTime
tobujo.tracker.recordTime
- from
bujo.calculateTime
tobujo.tracker.calculateEntryTime
- from
What's Changed
- Fixed typo for a migrated backward task by @aleksey-rowan in #5
- Add roadmap to
README
by @mihaiconstantin in #11 - Add time tracking functionality and comprehensive documentation by @mihaiconstantin in #13
New Contributors
- @aleksey-rowan made their first contribution in #5
Full Changelog: v2.1.0...v2.4.0