Simple checklist macro

Fantastic; corrected my post above.

@Springer released v.0.0.8 which supports wiki links in list items (see first item in the readme’s example 1 below)

Under the hood, problematic ] characters are replaced with a configurable unicode character before saving the list item, and reverted just before wikitext rendering.

I have also introduced optional drag handles and “on hover” styles, inspired by @benwebber checklist plugin.

3 Likes

@fastfreddy There some issue with alignment of checklist items in firefox based browsers in windows

Very good.

I was very impressed that you review the other options too … Sensible, given the longevity of GTD’s in TW.

FYI I have used Grosinger’s Checklist for years, and do still.

Why? It is not a macro.

Basically it is a parser.

Upside: That means you use normal WikiText and the parser finds it and adds an input widget.
No need to assert a macro.
Normal text invokes it.
Very flexy and degrades very well (all your checklists still exist after plugin removal).

Downsides: (1) In complex transclusions it can fail (rare) as the Grosinger parser is not perfect. (2) It is not maintained.

Anyway I wanted to mention it because of the conceptual elegance in the Grosinger approach.

And acknowledge YOU understand there is a very complex history to checklists in TW.

Best wishes
TT

3 Likes

oh, right, that is annoying.
I’ll see if I can address…

With some of the styles merged in from Ben’s, I think some of the CSS complexities exceeded my depth of expertise… I’ll study some more…

I have an Editor toolbar button that prefixes each selected line with a [ ] to tun them into items if you are interested.

version 0.0.9 should address the styling inconsistencies between browsers (Firefox screen capture below). It also offers a new mode for list markers: bulleted lists (example 2 below), numbered lists (example 3 below) and newly available: lists without markers (example 1 below)

1 Like

I looked at the parser logic in Grosinger’s Checklist some more; I like it. I also have been using for quite some time, have a button to insert [ ] in front of list items (just as @TW_Tones does as per message above), and have modified the editor autolist to have those inserted automatically when adding to a list (just like autolist would for * or #-based lists).

The only drawback is the list is not re-orderable.

I may try to figure out a way to generate a draggable list items instead of regular checklist items. What I have tried so far doesn’t work. I can generate the right template DOM structure with the right classes (matching e.g. list-links-draggable macro’s output), but the correct event handling still escapes me. Happy to share what I have so far if folks have advice on how to approach this.

If I figure this out, I’ll also have to implement logic that will edit the underlying text field in response to drag events reflecting the correct ordering (though there is already in Grosinger’s Checklist existing logic to insert or clear the x upon checkbox click event, so that part I am less worried about).

Glad. It is a very to the point approach.

Right.

That said an additional approach, could add that after?
Clue: one could embed data such that a column sort would be easy.

TT

What orders?

  • Date added?
  • Priority?
  • A-Z?
  • Open / Done?

D&D at will is likely easier and more relevant? (look at how Tools Reorder works)

Just suggesting
TT

@TiddlyTitch
User-defined order, based on drag and drop.

If you follow the thread, you’ll see that there is no information carried in either list fields or tiddler body (text field) to consider sorting on date added, priority, etc. For that, the common approaches (extensively available already in other plugins) require the use of a more robust data structure, such as a tiddler for each entry or a data tiddler.

The solution I packaged above (based on fields), and the exploration of parser-based alternatives (based on the tiddler’s texst field) was solely for the purpose of adding re-orderable functionality using drag and drop.

1 Like

Right.

Seems sensible. The user knows their order.
And D&D enables it (and changes of mind).

FWIW a Grossinger Wikitext approach + D&D would be my Bee’s Knees.

I second this!
I Currently use a slightly modified version of Tony Grosinger’s plugin, and I love the fact I can create checklists only with simple inline wikitext.
My notes are not structured enough for a single block of checklists per tiddler, as Kara imposes (don’t know if this limit is still true, though).
D&D ordering would be a great improvement over TW5-Checklist.

In case it would be useful, here’s the forked plugin I use:
$__plugins_tw-FRed_tw5-checklist.json (29.2 KB)

Fred

1 Like

I won’t comment here 'cause it’s @fastfreddy’s time. But thanks!

1 Like

Hi @fastfreddy this is great.
A missing thing (or Link ;- )

One tiny flaw: On my FF on MacOS the unicode for cancel is undefinedScreenshot 2025-08-18 at 10-18-58 Field-Based Checklist — A list and checklist generator plugin

Hi @JanJo!
Wow, this is highly annoying. Thanks for reporting.
I’ll use an SVG rendering of this rather simple icon instead in the next version. Probably later today…

2 Likes

v.0.1.0 released. A bit of a complex release overall, but should address @JanJo’s observation with the non-supported Unicode character on MacOS.

Please circle back if I have inadvertently caused other issues…

2 Likes

I’ve found Sticky plugin quite similar in use to Grossinger plugin you’ve mentioned. It adds few extra reports (in a sidebar and as a tiddler macro) and completion timestamp. The latter one is what ultimately directed my choice.

2 Likes

Great plugin! I’m happy you took the original macro and ran with it. I just installed it in my wiki - really convenient.

I’m not sure if it’s been brought up yet but in addition to using a parser method, what about a CSS stylesheet?

Telomire (If I remember right might have the wrong name) made a plaintext todo list stylesheet that I have been using in pretty much every wiki since finding it.

I’ll see if I can find the link to it, but I’ve modified my copy to have it as:

*.todo task
*.doing task indev
*.done task completed
*.defer cancelled task

and it renders as unicode character checkboxes.

EDIT: Found it!

And I’ll include my own modified copy here as well.

$__themes_telumire_styles_plaintext-tasks.json (996 Bytes)

1 Like