Countdown To

by Gui Cattani
5
4
3
2
1
Score: 36/100

Description

The CountdownTo plugin lets you visualize progress toward upcoming events or deadlines using customizable countdown bars. You can choose between various styles like line, circle, semicircle, and square, with full control over colors, update intervals, and date formatting. It also provides flexible display options using placeholders that show percentages, dates, and durations, all powered by Luxon formatting.

Reviews

No reviews yet.

Stats

11
stars
2,026
downloads
1
forks
330
days
251
days
251
days
4
total PRs
1
open PRs
0
closed PRs
3
merged PRs
5
total issues
3
open issues
2
closed issues
0
commits

Latest Version

README file from

Github

CountdownTo

CountdownTo

Track time until important deadlines, events, or milestones with visual progress indicators.

Features

  • Create visual progress bars that count down to specific dates and times (support for minutes and seconds)
  • Progress bars can be configured to run in realtime
  • Multiple progress bar styles: Line, Circle, SemiCircle, and Square (from progressbar.js, support for custom shapes soon!)
  • Customizable appearance
  • Flexible date and time formatting using Luxon
  • Custom info text with placeholders for dates, percentages, and durations
  • Progress can be shown as forward progress or as a countdown
  • Configurable completion messages

Installation

From Obsidian Community Plugins

  1. Open Obsidian Settings
  2. Go to Community Plugins and disable Safe Mode if necessary
  3. Click "Browse" and search for "Countdown To"
  4. Install the plugin and enable it

Manual Installation

  1. Download the latest release from the GitHub releases page
  2. Extract the files to your Obsidian vault's plugins folder: <vault>/.obsidian/plugins/countdown-to/
  3. Reload Obsidian
  4. Enable the plugin in Obsidian settings under Community Plugins

How to Use

Create a countdown progress bar by adding a code block with the countdown-to language identifier:

```countdown-to
title: Project Deadline
startDate: 2025-03-12
startTime: 08:00:00
endDate: 2025-04-11
endTime: 14:00:00
type: circle
color: #ff5722
trailColor: #f5f5f5
infoFormat: {percent}% complete - {remaining} until {end:LLL d, yyyy}
updateInRealTime: true
updateIntervalInSeconds: 30
```

Required Parameters

If no startDate and endDate is provided the countdown will assume the current day. So at the very least the widget requires a start time and end time. If that is the case the countdown will run daily.

  • startDate: Start date for the progress calculation (format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)
  • startTime: Start time for the progress calculation (format: HH:MM:SS, optional - defaults to 00:00:00)
  • endDate: The target date to count down to (format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)
  • endTime: The target time to count down to (format: HH:MM:SS, optional - defaults to 00:00:00)

Note: You can use either:

  • Separate date and time parameters: startDate: 2025-01-01 + startTime: 09:00:00
  • Combined ISO format: startDate: 2025-01-01T09:00:00 startTime will be ignored. This logic is the same for endDate and endTime
  • The startDate or startTime can be in the future, and the info message will reflect that it is upcoming. The message for upcoming countdowns can be customized in the settings under Default info format upcoming.

Optional Parameters

  • title: Title of the countdown (show above the progress bar)
  • type: Progress bar type - line, circle, semicircle, or square (defaults to line)
  • color: Color for the progress bar (HEX format)
  • trailColor: Color for the incomplete part of the progress bar (HEX format)
  • progressType: progress (default) or countdown
  • onCompleteText: Text to display when the countdown is complete
  • infoFormat: Custom format for the information text
  • updateInRealTime: Whether to update the progress bar in real-time (true/false)
  • updateIntervalInSeconds: How often to update the progress bar

Formatting Options

The infoFormat parameter supports various placeholders and Luxon formatting options:

Basic Placeholders

  • {percent} - Percentage of completion
  • {start} - Start date (ISO format)
  • {end} - End date (ISO format)
  • {current} - Current date (ISO format)
  • {remaining} - Remaining time in human-readable format
  • {elapsed} - Elapsed time in human-readable format
  • {total} - Total duration in human-readable format

Luxon Formatting

You can format dates and durations using Luxon's formatting syntax:

  • {start:format} - Format start date
  • {end:format} - Format end date
  • {current:format} - Format current date
  • {remaining:format} - Format remaining duration
  • {elapsed:format} - Format elapsed duration
  • {total:format} - Format total duration

For example:

  • {end:LLL d, yyyy} displays the end date as "Apr 11, 2025"
  • {end:EEEE, MMMM d, yyyy} displays as "Thursday, April 11, 2025"

See the Luxon formatting reference for all available format tokens.

Using parameters

Countdown To is compatible with Obsidian Parameters. To use them you use the same parameters explained in #How to Use but have them prefixed with countdown-, for example:

---
countdown-startDate: 2025-08-31
countdown-startTime: 19:00
countdown-endDate: 2025-09-15
countdown-endTime: 19:00
countdown-title: Property Title Test
countdown-color: "#ff5722"
countdown-type: Line
countdown-trailColor: "#ff0022"
countdown-progressType: progress
countdown-updateInRealTime: true
countdown-updateIntervalInSeconds: 10
countdown-infoFormat: "{percent}% complete - {remaining} until {end:LLL d, yyyy}"
countdown-infoFormatUpcoming: Upcoming {title}
countdown-onCompleteText: Completed {title}
---

These parameters can be overriden in a countdown-to but they will now be the default value for the file and they don't need to be written in a countdown-to block.

  ```countdown-to
  ```

Will now work even with no startDate

Configuration

You can configure default settings for all progress bars in the plugin settings:

  1. Open Obsidian Settings
  2. Navigate to the "Countdown To" plugin settings
  3. Customize the default bar type, colors, progress type, update interval, and info format

All settings can be overridden in individual progress bar code blocks.

CSS Customization

A custom CSS snippet can be created in your ./.obsidian/snippets and the classes on https://github.com/guicattani/obsidian-countdown-to/blob/main/styles.css can be overriden.

Performance Considerations

  • Setting a very low update interval (e.g., 1 second) for many progress bars may impact performance
  • You can set different update intervals for different progress bars based on their importance
  • The default behavior is NOT updating progress bars in realtime, so keep this in mind.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Support

If you encounter any issues or have feature requests, please open an issue here on GitHub.

Credits

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
TimeStamper
4 years ago by Martin Eder
A plugin for Obsidian to quickly insert customized date- and time-stamps to the currently active note
Super Simple Time Tracker
4 years ago by Ellpeck
Multi-purpose time trackers for your notes!
WakaTime
3 years ago by WakaTime
Obsidian.md plugin for automatic time tracking and metrics generated from your Obsidian usage activity.
Text Progress Bar
3 years ago by Michael Adams
Low-fi text-based progress bar for Obsidian
Obsidian-compatible Watcher for ActivityWatch
3 years ago by Grimmauld
Obsidian plugin to track user activity with ActivityWatch
RescueTime
3 years ago by Tatsuya Hayashi
A RescueTime integration plugin to view your activity logs in Obsidian.
Tracker+
3 years ago by GreaterThan (original by pyrochlore)
A plugin for Obsidian that tracks and visualizes in your notes. A continuation of the plugin originally developed by @pyrochlore
Time Things
2 years ago by Nick Winters
Show clock, track time spent editing a note, and track the last time a note has been edited.
ManicTime
2 years ago by Finkit d.o.o.
Fastimer
2 years ago by vkostyanetsky
Intermittent fasting tracker plugin for Obsidian
Days Since
2 years ago by gndclouds
A plugin to show the number of days since a given date.
Progress Clocks
2 years ago by Nathan Clark
Progress clocks and other useful widgets for https://obsidian.md/.
Timekeep
2 years ago by Jacobtread
Obsidian task time tracking
Checkbox Time Tracker
2 years ago by UD
Checkbox Time Tracker for Obsidian
Relative Timestamps
2 years ago by Charles Young
Stopwatch
5 years ago by Tokuhiro Matsuno
Grandfather
5 years ago by Danny Hernandez
A simple Obsidian plugin to display the time and date on the status bar
Toggl Track
5 years ago by Maxime Cannoodt
A Toggl integration plugin for the popular knowledge base application Obsidian.
Flexible Pomodoro
4 years ago by grassbl8d
Fetch Prayer Times
a year ago by Ecys
Fetches times from Aladhan API and inserts into a table.
Focus Time
a year ago by AstraDev
Focus Time is a plugin that helps you track how much time you spend on each note.
Christmas
a year ago by MatseVH
Daily Note Metrics
a year ago by Andre-Diamond
Obsidian Plugin that parses Daily Notes and uses data to create charts
Chronotyper
a year ago by BambusControl
Obsidian plugin for tracking note edit time
Wakatime / Wakapi
a year ago by Kevin Woblick
Connect your Obsidian to Wakatime or Wakapi to track the time spent while browsing or writing notes.
SolidTime Integration
a year ago by proniclabs
Obsidian SolidTime Integration Plugin
TaskNotes
10 months ago by Callum Alpass
Task and time-tracking management with calendar integration for Obsidian
Startpage
8 months ago by kuzzh
A modern startup homepage plugin for Obsidian that provides a beautiful dashboard interface, displaying vault statistics, pinned notes, and recent notes.
Pretty Properties
7 months ago by Anareaty
Lark Style CountDown Timer
5 months ago by Zhaoyang Yu
Tag Timer
4 months ago by quantavil
The Tag Timer is a versatile plugin for Obsidian that allows you to seamlessly track the time you spend on specific tasks or sections within your notes.
Timelog
4 months ago by Eddie Blundell
Time logging plugin for obsidian
Role Switch
2 months ago by Zafrem
Switch between different work roles (developer, writer, researcher, etc.) with intentional transitions and session tracking.
Synaptic View
a month ago by Yongmini
A dynamic control center for your vault. Unify hubs, notes, tasks, periodic notes, and web resources with intuitive buttons. Replace new tab for instant access.
Note Progressbar
a month ago by Ryoma Kawahara
Displays a live progress bar summarizing checkbox completion in the active note.