Modify Existing Open Source Obsidian Plugin -- 2
Budget: $30 – $250 USD
The chosen coder with modify the following existing open source obsidian plugin to meet the provided requirements:
Obsidian Note Timer
https://github.com/davidvdev/obsidian-note-timer
1. The output of the timer should have the following header with a line that includes the grand total of all durations in the timer log table. For example:
###### Timer Log
Total Time: 'Put The Total Sum In Decimal Format Here To Three Places'
2. The timer table should have the following columns with the appropriate markdown formatting to appear as a table in Obsidian
Example:
| Start | Stop | Duration | Comments |
3. The Pause button should be relabeled with the text "Stop"
4. Remove Log button. The start, stop and duration times should be inserted automatically only after pressing the Stop button.
5. The script should be modified to support the changes above including:
A. Start button should save the start time in YYYY-MM-DD HH:MM:SS:sss format to a variable. NOTE: This variable should not appear until after the Stop button has been pressed.
B. Reset button should clear the variables for that timer when pressed and prevent any data from being written to the table.
C. Stop button should save the stop time in YYYY-MM-DD HH:MM:SS:sss format to a variable
D. After the Stop button is pressed:
i. the Start Time should be recorded to the Start column in the table
ii. the Stop Time should be recorded the Stop column in the table.
iii. the Duration time should also be written to the Duration column of the table in decimal format to three decimal places (e.g. 1.250 hours)
iv. The Total Time value located under the Timer Log header should be updated to the sum of all durations recording in the table.
Example output:
```timer
```
###### Timer Log
Total Time: 0.007
| Start | Stop | Duration | Comments |
| ----------- | ----------- | ----------- | ----------- |
| 2022-10-24 06:37:14 |2022-10-24 06:37:29 | 0.004 | Sample Text 1 |
| 2022-10-24 06:37:33 |2022-10-24 06:37:45 | 0.003 | Sample Text 2 |
All other functionality and styling found in the original plugin can remain the same.
The main.js, styles.css, and manifest.json should be provided in a folder named "release". The source code should be included in a folder named "source".
For more information on Obsidian Plugins see below:
Prerequisites: Javascript, Typescript
Information regarding Obsidian API: https://github.com/obsidianmd/obsidian-api
Sample Obsidian Plugin: https://github.com/obsidianmd/obsidian-sample-plugin
Source: Obsidian Plugins Mini FAQ - https://forum.obsidian.md/t/plugins-mini-faq/7737
Obsidian Note Timer
https://github.com/davidvdev/obsidian-note-timer
1. The output of the timer should have the following header with a line that includes the grand total of all durations in the timer log table. For example:
###### Timer Log
Total Time: 'Put The Total Sum In Decimal Format Here To Three Places'
2. The timer table should have the following columns with the appropriate markdown formatting to appear as a table in Obsidian
Example:
| Start | Stop | Duration | Comments |
3. The Pause button should be relabeled with the text "Stop"
4. Remove Log button. The start, stop and duration times should be inserted automatically only after pressing the Stop button.
5. The script should be modified to support the changes above including:
A. Start button should save the start time in YYYY-MM-DD HH:MM:SS:sss format to a variable. NOTE: This variable should not appear until after the Stop button has been pressed.
B. Reset button should clear the variables for that timer when pressed and prevent any data from being written to the table.
C. Stop button should save the stop time in YYYY-MM-DD HH:MM:SS:sss format to a variable
D. After the Stop button is pressed:
i. the Start Time should be recorded to the Start column in the table
ii. the Stop Time should be recorded the Stop column in the table.
iii. the Duration time should also be written to the Duration column of the table in decimal format to three decimal places (e.g. 1.250 hours)
iv. The Total Time value located under the Timer Log header should be updated to the sum of all durations recording in the table.
Example output:
```timer
```
###### Timer Log
Total Time: 0.007
| Start | Stop | Duration | Comments |
| ----------- | ----------- | ----------- | ----------- |
| 2022-10-24 06:37:14 |2022-10-24 06:37:29 | 0.004 | Sample Text 1 |
| 2022-10-24 06:37:33 |2022-10-24 06:37:45 | 0.003 | Sample Text 2 |
All other functionality and styling found in the original plugin can remain the same.
The main.js, styles.css, and manifest.json should be provided in a folder named "release". The source code should be included in a folder named "source".
For more information on Obsidian Plugins see below:
Prerequisites: Javascript, Typescript
Information regarding Obsidian API: https://github.com/obsidianmd/obsidian-api
Sample Obsidian Plugin: https://github.com/obsidianmd/obsidian-sample-plugin
Source: Obsidian Plugins Mini FAQ - https://forum.obsidian.md/t/plugins-mini-faq/7737