diff options
author | Jonathan Dowland <jon@dowland.me> | 2014-07-28 14:13:19 +0100 |
---|---|---|
committer | Jonathan Dowland <jon@dowland.me> | 2014-07-28 14:13:19 +0100 |
commit | 4f8c1e4ef43ecb48f316f2f809906819efa823b4 (patch) | |
tree | 6fd8eb4c82932670c6ca6b0479d7d56281e4c900 /doc/todo | |
parent | 5b000cda7e4c8fbbff922424dc6c42dd8644c743 (diff) | |
download | ikiwiki-4f8c1e4ef43ecb48f316f2f809906819efa823b4.tar ikiwiki-4f8c1e4ef43ecb48f316f2f809906819efa823b4.tar.gz |
new feature request: remove (and rename) in action list (initial patches)
Diffstat (limited to 'doc/todo')
-rw-r--r-- | doc/todo/add_remove_to_actionlist.mdwn | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/doc/todo/add_remove_to_actionlist.mdwn b/doc/todo/add_remove_to_actionlist.mdwn new file mode 100644 index 000000000..92beabc94 --- /dev/null +++ b/doc/todo/add_remove_to_actionlist.mdwn @@ -0,0 +1,82 @@ +[[!template id=gitbranch branch=jon/remove_action author="[[Jon]]"]] + +The "remove" plugin allows one to remove pages via the web, but you first have +to click on 'edit' to get to the 'remove' button. This is a bit +counter-intuitive, and ikiwiki has an action list, so it would be good if +"remove" (and also "rename" for that plugin) added items to the action list. + +First cut series of patches in the indicated branch. A bit more review is +needed, in my tests removals work and are committed to the vcs but +recentchanges isn't regenerated for some reason (probably the constructed `<a>` +link needs to add/adjust the parameters to emulate a formbuilder form +submission more carefully). + +I haven't begun on the 'rename' plugin. -- [[Jon]] + +[[!tag wishlist patch]] + +> This seems like weird overloading of the header parameter - it's +> table data, except when it isn't. + +> > My first cut (now rebased out of existence I think) introduced a +> > new "headerblock" parameter, but trying to clearly document the +> > interaction of data/headerblock/header parameters was too awkward. -- [[Jon]] + +> Perhaps +> something like this would be easier to use in practice? +> (and also more featureful :-) ) +> +> \[[!table header="2 rows 1 column" data=""" +> Name | Platform || +> | Windows | Mac | Linux +> ikiwiki | no | yes | yes +> Starcraft | yes | yes | via Wine +> """]] + +> > Thanks for your prompt feedback! +> > +> > This would probably be good, yes, and having mixed row/column headers is +> > definitely a nice-to-have. I don't relish the prospect of writing the parser +> > but I see you've made a stab already... +> > +> > One thing you'd lose, but it's debatable whether this is valuable, would be +> > to have the header defined in the directive, and the remaining table data +> > declared in an external CSV. -- [[Jon]] + +> intended to be rendered like +> +> <table> +> <tr><th>Name</th><th colspan=2>Platform</th> +> <tr><th></th><th>Windows</th><th>Mac</th><th>Linux</th></tr> +> <tr><th>ikiwiki</th><td>no</td><td>yes</td><td>yes</td></tr> +> <tr><th>Starcraft</th><td>yes</td><td>yes</td><td>via Wine</td></tr> +> </table> +> +> (Deliberately switching to plain-text to make it more obvious +> what's a `<th>` and what's `<td>`.) +> +> Vague pseudocode for parsing `headers` +> (possibly even valid Perl, I'm not sure): +> +> my ($header_rows, $header_cols); +> while ($header =~ s/(\d*)\W*(\w+)//) { +> my $n = ($1 or 0); +> my $what = $2; +> if ($what =~ m/rows?/) { +> $header_rows = $n; +> } +> elif ($what =~ m/col(?:umn)?s?/) { +> $header_cols = $n; +> } +> } +> +> and it would even be fairly easy to extend to support +> `(first|last|)\W*(\d*)\W*(\w+)` later, e.g. +> `header="1 row, first 2 cols, last column"`. +> +> --[[smcv]] + +> > To be clear I think your suggestion is a good one, but my hack has +> > addressed my immediate need so it's the one I'm deploying at $ork for the +> > time being. I'm unlikely to have time to implement this solution in the +> > near future. -- [[Jon]] |