1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
[[!tag wishlist]]
[[!toc ]]
Summary
=======
Allow a user to apply an arbitrary diff, in order to modify a given
page (or, even better, a given set of pages).
Rationale
=========
To edit intensively an ikiwiki-powered website can quickly get
annoying for anybody meeting enough of the following conditions:
* living mainly offline
* having no commit access to the RCS backing up the site (BTW, please
note I can send my ssh public key to anyone who asks for, free of
charges)
* hating web-browsers and despising textareas
* loving in his/her own preferred `$EDITOR`
... and when one gathers all of these defaults, she/he is on her/his
way to get mad. Soon.
Before it's too late, some dareful ones dream of the following
playflow:
1. Go online.
1. Update local working copy.
1. Go offline.
1. `$EDITOR` : write, report, answer, propose
1. Go online.
1. Update local working copy (and optionally fix conflicts between
local changes and remote ones).
1. Generate a diff.
1. Use a web-browser to paste the diffs (or better, upload them into
a form) somewhere on the wiki, and click "Apply".
1. git pull (to reflect locally the fact that the diff has been
applied to the remote repo)
1. Go offline.
(This is for sure a bit theoretical: the ones who dream of this would
actually insert various steps about branching, merging and rebasing
random stuff.)
Design
======
This has to be thought very carefully, to avoid one to apply diffs to
pages he/she is not allowed to edit. Restricting a given diff to
modify only *one* page may be easier.
Implementation
==============
|