| 
1 | 1 | # Changelog  | 
2 | 2 | 
 
  | 
 | 3 | +## [2.4.0] - 2022.07.07  | 
 | 4 | + | 
 | 5 | +### Added  | 
 | 6 | +- Add `.github` workflow for building documentation website.  | 
 | 7 | +- Add extension documentation via `VuePress` at  | 
 | 8 | +  [bujo.mihaiconstantin.com](https://bujo.mihaiconstantin.com). Closes  | 
 | 9 | +  [#14](https://github.com/mihaiconstantin/bujo/issues/14).  | 
 | 10 | +- Add functionality to **schedule `BuJo` entries** to time tracking tables via  | 
 | 11 | +  the `BuJo: Schedule Entry` command. Closes  | 
 | 12 | +  [#8](https://github.com/mihaiconstantin/bujo/issues/8).  | 
 | 13 | +- Add functionality for **time tracking** for `BuJo` entries via the `BuJo:  | 
 | 14 | +  Record Time` command. Closes  | 
 | 15 | +  [#6](https://github.com/mihaiconstantin/bujo/issues/6).  | 
 | 16 | +- Add functionality to *calculate the total time spent on a task* for `BuJo`  | 
 | 17 | +  entries scheduled to the time tracking table via the command `BuJo: Calculate  | 
 | 18 | +  Entry Time`. Closes [#7](https://github.com/mihaiconstantin/bujo/issues/7).  | 
 | 19 | +- Add default keybindings scheduling and time tracking commands:  | 
 | 20 | +  - `alt+shift+p` to run command `BuJo: Schedule Entry`  | 
 | 21 | +  - `alt+shift+t` to run command `BuJo: Record Time`  | 
 | 22 | +  - `alt+shift+s` to run command `BuJo: Calculate Entry Time`  | 
 | 23 | +- Add user settings for customizing the scheduling and time tracking behavior:  | 
 | 24 | +  - `bujo.scheduler.plannerPrefix` to specify the prefix to use when  | 
 | 25 | +    selecting the daily planner file via the input box (e.g.,  | 
 | 26 | +    **`prefix`**`.2022.03.20`)  | 
 | 27 | +  - `bujo.scheduler.taskName` to specify what to use as task name for the  | 
 | 28 | +    time tracking table when scheduling a `BuJo` entry that contains a wiki link  | 
 | 29 | +    with an alias (e.g., `[[A random task|project.example.a-random-task]]`:  | 
 | 30 | +      - `alias` sets the name of the task in the table to wiki link alias (e.g.,  | 
 | 31 | +    `A random task`)  | 
 | 32 | +      - `filename` sets the name of the task to the actual wiki link (e.g.,  | 
 | 33 | +        `[[project.example.a-random-task]]`)  | 
 | 34 | +  - `bujo.scheduler.symbolForScheduledEntry` to specify the symbol to set for a  | 
 | 35 | +    `BuJo` entry scheduled to the time track table (i.e., by default, the symbol  | 
 | 36 | +    is updated from `[ ]` to `[>]`)  | 
 | 37 | +- Add `genUUID` and `genUUIDInsecure` helper functions to generate  | 
 | 38 | +  Dendron-compatible blockquote IDs for scheduling `BuJo` entries to the time  | 
 | 39 | +  tracking table.  | 
 | 40 | +- Add essential documentation in `README.md` for new changes. Closes  | 
 | 41 | +  [#12](https://github.com/mihaiconstantin/bujo/issues/12).  | 
 | 42 | + | 
 | 43 | +### Changed  | 
 | 44 | +- Switched from `esbuild` to `webpack` for bundling extension source files.  | 
 | 45 | +- Simplify `README.md` file to point to the new documentation. Closes  | 
 | 46 | +  [#12](https://github.com/mihaiconstantin/bujo/issues/12).  | 
 | 47 | +- Refactor `Entry` class into multiple classes, each corresponding to a type of  | 
 | 48 | +  functionality:  | 
 | 49 | +  - `Scheduler` class for handling scheduling operation  | 
 | 50 | +  - `Symbol` class for handling entry symbol updates  | 
 | 51 | +  - `Tracker` and `Interval` classes for handling time tracking and time totals  | 
 | 52 | +- Move most of the regular expressions to the `Pattern` class and add  | 
 | 53 | +  demonstration links to `regex101.com` to improve debugging of `regex`.  | 
 | 54 | +- Create `operations` module that contains functions and wrappers to use in the  | 
 | 55 | +  context of the command palette, e.g.:  | 
 | 56 | + | 
 | 57 | +    ```typescript  | 
 | 58 | +    // Import the module.  | 
 | 59 | +    import * as operations from "./operations";  | 
 | 60 | + | 
 | 61 | +    // The module currently contains `symbol`, `scheduler` and `tracker` commands.  | 
 | 62 | +    // ...  | 
 | 63 | +    vscode.commands.registerCommand('bujo.scheduler.scheduleEntry', operations.scheduler.scheduleEntry)  | 
 | 64 | +    // ...  | 
 | 65 | +    ```  | 
 | 66 | + | 
 | 67 | +- Create `helpers` module for small functions used in various places.  | 
 | 68 | +- Update the functions within the operations module to use new classes.  | 
 | 69 | +- **Rename several commands to maintain consistency with the `operations`  | 
 | 70 | +  module:**  | 
 | 71 | +  - from `bujo.setMigratedForward` to `bujo.symbol.setMigratedForward`  | 
 | 72 | +  - from `bujo.setMigratedBackward` to `bujo.symbol.setMigratedBackward`  | 
 | 73 | +  - from `bujo.setCompleted` to `bujo.symbol.setCompleted`  | 
 | 74 | +  - from `bujo.setOpen` to `bujo.symbol.setOpened`  | 
 | 75 | +  - from `bujo.setInProgress` to `bujo.symbol.setStarted`  | 
 | 76 | +  - from `bujo.setDropped` to `bujo.symbol.setDropped`  | 
 | 77 | +  - from `bujo.setSymbol` to `bujo.symbol.setSymbol`  | 
 | 78 | +  - from `bujo.scheduleToTimeTrackingTable` to `bujo.scheduler.scheduleEntry`  | 
 | 79 | +  - from `bujo.recordTime` to `bujo.tracker.recordTime`  | 
 | 80 | +  - from `bujo.calculateTime` to `bujo.tracker.calculateEntryTime`  | 
 | 81 | + | 
3 | 82 | ## [2.1.0] - 2022.04.24  | 
4 | 83 | ### Added  | 
5 | 84 | - Add syntax highlighting support for multiple entries on the same line  | 
 | 
0 commit comments