ProgressBar

by Wei Zhang
5
4
3
2
1
Score: 55/100

Description

Category: Note Enhancements

The ProgressBar plugin for Obsidian is a powerful tool that allows users to create customizable progress bars within their notes. With this plugin, you can track your progress over time or manually set the value and max value of the bar. The plugin supports different types of progress bars, including day-year, day-month, day-week, month, and custom ranges. You can also configure the name, width, and button functionality of the progress bar using YAML configuration files. Additionally, the plugin allows you to use templates in the name field to display dynamic values such as percentage and max value. With its flexibility and customization options, the ProgressBar plugin is a great tool for anyone looking to visualize their progress and stay organized.

Reviews

No reviews yet.

Stats

56
stars
17,267
downloads
5
forks
1,162
days
205
days
205
days
7
total PRs
0
open PRs
0
closed PRs
7
merged PRs
18
total issues
9
open issues
9
closed issues
4
commits

Latest Version

7 months ago

Changelog

What's changed

  • support non-latin chars in name
  • adjust spacing for percentage

README file from

Github

English | 简体中文

This is a code block plugin for Obsidian (https://obsidian.md) generating a progressbar.

Obsidian ProgressBar plugin can render the progressbar code block into a progressbar based on Time or Manually, which support:

  • day-year: a progress bar showing how many days passed in this year.
  • day-month: a progress bar showing how many days passed in this month.
  • day-week: a progress bar showing how many days passed in this week.
  • day-custom: a progress bar showing how many days passed in custom start and end.
  • month: a progress bar showing how many months passed in this year.
  • manual: a progress bar specified by user

all kinds

Configuration

Obsidian ProgressBar plugin will work when creating a progressbar code block, and use Yaml to configure.

the name is showing as the description before the progressbar, and it support templates, please refer to the Name Templates.

for example:

    ```progressbar
    kind: day-year
    name: This Year
    ```

will generate:

this year

Supported configurations

This is the example configuration obsidian progressbar support with some remarks

# == kind ==
# Required when specifying a time based progress bar
#
# Optional if manually specifying value
#
# Possible values:
#   day-year:
#   day-month:
#   day-week:
#   month:
#   day-custom: min, and max is required, both min and max should in format: YYYY-MM-DD
kind: day-year

# == name ==
# Specify the progress bar name, in front of the bar
# support templates: max, value, percentage
#
# quote is recommanded if templates are used
#
# Optional, will use kind as name if not specified
name: "{percentage} from {min} to {max}"

# == width ==
# Specify the progress bar width
# Optional
# Possible format: 50%, 100px
width: 50%

# == value ==
# Specify the progress bar current value
# Optional when specified a valid kind
# Required when not having a kind
# Possible format: numbers
value: 10

# == min ==
# Specify the progress bar max value
#
# Optional when specified a valid kind
# Only Required when kind is day-custom
#
# Possible format:
#   day-custom: YYYY-MM-DD
#   others: number
min: 2024-02-01

# == max ==
# Specify the progress bar max value
#
# Optional when specified a valid kind
# Required when not having a kind
#
# Possible format: numbers
#   day-custom: YYYY-MM-DD
#   others: number
max: 2024-04-30

# == button ==
# Specify whether you wish to show the buttons to +1 or -1 the current value
#
# Requires an id
# Can only be used with kind manual/others or no kind
#
# Possible format: boolean (true or false)
button: true

# == id ==
# Specify the id for a progressbar. 
# Multiple progressbar throughout the same document will be synced for buttons
#
# Optional when buttons are turned off
# Required when buttons are turned on
#
# Possible format: numbers, text
id: homework-progressbar

Name Templates

the name option for progressbar supports the following templates:

  • max
  • value
  • percentage

it can be used in format {max}, the plugin will replace it to the real value automatically.

for example, currently is {value}, it's {percentage} to {max} will produce: currently is 123, it's 34% to 365.

the no supported template will no be changed, for example, I am {unknown}, will still stay as I am {unknown}.

If no name specified, name will be kind({percentage}) by default.

Using id and button together

The button option is supposed to be used with the id options where the id option can be used anywhere but will have no practical use without the buttons, It will be the same as not having and id.

id can be used to have multiple progressbar throughout the same document to represent the same quantity. Two progressbar having the same id will be updated together whenever one is updated using the button.

The progressbars will not be synced automatically without the button's click. The auto syncing between progressbars with same id can be implemented in future releases.

If the written value by the user differ between different progressbar with the same id, then the value of the progressbar from which the buttons are clicked will be updated in all of the applicable.

example: These will have the same id, synced together on button clicks, but notice that we can have different names(along with the usage of templates).

    ```progressbar
    id: test <-- an id assigned as "test"
    kind: manual
    name: "manual with buttons 1 {max}" <-- Notice the name
    button: true
    value: 5
    max: 10
    ```


    ```progressbar
    id: test <-- The same id used in a different place
    kind: manual
    
    # Notice that progressbar with same id can still be used with different names
    name: manual with buttons 2 <-- Notice the name here

    button: true
    value: 5
    max: 10
    ```

will generate:

alt text

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Obsidian Columns
4 years ago by Trevor Nichols
Advanced Codeblock
4 years ago by Lijyze
An obsidian plugin that give additional features to code blocks.
TimeDiff plugin
4 years ago by Grzegorz Dominiczak
Obsidian plugin which calculates and displays diff in hours and minutes between two dates in `timediff` markdown block
New Bullet With Time
3 years ago by Boninall
A plugin allows you to auto add current time to new bullet line.
Numerals
3 years ago by RyanC
An obsidian plugin which turns a math code block into a full featured calculator
Codeblock Customizer
3 years ago by mugiwara
Codeblock Customizer plugin for Obsidian
HK Code Block
3 years ago by Heekang Park
Obsidian plugin developed by Heekang Park; Make code block looking good on reading view
Time Ruler
3 years ago by Joshua Tazman Reinier
A drag-and-drop time ruler combining the best of a task list and a calendar view (integrates with Tasks, Full Calendar, and Dataview).
Code::Stats
3 years ago by MiskaMyasa
The Code::Stats plugin allows you to track your coding progress and earn XP for writing markdown in the Obsidian editor.
Code Styler
3 years ago by Mayuran Visakan
A plugin for Obsidian.md for styling codeblocks and inline code
CodeBlock Tabs
3 years ago by Jemin Mau
Create tab group for contiguous codeblocks.
MLIR Syntax Highlight
3 years ago by Lewuathe
Codeblock Template
3 years ago by Super10
A template plugin that allows for the reuse of content within Code Blocks!一个可以把Code Block的内容重复利用模板插件!
Todo.txt Codeblocks
3 years ago by Benjamin Nguyen
Manage your tasks inside Obsidian codeblocks according to the Todo.txt specification.
CSV Codeblock
2 years ago by elrindir
Plugin for obsidian to render csv syntax in codeblocks.
Minitabs
2 years ago by ssjy1919
Obsidian tabs
Checklist Progress
2 years ago by acidghost
Plugin to automatically fill progress (as fraction or percentage) of check-lists
ABC Music Notation
5 years ago by Til Blechschmidt
Plugin which renders music notations from code blocks
Embedded Code Title
5 years ago by tadashi-aikawa
It is an Obsidian plugin which can embeds title to code blocks.
Weekly Goal Tracker
a year ago by George Gorman
Keep the Rhythm
a year ago by Ezben
An Obsidian plugin to track your daily word count through a heatmap.
Advanced Progress Bars
a year ago by cactuzhead
Obsidian plugin to create custom progress bars
Collapsible Code Blocks
a year ago by Bradley Wyatt
Obsidian Plugin that makes code blocks collapsible in reading and edit view as well as enabling scroll-able code blocks.
Command Line
a year ago by Steven Stallion
Copy command lines from your notes to the clipboard.
YAML Table
a year ago by dainakai
Replace Pencil
10 months ago by penyt
🐧 An obsidian plugin that can easily replace the custom variable in the code block.
Code Blocks commands
8 months ago by dragonish
Provide commands to insert code blocks with markup, and support triggering commands with backticks.
Status Bar Clock
3 months ago by Marty Ballard
Status Bar Clock for Obsidian