Welcome to 2019
[ikiwiki.git] / doc / todo / interactive_todo_lists.mdwn
1 This is a fleshed out todo based on discussions at
2 [[forum/managing_todo_lists]].
3
4 I would like to have TODO lists inside ikiwiki wikis. This would mean:
5
6 * a new markup plugin to support a language suitable for TODO lists (OPML,
7   XOXO are two possible candidates)
8 * some javascript to provide interactive editing.
9
10 As [[chrysn]] pointed out on the forum page, this has some crossover with
11 [[structured page data]]. In particular, if the markup language chosen had a
12 concept of invalid markup (existing plugins just tend to ignore stuff that
13 isn't explicitly part of their markup) we would need to sensibly handle that.
14 Perhaps rejecting web edits and providing context help on why the edit was
15 rejected, although that sounds like a significant headache.
16
17 I have started working on this, albeit slowly. A proof of concept is at
18 <http://dev.jmtd.net/outliner/>.
19
20 There are two git repositories associated with my WIP: one contains the
21 javascript, the plugin, the changes made to page templates; the other contains
22 the contents of that wiki-site (so the test todos and the contents of bugs/
23 which forms a sort-of todo list for the todo list :) ) I will endeavour to get
24 mirrors of those repos up on github or similar asap.
25
26 -- [[Jon]]
27
28 ----
29
30 Just to report the WIP plugin for this is now in a reasonably good state. I ended
31 up just inventing a new markup language -- for now, items are divided by newlines
32 and lists are one-dimensional, for simplicity. I got fed up thinking about how to
33 handle the structured data issues / needing a lot of boilerplate around items and
34 the implications for the "new item" dialogue.
35
36 Still quite a lot to do though!
37
38 -- [[Jon]]
39
40 I've pushed a copy of the work in progress which consists of
41
42  * A change to page.tmpl
43  * A javascript underlay directory + javascript file
44  * a few CSS bits in a local.css
45  * a plugin
46
47 to <http://github.com/jmtd/ikiwiki_todolist/>
48
49 -- [[Jon]]