README file from
GithubCheckbox Sorter 🔄
Automatically moves completed checkboxes to the bottom of their list group when toggled. Preserves nested list structure while sorting.
Basic Example ▶️
Click any checkbox to toggle it and watch it sink to the bottom of its peer group:
- [ ] Buy milk <-- Click this checkbox
- [ ] Get gas
- [x] Bread (already completed)
Becomes after clicking:
- [ ] Get gas ← Unticked stays on top
- [x] Buy milk ← Newly completed moves here
- [x] Bread ← Existing completed items
Features ✨
- Three-level configuration (global/file/list-marker)
- Nested list support - child items stay with parents
- Smart grouping - only affects peers at same indentation
- Multi-list handling - works with multiple lists in one file
Installation ⬇️
- Open Obsidian → Settings → Community plugins
- Click "Browse" and search "Obsidian Checkbox Sort"
- Install and enable plugin
- (Optional) Configure default behavior in plugin settings
Usage 🛠️
Configuration Hierarchy (Lowest to Highest):
- Global Setting
- File Frontmatter (
checkbox-sort: [true|false]) - List Marker (
%%checkbox-sort: [true|false]%%)
Global Setting (enabled by default):
- [ ] Buy milk <-- Click toggles and sorts
- [ ] Get gas
File Frontmatter (add to YAML frontmatter):
---
checkbox-sort: false # Disable for this file
---
List Marker Override:
%%checkbox-sort: false%% <-- Disables sorting for next list
- [ ] Task 1
- [ ] Task 2
%%checkbox-sort: true%% <-- Enables sorting for this list
- [ ] Task A
- [ ] Task B
Nested List Example:
- [ ] Parent 1
- [ ] Child 1
- [ ] Child 2 <-- Click this checkbox
- [ ] Child 3
- [ ] Parent 2
Becomes after clicking:
- [ ] Parent 1
- [ ] Child 1
- [ ] Child 3
- [x] Child 2 <-- Completed moves here
- [ ] Parent 2
How It Works 🔧
- Clicking a checkbox:
- Toggles task state
- Finds all peer items at same indentation level
- Groups unticked items first (sorted as-is), then ticked items
- Preserves nested list structure under each item
Troubleshooting ⚠️
Sorting not working?
→ Verify no conflicting list markers exist above
→ Check frontmatter isn't overriding global settings
→ Ensure marker comments are directly above list
New file issues?
→ Save file first for frontmatter settings to take effect