Skip to content

An initiative to standardize the Alternative Checkboxes feature commonly used by the community in Obsidian.md

License

Notifications You must be signed in to change notification settings

damiankorcz/Alternative-Checkboxes-Reference-Set

Repository files navigation

Alternative Checkboxes Reference Set

🎯 Objective

This is an initiative to help standardize the Alternative Checkboxes feature commonly used by the community in Obsidian.md. We are trying to achieve this by analyzing all publicly available implementations of Alternative Checkboxes within Obsidian be it as a Theme, CSS Snippet or Plugin. We are also looking to see if there are any other tools and external standards which could help with our decisions.

🗣️ Discussion

Currently, all discussion regarding this is carried out in a thread within the Official Obsidian Discord. For more information please head over there: https://discord.com/channels/686053708261228577/1291469509336502272

✅ Current Progress

(All current goals are subject to change and are provided as a general idea so far. 📌 = Currently being worked on.)

Understanding the Current State

  • Round up all currently available Obsidian themes in the Theme Store and check for Alternative Checkboxes implementations. If Alternative Checkboxes present:
    • Define the use case (Syntax and Meaning).
    • Add the theme to the vault if it has Alternative Checkboxes.
    • Include link for the Repository, Documentation (if any) and Code used to implement them.

Outcome: Identified 44/282 themes which use a form of Alternative Checkboxes (at the time).

  • Review collected data to identify the current "standard" use cases for each checkbox type; given syntax and it's assigned meaning. Also, take note of other alternative meanings and how many themes use those.

Outcome: Filtered through all themes with Alternative Checkboxes using the data collected in 01 Theme Examples.md, outlined their usage and highlighted the themes which have an alternative meaning assigned to the specific syntax.

You can see the entire breakdown for all checkbox types in: 06 Syntax and Meaning Review.md

Overall, the equivalent of Minimal Theme's Alternative Checkboxes implementation (syntax in conjunction with meaning) are the most popular uses across other themes. The breakdown above highlights the differences in other themes to help see what those theme's wouldn't support if this set was used as the Reference. It should also help see how much impact it might have if one of those themes chooses to align with the Reference Set. I've included the download count for each theme as a rough estimation of theme's use by users.

You can see the breakdown for that in: 07 Impact Breakdown.md

  • 📌 Review the CSS from each theme to identify the patterns used to implement the feature.

Creating a Reference Set

  • Decide on the initial set of Checkboxes.
    • Possibly use a Tier system which rates the checkboxes based on their current popularity / percentage of use across themes.
  • Best practices / conventions.
    • Agreed syntax / meaning.
    • Agreed icons to represent the checkbox?
    • Agreed colours?
  • Assure that all plugins which interact with Alternative Checkboxes are setup to support the Reference Set. Provide any help / adapt based on feedback.

CSS Guidelines for Implementation

  • Barebones CSS Implementation of the Reference Set.
    • Decide if the implementation provides example icons (likely Lucide to match existing Obsidian icons).
    • Naming convention for CSS Variables.
  • 📌 General guidelines for Theme Developers to help users with using the Checkboxes they want to use.
    • 📌 Allow users to fully disable the Theme's Checkbox implementation if the user prefers to use their own (likely a CSS snippet). This might include adding a Style Settings Toggle, providing the Alternative Checkbox feature as an optional CSS Snippet independent of the Theme's CSS or making sure the implementation within the Theme is easily overwritable by a CSS Snippet.

Adaptation Guidelines / Tools

  • Reach out to Theme Developers which Alternative Checkbox implementation doesn't align with the Reference Set to see if they are willing to adapt.
  • Create a plan for helping uses to convert their notes when a theme changes the Alternative Checkbox/es.
    • Methods / Plugins / Tools required to convert user's existing notes to match the Reference Set or adapt to the changes which a theme implements to align with the Reference Set.
    • Methods of effectively notifying changes by Theme devs to users: Notes in Settings, Changelogs, hovering over Help icon, etc.

🗃️ Usage

This repository serves as a central place for all the files relevant to the discussion. It's intended to be used directly as an Obsidian Vault. All themes and snippets that include Alternative Checkboxes are pre-installed for ease of testing. The following Community plugins are also included:

  • Style Settings - Required for some themes.
  • Code Editor Shortcuts - Easier multiline editing.

Please refer to the License section below for more information about what license each Theme / CSS Snippet / Plugin are distributed under.

Ideally, each Alternative Checkbox implementation should be previewed with only the relevant Theme / CSS Snippet enabled to avoid styling issues. Remember to only use one CSS Snippet at a time when testing and to have none enabled when testing Theme implementations (unless required). For CSS Snippets, I'd advise to test those with the Default theme enabled unless stated otherwise.

For convenience, I've pinned Change theme in the Command Palette for a quicker way to change themes.

🛠 Contributing

At the moment, there are no direct guidelines for contributing to this repository. Ideally, any contributions should be mentioned in the Discussion thread first.

📣 Acknowledgments

Special thanks to the following people for their direct contributions to this repository:

  • claremacrae  - For assisting in parsing through all available themes in Obsidian's Community Themes Store.
  • ElsaTam - For reviewing the CSS in each theme to identify the patterns used to implement the feature.

Also, big thanks to everyone that contributed feedback over in the Discord Thread.

📝 License

This repository contains Themes, CSS Snippets and Plugins which were added for convenience of previewing the relevant documentation. Here are the licenses under which they are distributed under:

Themes
CSS Snippets
Plugins

The inclusion of the Themes / CSS Snippets / Plugins in this repository is strictly for research purposes. If you are an author of any of them and would like me to remove them from this repository, please let me know by creating an issue.

The Documentation itself (Markdown files) are under the Unlicense License, unless another license is noted, especially next to code snippets from the themes.

About

An initiative to standardize the Alternative Checkboxes feature commonly used by the community in Obsidian.md

Resources

License

Stars

Watchers

Forks