Dear all,
I wrote a new plugin, mainly for my own use, called TimeWise Countdown. The code is here: Felix Hollederer / TimeWise Countdown · GitLab
As I did not find a form to officially submit my plugin for adding it to Joplin Plugins I will post it here.
And I welcome everyone to share their opinion and valuable feedback.
(As a new member I cannot share multiple links and images, so I will post the readme in a later post)
4 Likes
TimeWise Countdown is a plugin that continually calculates and displays the time remaining until a specified deadline.
TimeWise Countdown is a plugin that continually calculates and displays the time remaining until a specified deadline. It allows easy customization and formatting.
([Back to top](#top))
Usage
TimeWise Countdown identifies special deadline markers in your text and replaces them with a live countdown. The markers follow this format:
[output](d[DEADLINE]{TEMPLATE})
output
: The parsed template output
DEADLINE
: The target time; if this date/time has passed, the plugin shows zeros.
- Supported deadline formats:
year-month-day:hour-minute
(e.g., 2025-12-31:13-45
)
year-month-day
(e.g., 2025-12-31
)
hour-minute
(e.g., 13-45
)
- Short years (less than 100) are interpreted as
20xx
. For example, 25-12-31
-> 2025-12-31
.
TEMPLATE
: Specifies how the remaining time should be displayed. Separate tokens with underscores ( _
becomes a space).
Template Tokens
Each letter indicates how to count down:
- y = Years
- m = Months
- w = Weeks
- d = Days
- H = Hours
- M = Minutes
All non-token text (e.g., years
, days
, minutes
) remains literal. For example:
y_years_d_days_M_minutes
could output something like 1 years 9 days 30 minutes
.
Examples
-
Full Date-Time
[](d[2025-01-10:14-00]{y_years_d_days_H_hours})
- Suppose today is
2024-01-01 00:00
.
- This might display:
[1 years 9 days 14 hours](d[2025-01-10:14-00]{y_years_d_days_H_hours})
-
Date Only
[](d[2025-01-10]{m_months_d_days})
- With a current date of
2024-01-01
, you might see: [12 months 9 days](d[2025-01-10]{m_months_d_days})
.
-
Time Only
[](d[15-30]{H_hours_M_minutes})
- If it's currently
09:00
, it could show: [6 hours 30 minutes](d[15-30]{H_hours_M_minutes})
.
-
Short Year
[](d[25-01-01]{y_years_m_months})
- Interpreted as
2025-01-01
, so if we're in 2024-01-01
, that might be: [1 years 0 months](d[25-01-01]{y_years_m_months})
.
-
Week Calculation
[](d[2024-02-15]{w_weeks_d_days})
- If only a few weeks remain until
Feb 15, 2024
, this might read: [2 weeks 3 days](...)
.
-
Past Deadlines
- If the deadline is in the past, all tokens become zero, e.g.:
[](d[2023-12-31]{y_years_d_days_H_hours})
becomes:
[0 years 0 days 0 hours](d[2023-12-31]{y_years_d_days_H_hours})
([Back to top](#top))
Build
Prerequisites
Make sure you have Node.js (and npm) installed.
npm install npm@latest -g
Installation
-
Clone the repo
git clone https://gitlab.com/flxholle/timewise-countdown.git
-
Install NPM packages
npm install
-
Build the plugin: The plugin is built using Webpack, which creates the compiled code in /dist
npm run dist
-
(Optional) Change git remote url to avoid accidental pushes to the base project
git remote set-url origin https://gitlab.com/flxholle/timewise-countdown.git
git remote -v # confirm the changes
([Back to top](#top))
Contributing
Contributions make open source amazing. If you have an idea or fix, please:
- Fork the Project
- Create a new branch (
git checkout -b feature/AmazingFeature
)
- Commit changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
([Back to top](#top))
License
Distributed under the MIT License. See LICENSE.txt
for details.
3 Likes
I also published the plugin in npm: joplin-plugin-timewise-countdown - npm
If there is anything more I can do to get this added to Joplin Plugins please let me know
1 Like
Great job @flxholle, really loved this plugin.
I think @personalizedrefriger can help you with that.