Recent changes to this wiki:

wikilink table directive and plugin
diff --git a/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn b/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn
index 7463dbf19..a97a592b2 100644
--- a/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn
+++ b/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn
@@ -1 +1 @@
-when using the table directive with the table plugin, if I use the data argument to specify a file as a source of the data, I currently have to give a full path from the root of the wiki to the file.  I should be able to give just the file name and have the file located using the same rules that are followed when creating wiki links.  
+when using the [[table directive|ikiwiki/directive/table]] with the [[table plugin|plugins/table]], if I use the data argument to specify a file as a source of the data, I currently have to give a full path from the root of the wiki to the file.  I should be able to give just the file name and have the file located using the same rules that are followed when creating wiki links.  

diff --git a/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn b/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn
new file mode 100644
index 000000000..7463dbf19
--- /dev/null
+++ b/doc/bugs/the_data_argument_for_the_table_directive_should_follow_linking_rules.mdwn
@@ -0,0 +1 @@
+when using the table directive with the table plugin, if I use the data argument to specify a file as a source of the data, I currently have to give a full path from the root of the wiki to the file.  I should be able to give just the file name and have the file located using the same rules that are followed when creating wiki links.  

still an issue
diff --git a/doc/bugs/table_can_not_deal_with_Chinese_.mdwn b/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
index f115fbebb..e57bd3c05 100644
--- a/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
+++ b/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
@@ -137,3 +137,8 @@ I'm going to attempt to work around it by moving to an external CSV. ­— [[Jon
 >> libtext-csv-xs-perl	1.38-1. Further fiddling will commence.
 >> (removing libtext-csv-xs-perl does not help.)
 — [[Jon]]
+
+>>> Still hitting this [[plugins/table]] bug, using ikiwiki=3.20200202.3, buster system, no libtext-csv-perl installed,
+>>> libperl5.28:amd64       5.28.1-6, no libtext-csv-xs-perl. Workaround is to set format=tsv,
+>>> even though I'm overriding the delimiter to \t. This reproduces easily in the  quay.io/jdowland/opinionated-ikiwiki
+>>> container FWIW. *— [[Jon]], 2020-06-26*

how to use dumpsetup
diff --git a/doc/usage/discussion.mdwn b/doc/usage/discussion.mdwn
index c96059683..9fd6ab36e 100644
--- a/doc/usage/discussion.mdwn
+++ b/doc/usage/discussion.mdwn
@@ -1,3 +1,5 @@
 Man page does not document "account\_creation\_password". I started to add it, then noticed other configurations are not documented in the manual page either. --[[JeremyReed]]
 
 The description of "--dumpsetup" says that it dumps the current configuration. For me, it always dumps the same blank/initial/default configuration. For example, "wikiname" is always "wiki". This is after changing my setup file and running ikiwiki --setup. FWIW ...--[[KarlBerry]]
+
+> You need to use `--dumpsetup` at the same time as specifying your setup, i.e. `ikiwiki --setup input-setup-file --dumpsetup output-setup-file`, or `ikiwiki [ configuration flags on command line instead of setup file ] --dumpsetup output-setup` *— [[Jon]] 2020-06-23*

diff --git a/doc/forum/backslash_and_other_unusual_characters_in_page_names.mdwn b/doc/forum/backslash_and_other_unusual_characters_in_page_names.mdwn
new file mode 100644
index 000000000..4984d63e5
--- /dev/null
+++ b/doc/forum/backslash_and_other_unusual_characters_in_page_names.mdwn
@@ -0,0 +1,20 @@
+Is there a way to support backslash or other "unusual" characters in
+the output .html names?
+
+I added `\\` to wiki_file_chars (not just `\` since this value is
+the contents of a Perl [...] regexp, per
+IkiWiki.pm). But doing this and then creating a file \foo.mdwn on the
+source side is not enough, because the backslash is autotranslated to /
+(for the sake of Windows I suppose), resulting in
+http://example.org//foo/.
+
+I'm looking to make a TeX-related wiki. Hence having backslash as a
+normal character is desirable. I know there would be plenty more complications,
+but, just exploring the options ...
+
+Generalizing from backslashes, is there a way to control the mapping
+from .mdwn names to the output .html names (and directories I guess),
+apart from the specific usedirs and indexpages settings?
+
+I've glanced through plugins and done a bunch of web searches without
+any success. Any help appreciated. Thanks. --[[KarlBerry]]

Added a comment: documentation of post-commit wrappers
diff --git a/doc/forum/installation_and_setup_questions/comment_1_6af4a43bc2bb3a239bed63357aced4ac._comment b/doc/forum/installation_and_setup_questions/comment_1_6af4a43bc2bb3a239bed63357aced4ac._comment
new file mode 100644
index 000000000..b0d2627db
--- /dev/null
+++ b/doc/forum/installation_and_setup_questions/comment_1_6af4a43bc2bb3a239bed63357aced4ac._comment
@@ -0,0 +1,23 @@
+[[!comment format=mdwn
+ username="karl@d1f18fed27c24017d3937186b8675b57da67efc7"
+ nickname="karl"
+ avatar="http://cdn.libravatar.org/avatar/c3c4ce72a68266355f51f0006a576199"
+ subject="documentation of post-commit wrappers"
+ date="2020-06-17T16:41:57Z"
+ content="""
+I set up a new wiki \"by hand\". https://ikiwiki.info/setup/byhand/ says: 
+
+> Uncomment the configuration for the wrapper for your revision control system, and configure thewrapper path appropriately (for Git, it should be the path to hooks/post-update inside the bare git repository).
+
+However, there are no commented-out wrapper configurations in the ikiwiki.setup file created by --dumpsetup, as far as I could discern.
+
+https://ikiwiki.info/post-commit/discussion/ has an example, but it (like much else I see around here) uses Perl syntax, and so no longer applies to the yaml ikiwiki.setup, yielding the usual YAML::XS::Load Error.
+
+So I blindly changed the =>'s to :'s, and it worked (yay!):
+
+    wrappers: [ { wrapper: \"/my/svn/wiki/hooks/post-commit-ikiwiki\", wrappermode: \"04755\", notify: 1, } ]
+
+If I didn't miss the real documentation for this config file setting, it would be nice to have it in the --dumpsetup file, or the post-commit page, or the rcs/details page, or somewhere. Thanks. --[[KarlBerry]
+
+
+"""]]

--dumpsetup description inaccurate?
diff --git a/doc/usage/discussion.mdwn b/doc/usage/discussion.mdwn
index 189d74eb0..c96059683 100644
--- a/doc/usage/discussion.mdwn
+++ b/doc/usage/discussion.mdwn
@@ -1 +1,3 @@
 Man page does not document "account\_creation\_password". I started to add it, then noticed other configurations are not documented in the manual page either. --[[JeremyReed]]
+
+The description of "--dumpsetup" says that it dumps the current configuration. For me, it always dumps the same blank/initial/default configuration. For example, "wikiname" is always "wiki". This is after changing my setup file and running ikiwiki --setup. FWIW ...--[[KarlBerry]]

oh, we don't use comments here, do we?
diff --git a/doc/bugs/git_test_receive_wrapper_fails.mdwn b/doc/bugs/git_test_receive_wrapper_fails.mdwn
index fcac46c5f..9deba1da3 100644
--- a/doc/bugs/git_test_receive_wrapper_fails.mdwn
+++ b/doc/bugs/git_test_receive_wrapper_fails.mdwn
@@ -31,3 +31,46 @@ git env vars:
 [[!commit 6fb43c29f63b85c3424520819427903e5a204426]] is relevant to that,
 and I guess it didn't fully solve the problem.
 --[[Joey]]
+
+Stracing git-daemon -f I noticed this:
+
+	[pid 22616] lstat64("/home/b-ikiwiki/source.git/HEAD", {st_mode=S_IFREG|0664, st_size=23, ...}) = 0
+	[pid 22616] openat(AT_FDCWD, "/home/b-ikiwiki/source.git/HEAD", O_RDONLY|O_LARGEFILE) = 3
+	[pid 22616] read(3, "ref: refs/heads/master\n", 255) = 23
+	[pid 22616] read(3, "", 232)            = 0
+	[pid 22616] close(3)                    = 0
+	[pid 22616] lstat64("/home/b-ikiwiki/source.git/commondir", 0xbf83896c) = -1 ENOENT (No such file or directory)
+	[pid 22616] access("/home/b-ikiwiki/source.git/./objects/incoming-gXNPXm", X_OK) = -1 EACCES (Permission denied)
+	[pid 22616] stat64("/home/b-ikiwiki", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+
+So the git diff is in the right cwd, it gets as far as reading HEAD. But then
+this permissions error on this incoming directory happens, and it then seems to
+give up and search for a different git repo to use in the parent directory (and all the way up to root).
+
+The directory is created by git earlier in the strace:
+
+	[pid 22559] mkdir("./objects/incoming-gXNPXm", 0700) = 0
+
+And here's how it looks:
+
+	drwx------+ 7 ikiwiki-anon ikiwiki-anon 4096 Jun 14 00:22 incoming-y6a8pe/
+
+And I think that's the problem, by the time ikiwiki runs it's switched
+away from the ikiwiki-anon user that git-daemon uses, and over to the
+site user. Which can't read that.
+
+source.git has an ACL set to let ikiwiki-anon write to it. 
+
+	ikisite:		eval { shell("setfacl", "-R", "-m", "d:g:$config{gitdaemonuser}:rwX,d:g:$user:rwX,g:$config{gitdaemonuser}:rwX,g:$user:rwX", "$home/source.git") };
+
+Can this ACL be adjusted so that all directories created under it will be readable
+ by the site user (b-ikiwiki)? I don't know ACLs very well.
+
+Alternatively, `GIT_QUARANTINE_PATH` is set to the directory, so
+the C wrapper could fix up its permissions. The wrapper is suid,
+so either would need to switch user ID back to ikiwiki-anon, if that's allowed,
+or there would need to be an outer wrapper that's not suid (just a shell
+script would work) that then runs the regular suid wrapper.
+
+> This was not a bug in ikiwiki, but ikiwiki-hosting. Fixed there (using
+> the wrapper wrapper approach). [[done]] --[[Joey]]
diff --git a/doc/bugs/git_test_receive_wrapper_fails/comment_1_076d23581986bf53295100f2dd68b5d8._comment b/doc/bugs/git_test_receive_wrapper_fails/comment_1_076d23581986bf53295100f2dd68b5d8._comment
deleted file mode 100644
index 8775cbee1..000000000
--- a/doc/bugs/git_test_receive_wrapper_fails/comment_1_076d23581986bf53295100f2dd68b5d8._comment
+++ /dev/null
@@ -1,45 +0,0 @@
-[[!comment format=mdwn
- username="joey"
- subject="""comment 1"""
- date="2020-06-14T00:17:35Z"
- content="""
-Stracing git-daemon -f I noticed this:
-
-	[pid 22616] lstat64("/home/b-ikiwiki/source.git/HEAD", {st_mode=S_IFREG|0664, st_size=23, ...}) = 0
-	[pid 22616] openat(AT_FDCWD, "/home/b-ikiwiki/source.git/HEAD", O_RDONLY|O_LARGEFILE) = 3
-	[pid 22616] read(3, "ref: refs/heads/master\n", 255) = 23
-	[pid 22616] read(3, "", 232)            = 0
-	[pid 22616] close(3)                    = 0
-	[pid 22616] lstat64("/home/b-ikiwiki/source.git/commondir", 0xbf83896c) = -1 ENOENT (No such file or directory)
-	[pid 22616] access("/home/b-ikiwiki/source.git/./objects/incoming-gXNPXm", X_OK) = -1 EACCES (Permission denied)
-	[pid 22616] stat64("/home/b-ikiwiki", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
-
-So the git diff is in the right cwd, it gets as far as reading HEAD. But then
-this permissions error on this incoming directory happens, and it then seems to
-give up and search for a different git repo to use in the parent directory (and all the way up to root).
-
-The directory is created by git earlier in the strace:
-
-	[pid 22559] mkdir("./objects/incoming-gXNPXm", 0700) = 0
-
-And here's how it looks:
-
-	drwx------+ 7 ikiwiki-anon ikiwiki-anon 4096 Jun 14 00:22 incoming-y6a8pe/
-
-And I think that's the problem, by the time ikiwiki runs it's switched
-away from the ikiwiki-anon user that git-daemon uses, and over to the
-site user. Which can't read that.
-
-source.git has an ACL set to let ikiwiki-anon write to it. 
-
-	ikisite:		eval { shell("setfacl", "-R", "-m", "d:g:$config{gitdaemonuser}:rwX,d:g:$user:rwX,g:$config{gitdaemonuser}:rwX,g:$user:rwX", "$home/source.git") };
-
-Can this ACL be adjusted so that all directories created under it will be readable
- by the site user (b-ikiwiki)? I don't know ACLs very well.
-
-Alternatively, `GIT_QUARANTINE_PATH` is set to the directory, so
-the C wrapper could fix up its permissions. The wrapper is suid,
-so either would need to switch user ID back to ikiwiki-anon, if that's allowed,
-or there would need to be an outer wrapper that's not suid (just a shell
-script would work) that then runs the regular suid wrapper.
-"""]]

anon push test
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index ba3917e48..34d4c2c06 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -6,8 +6,6 @@ Why doesn't the following work?..
 Sure it is.
 ===========
 
-I hope baby.
-
 ~~~
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 ~~~

anon push test
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index ed0aadf2c..ba3917e48 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -12,8 +12,6 @@ I hope baby.
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 ~~~
 
-Nope my friend.
-
 List:
 
 * thing 1

analysis; ACL may be needed
diff --git a/doc/bugs/git_test_receive_wrapper_fails/comment_1_076d23581986bf53295100f2dd68b5d8._comment b/doc/bugs/git_test_receive_wrapper_fails/comment_1_076d23581986bf53295100f2dd68b5d8._comment
new file mode 100644
index 000000000..8775cbee1
--- /dev/null
+++ b/doc/bugs/git_test_receive_wrapper_fails/comment_1_076d23581986bf53295100f2dd68b5d8._comment
@@ -0,0 +1,45 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2020-06-14T00:17:35Z"
+ content="""
+Stracing git-daemon -f I noticed this:
+
+	[pid 22616] lstat64("/home/b-ikiwiki/source.git/HEAD", {st_mode=S_IFREG|0664, st_size=23, ...}) = 0
+	[pid 22616] openat(AT_FDCWD, "/home/b-ikiwiki/source.git/HEAD", O_RDONLY|O_LARGEFILE) = 3
+	[pid 22616] read(3, "ref: refs/heads/master\n", 255) = 23
+	[pid 22616] read(3, "", 232)            = 0
+	[pid 22616] close(3)                    = 0
+	[pid 22616] lstat64("/home/b-ikiwiki/source.git/commondir", 0xbf83896c) = -1 ENOENT (No such file or directory)
+	[pid 22616] access("/home/b-ikiwiki/source.git/./objects/incoming-gXNPXm", X_OK) = -1 EACCES (Permission denied)
+	[pid 22616] stat64("/home/b-ikiwiki", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+
+So the git diff is in the right cwd, it gets as far as reading HEAD. But then
+this permissions error on this incoming directory happens, and it then seems to
+give up and search for a different git repo to use in the parent directory (and all the way up to root).
+
+The directory is created by git earlier in the strace:
+
+	[pid 22559] mkdir("./objects/incoming-gXNPXm", 0700) = 0
+
+And here's how it looks:
+
+	drwx------+ 7 ikiwiki-anon ikiwiki-anon 4096 Jun 14 00:22 incoming-y6a8pe/
+
+And I think that's the problem, by the time ikiwiki runs it's switched
+away from the ikiwiki-anon user that git-daemon uses, and over to the
+site user. Which can't read that.
+
+source.git has an ACL set to let ikiwiki-anon write to it. 
+
+	ikisite:		eval { shell("setfacl", "-R", "-m", "d:g:$config{gitdaemonuser}:rwX,d:g:$user:rwX,g:$config{gitdaemonuser}:rwX,g:$user:rwX", "$home/source.git") };
+
+Can this ACL be adjusted so that all directories created under it will be readable
+ by the site user (b-ikiwiki)? I don't know ACLs very well.
+
+Alternatively, `GIT_QUARANTINE_PATH` is set to the directory, so
+the C wrapper could fix up its permissions. The wrapper is suid,
+so either would need to switch user ID back to ikiwiki-anon, if that's allowed,
+or there would need to be an outer wrapper that's not suid (just a shell
+script would work) that then runs the regular suid wrapper.
+"""]]

testing anon git push
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index cfed31307..ed0aadf2c 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -3,7 +3,7 @@
 Why doesn't the following work?..
 [[!color  foreground=white background=#ff0000 text="White text on red background"]]
 
-Sure it is.sss
+Sure it is.
 ===========
 
 I hope baby.

test alternative header link name
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index db8aa639a..cfed31307 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -1,4 +1,4 @@
-###Is this a heading? 
+### Is this a heading?
 
 Why doesn't the following work?..
 [[!color  foreground=white background=#ff0000 text="White text on red background"]]
@@ -59,7 +59,7 @@ markdown `inline` single-backquotes?
 
 - foo
 
-## two
+## two {#alt-link-name-not-working}
 
 - bar
 

Record a spammy sequence of edits.
diff --git a/doc/spam_fighting.mdwn b/doc/spam_fighting.mdwn
index 67c8e0409..bb8bc904d 100644
--- a/doc/spam_fighting.mdwn
+++ b/doc/spam_fighting.mdwn
@@ -38,4 +38,5 @@ ca4d8fc and 17 more | 2015/01/12-14 | spalax. (note the trailing dot) | 122.173.
 992f995 | 2015/03/20 | snape (OpenID) | 187.209.217.54
 1d05cf3 | 2015/05/20 | justine (OpenID) | ?
 697a0e4 and bc1b60b | 2019/12/21 | 360boom720@gmail.com | 99.203.143.171
+39c6ce3 and 13 more | 2020/06/04 | gogreenjogja1453@gmail.com | 114.142.169.63
 """]]

Revert jasatamanjogja spam edits.
diff --git a/doc/TourBusStop.mdwn b/doc/TourBusStop.mdwn
index 7e1c498fd..8e382bd77 100644
--- a/doc/TourBusStop.mdwn
+++ b/doc/TourBusStop.mdwn
@@ -7,7 +7,7 @@ This wiki serves as the home for the ikiwiki wiki engine, providing collaborativ
 * Rather than inventing yet another simplistic, linear version control system, ikiwiki uses a standard version control system such as [[Subversion|rcs/svn]] or [[rcs/Git]].  You can edit a wiki by committing to your repository, as well as through a traditional web interface.  This makes ikiwiki ideal for collaborative software development; just keep your wiki in version control next to your software.  You can also take full advantage of the features of these systems; for instance, you can keep a local branch of your wiki via [[rcs/Git]].
 
 * You can turn any set of pages into a [[blog]] or similar news feed,
-* complete with RSS and Atom support.  You can run your weblog on ikiwiki (and [[many_people_do|jasatamanjogja]]), run a Planet-like [[aggregator|plugins/aggregate]] for external feeds, or keep a [[TODO]] and [[bug|bugs]] list with tags for completed items.
+* complete with RSS and Atom support.  You can run your weblog on ikiwiki (and [[many_people_do|ikiwikiusers]]), run a Planet-like [[aggregator|plugins/aggregate]] for external feeds, or keep a [[TODO]] and [[bug|bugs]] list with tags for completed items.
 
 * ikiwiki provides a wiki compiler, designed to transform your wiki content into a set of static pages.  You can then serve these pages as static content.  ikiwiki will not fall over during a Slashdotting, because page views don't require the ikiwiki CGI; as long as your web server can keep up, your site will survive.  Furthermore, you can choose whether you want to run the ikiwiki CGI for web edits or only handle commits to the underlying version control system; you can even run ikiwiki privately and just manually copy the content to another server.  So if you want to put a wiki up on a server without installing any software on that server, try ikiwiki.
 
@@ -25,6 +25,6 @@ Famous sights to visit here at **ikiwiki**
 ==========================================
 
 * [[features]]: See what ikiwiki can do, and why you might choose it for your wiki.
-* [[jasatamanjogja]]: The list of projects, personal sites, and blogs that use ikiwiki.
+* [[ikiwikiusers]]: The list of projects, personal sites, and blogs that use ikiwiki.
 * [[plugins]]: See the many ways people have extended ikiwiki.
 * [[examples]]: Example sites built using ikiwiki.
diff --git a/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn b/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn
index 1345c0b17..9f1e89397 100644
--- a/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn
+++ b/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn
@@ -1,5 +1,5 @@
 I edited some pages on the ikiwiki ikiwiki ([[/shortcuts]] and
-[[/jasatamanjogja]]).  The edits show up in RecentChanges and History, but not
+[[/ikiwikiusers]]).  The edits show up in RecentChanges and History, but not
 in the compiled pages.  --[[JoshTriplett]]
 
 Well, I seem to have fixed this now (crossed fingers) --[[Joey]]
diff --git a/doc/competition.mdwn b/doc/competition.mdwn
index 9a55214d1..2c782ea92 100644
--- a/doc/competition.mdwn
+++ b/doc/competition.mdwn
@@ -4,7 +4,7 @@ files stored in a [[VCS|rcs]]. My
 [first blog about ikiwiki](http://kitenet.net/~joey/blog/entry/seeking_wiki/)
 looked at some projects that were semi-close, and found them wanting.
 
-My hope was that besides being useful to all its [[users|jasatamanjogja]],
+My hope was that besides being useful to all its [[users|ikiwikiusers]],
 ikiwiki would help spread its underlying concepts. Let a thousand flowers
 bloom! These are some that have sprung up since. --[[Joey]]
 
diff --git a/doc/download.mdwn b/doc/download.mdwn
index 7a36d8318..3890df9f2 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -1,5 +1,5 @@
 Here's how to get ikiwiki in source or prepackaged form. See [[setup]] for
-how to use it, and be sure to add your wiki to [[Jasatamanjogja]] if you use
+how to use it, and be sure to add your wiki to [[IkiwikiUsers]] if you use
 ikiwiki.
 
 ## source
diff --git a/doc/jasatamanjogja.mdwn b/doc/ikiwikiusers.mdwn
similarity index 100%
rename from doc/jasatamanjogja.mdwn
rename to doc/ikiwikiusers.mdwn
diff --git a/doc/jasatamanjogja/discussion.mdwn b/doc/ikiwikiusers/discussion.mdwn
similarity index 88%
rename from doc/jasatamanjogja/discussion.mdwn
rename to doc/ikiwikiusers/discussion.mdwn
index 52acd941a..2c211b097 100644
--- a/doc/jasatamanjogja/discussion.mdwn
+++ b/doc/ikiwikiusers/discussion.mdwn
@@ -32,7 +32,7 @@ Hopefully I will be one of the ikiwiki users one day :) cheers --[[Chao]]
 
 ----
 
-Are there automated hosting sites for ikiwiki yet?  If you know one, can you add one in a new section on [[jasatamanjogja]] please?  If you don't know any and you're willing to pay to set one up (shouldn't be much more expensive than a single ikiwiki IMO), [contact me](http://www.ttllp.co.uk/contact.html) and let's talk. -- MJR
+Are there automated hosting sites for ikiwiki yet?  If you know one, can you add one in a new section on [[ikiwikiusers]] please?  If you don't know any and you're willing to pay to set one up (shouldn't be much more expensive than a single ikiwiki IMO), [contact me](http://www.ttllp.co.uk/contact.html) and let's talk. -- MJR
 
 ----
 
diff --git a/doc/news.mdwn b/doc/news.mdwn
index ffafea576..58413f94c 100644
--- a/doc/news.mdwn
+++ b/doc/news.mdwn
@@ -1,5 +1,5 @@
 This is where announcements of new releases, features, and other news are
-posted. [[Jasatamanjogja]] are recommended to subscribe to this page's RSS
+posted. [[IkiWikiUsers]] are recommended to subscribe to this page's RSS
 feed.
 
 [[!inline pages="news/* and !news/*/* and !news/discussion"
diff --git a/doc/news/stylesheets.mdwn b/doc/news/stylesheets.mdwn
index 65a1ac0e0..86b0ea9c7 100644
--- a/doc/news/stylesheets.mdwn
+++ b/doc/news/stylesheets.mdwn
@@ -6,7 +6,7 @@ going on than you might think, and it's actually all done with xhtml and
 style sheets.
 
 Stefano Zacchiroli came up with the idea of adding a [[css_market]] page
-where [[Jasatamanjogja]] can share style sheets that you've come up with for
+where [[IkiWikiUsers]] can share style sheets that you've come up with for
 ikiwiki. This is a great idea and I encourage those of you who have
 customised stylesheets to post them.
 
diff --git a/doc/setup.mdwn b/doc/setup.mdwn
index 4f924d5cd..9fc37c0b1 100644
--- a/doc/setup.mdwn
+++ b/doc/setup.mdwn
@@ -145,7 +145,7 @@ setup file.
 
 ## Enjoy your new wiki!
 
-Add yourself to [[Jasatamanjogja]]. And check out
+Add yourself to [[IkiWikiUsers]]. And check out
 the [[tips]] to find out how to get more out of ikiwiki.
 
 ----
diff --git a/doc/setup/byhand.mdwn b/doc/setup/byhand.mdwn
index 98f73d6e6..6d0f37cd9 100644
--- a/doc/setup/byhand.mdwn
+++ b/doc/setup/byhand.mdwn
@@ -198,5 +198,5 @@ by web users will also be committed using revision control.
 
 ## Enjoy your new wiki!
 
-Add yourself to [[Jasatamanjogja]]. And check out
+Add yourself to [[IkiWikiUsers]]. And check out
 the [[tips]] to find out how to get more out of ikiwiki.
diff --git a/doc/templates/links.mdwn b/doc/templates/links.mdwn
index 837591716..946694d1b 100644
--- a/doc/templates/links.mdwn
+++ b/doc/templates/links.mdwn
@@ -6,7 +6,7 @@
 <li>[[Download]]</li>
 <li>[[Setup]]</li>
 <li>[[Security]]</li>
-<li>[[Users|Jasatamanjogja]]</li>
+<li>[[Users|IkiWikiUsers]]</li>
 <li>[[SiteMap]]</li>
 <li>[[Contact]]</li>
 <li>[[TipJar]]</li>
diff --git a/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn b/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn
index 156083796..1390412f4 100644
--- a/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn
+++ b/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn
@@ -44,7 +44,7 @@ Ikiwiki is a full-featured wiki that you can use
 for a variety of purposes, from traditional wikis
 to weblogs, podcasting, or even aggregating other
 sites' RSS feeds into a Planet page. While people
-are [[using|jasatamanjogja]]
+are [[using|ikiwikiusers]]
 Ikiwiki for purposes ranging from genealogy research
 to shoe accessory sales, one thing it's especially
 well suited for is collaborative software development,
diff --git a/doc/users.mdwn b/doc/users.mdwn
index 9ffd89753..cc3cf5268 100644
--- a/doc/users.mdwn
+++ b/doc/users.mdwn
@@ -1,4 +1,4 @@
-See [[Jasatamanjogja]] for the list of sites using ikiwiki.
+See [[IkiwikiUsers]] for the list of sites using ikiwiki.
 
 Users of this wiki, feel free to create a subpage of this one and talk
 about yourself on it, within reason. You can link to it to sign your
diff --git a/doc/users/KarlMW/discussion.mdwn b/doc/users/KarlMW/discussion.mdwn
index 29036669a..4a111a3f9 100644
--- a/doc/users/KarlMW/discussion.mdwn
+++ b/doc/users/KarlMW/discussion.mdwn
@@ -1,4 +1,4 @@
-When you edited [[jasatamanjogja]] all the utf-8 on the page was removed. Is this an issue with the web browser you used? I've fixed the utf-8 damage. --[[Joey]]
+When you edited [[ikiwikiusers]] all the utf-8 on the page was removed. Is this an issue with the web browser you used? I've fixed the utf-8 damage. --[[Joey]]
 
 > Ooops!  Sorry - yes, my fault - I was using w3m, which spawned nano to edit the text, and I'm not setup for utf-8.  I'll be more careful in future.  --[[KarlMW]]
 

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/setup.mdwn b/doc/setup.mdwn
index 9fc37c0b1..4f924d5cd 100644
--- a/doc/setup.mdwn
+++ b/doc/setup.mdwn
@@ -145,7 +145,7 @@ setup file.
 
 ## Enjoy your new wiki!
 
-Add yourself to [[IkiWikiUsers]]. And check out
+Add yourself to [[Jasatamanjogja]]. And check out
 the [[tips]] to find out how to get more out of ikiwiki.
 
 ----

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn b/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn
index 1390412f4..156083796 100644
--- a/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn
+++ b/doc/tips/integrated_issue_tracking_with_ikiwiki.mdwn
@@ -44,7 +44,7 @@ Ikiwiki is a full-featured wiki that you can use
 for a variety of purposes, from traditional wikis
 to weblogs, podcasting, or even aggregating other
 sites' RSS feeds into a Planet page. While people
-are [[using|ikiwikiusers]]
+are [[using|jasatamanjogja]]
 Ikiwiki for purposes ranging from genealogy research
 to shoe accessory sales, one thing it's especially
 well suited for is collaborative software development,

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/download.mdwn b/doc/download.mdwn
index 3890df9f2..7a36d8318 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -1,5 +1,5 @@
 Here's how to get ikiwiki in source or prepackaged form. See [[setup]] for
-how to use it, and be sure to add your wiki to [[IkiwikiUsers]] if you use
+how to use it, and be sure to add your wiki to [[Jasatamanjogja]] if you use
 ikiwiki.
 
 ## source

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/setup/byhand.mdwn b/doc/setup/byhand.mdwn
index 6d0f37cd9..98f73d6e6 100644
--- a/doc/setup/byhand.mdwn
+++ b/doc/setup/byhand.mdwn
@@ -198,5 +198,5 @@ by web users will also be committed using revision control.
 
 ## Enjoy your new wiki!
 
-Add yourself to [[IkiWikiUsers]]. And check out
+Add yourself to [[Jasatamanjogja]]. And check out
 the [[tips]] to find out how to get more out of ikiwiki.

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/TourBusStop.mdwn b/doc/TourBusStop.mdwn
index 8e382bd77..7e1c498fd 100644
--- a/doc/TourBusStop.mdwn
+++ b/doc/TourBusStop.mdwn
@@ -7,7 +7,7 @@ This wiki serves as the home for the ikiwiki wiki engine, providing collaborativ
 * Rather than inventing yet another simplistic, linear version control system, ikiwiki uses a standard version control system such as [[Subversion|rcs/svn]] or [[rcs/Git]].  You can edit a wiki by committing to your repository, as well as through a traditional web interface.  This makes ikiwiki ideal for collaborative software development; just keep your wiki in version control next to your software.  You can also take full advantage of the features of these systems; for instance, you can keep a local branch of your wiki via [[rcs/Git]].
 
 * You can turn any set of pages into a [[blog]] or similar news feed,
-* complete with RSS and Atom support.  You can run your weblog on ikiwiki (and [[many_people_do|ikiwikiusers]]), run a Planet-like [[aggregator|plugins/aggregate]] for external feeds, or keep a [[TODO]] and [[bug|bugs]] list with tags for completed items.
+* complete with RSS and Atom support.  You can run your weblog on ikiwiki (and [[many_people_do|jasatamanjogja]]), run a Planet-like [[aggregator|plugins/aggregate]] for external feeds, or keep a [[TODO]] and [[bug|bugs]] list with tags for completed items.
 
 * ikiwiki provides a wiki compiler, designed to transform your wiki content into a set of static pages.  You can then serve these pages as static content.  ikiwiki will not fall over during a Slashdotting, because page views don't require the ikiwiki CGI; as long as your web server can keep up, your site will survive.  Furthermore, you can choose whether you want to run the ikiwiki CGI for web edits or only handle commits to the underlying version control system; you can even run ikiwiki privately and just manually copy the content to another server.  So if you want to put a wiki up on a server without installing any software on that server, try ikiwiki.
 
@@ -25,6 +25,6 @@ Famous sights to visit here at **ikiwiki**
 ==========================================
 
 * [[features]]: See what ikiwiki can do, and why you might choose it for your wiki.
-* [[ikiwikiusers]]: The list of projects, personal sites, and blogs that use ikiwiki.
+* [[jasatamanjogja]]: The list of projects, personal sites, and blogs that use ikiwiki.
 * [[plugins]]: See the many ways people have extended ikiwiki.
 * [[examples]]: Example sites built using ikiwiki.

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/templates/links.mdwn b/doc/templates/links.mdwn
index 946694d1b..837591716 100644
--- a/doc/templates/links.mdwn
+++ b/doc/templates/links.mdwn
@@ -6,7 +6,7 @@
 <li>[[Download]]</li>
 <li>[[Setup]]</li>
 <li>[[Security]]</li>
-<li>[[Users|IkiWikiUsers]]</li>
+<li>[[Users|Jasatamanjogja]]</li>
 <li>[[SiteMap]]</li>
 <li>[[Contact]]</li>
 <li>[[TipJar]]</li>

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/news.mdwn b/doc/news.mdwn
index 58413f94c..ffafea576 100644
--- a/doc/news.mdwn
+++ b/doc/news.mdwn
@@ -1,5 +1,5 @@
 This is where announcements of new releases, features, and other news are
-posted. [[IkiWikiUsers]] are recommended to subscribe to this page's RSS
+posted. [[Jasatamanjogja]] are recommended to subscribe to this page's RSS
 feed.
 
 [[!inline pages="news/* and !news/*/* and !news/discussion"

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn b/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn
index 9f1e89397..1345c0b17 100644
--- a/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn
+++ b/doc/bugs/edits_not_showing_up_in_compiled_pages.mdwn
@@ -1,5 +1,5 @@
 I edited some pages on the ikiwiki ikiwiki ([[/shortcuts]] and
-[[/ikiwikiusers]]).  The edits show up in RecentChanges and History, but not
+[[/jasatamanjogja]]).  The edits show up in RecentChanges and History, but not
 in the compiled pages.  --[[JoshTriplett]]
 
 Well, I seem to have fixed this now (crossed fingers) --[[Joey]]

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/jasatamanjogja/discussion.mdwn b/doc/jasatamanjogja/discussion.mdwn
index 2c211b097..52acd941a 100644
--- a/doc/jasatamanjogja/discussion.mdwn
+++ b/doc/jasatamanjogja/discussion.mdwn
@@ -32,7 +32,7 @@ Hopefully I will be one of the ikiwiki users one day :) cheers --[[Chao]]
 
 ----
 
-Are there automated hosting sites for ikiwiki yet?  If you know one, can you add one in a new section on [[ikiwikiusers]] please?  If you don't know any and you're willing to pay to set one up (shouldn't be much more expensive than a single ikiwiki IMO), [contact me](http://www.ttllp.co.uk/contact.html) and let's talk. -- MJR
+Are there automated hosting sites for ikiwiki yet?  If you know one, can you add one in a new section on [[jasatamanjogja]] please?  If you don't know any and you're willing to pay to set one up (shouldn't be much more expensive than a single ikiwiki IMO), [contact me](http://www.ttllp.co.uk/contact.html) and let's talk. -- MJR
 
 ----
 

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/users/KarlMW/discussion.mdwn b/doc/users/KarlMW/discussion.mdwn
index 4a111a3f9..29036669a 100644
--- a/doc/users/KarlMW/discussion.mdwn
+++ b/doc/users/KarlMW/discussion.mdwn
@@ -1,4 +1,4 @@
-When you edited [[ikiwikiusers]] all the utf-8 on the page was removed. Is this an issue with the web browser you used? I've fixed the utf-8 damage. --[[Joey]]
+When you edited [[jasatamanjogja]] all the utf-8 on the page was removed. Is this an issue with the web browser you used? I've fixed the utf-8 damage. --[[Joey]]
 
 > Ooops!  Sorry - yes, my fault - I was using w3m, which spawned nano to edit the text, and I'm not setup for utf-8.  I'll be more careful in future.  --[[KarlMW]]
 

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/news/stylesheets.mdwn b/doc/news/stylesheets.mdwn
index 86b0ea9c7..65a1ac0e0 100644
--- a/doc/news/stylesheets.mdwn
+++ b/doc/news/stylesheets.mdwn
@@ -6,7 +6,7 @@ going on than you might think, and it's actually all done with xhtml and
 style sheets.
 
 Stefano Zacchiroli came up with the idea of adding a [[css_market]] page
-where [[IkiWikiUsers]] can share style sheets that you've come up with for
+where [[Jasatamanjogja]] can share style sheets that you've come up with for
 ikiwiki. This is a great idea and I encourage those of you who have
 customised stylesheets to post them.
 

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/competition.mdwn b/doc/competition.mdwn
index 2c782ea92..9a55214d1 100644
--- a/doc/competition.mdwn
+++ b/doc/competition.mdwn
@@ -4,7 +4,7 @@ files stored in a [[VCS|rcs]]. My
 [first blog about ikiwiki](http://kitenet.net/~joey/blog/entry/seeking_wiki/)
 looked at some projects that were semi-close, and found them wanting.
 
-My hope was that besides being useful to all its [[users|ikiwikiusers]],
+My hope was that besides being useful to all its [[users|jasatamanjogja]],
 ikiwiki would help spread its underlying concepts. Let a thousand flowers
 bloom! These are some that have sprung up since. --[[Joey]]
 

update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/users.mdwn b/doc/users.mdwn
index cc3cf5268..9ffd89753 100644
--- a/doc/users.mdwn
+++ b/doc/users.mdwn
@@ -1,4 +1,4 @@
-See [[IkiwikiUsers]] for the list of sites using ikiwiki.
+See [[Jasatamanjogja]] for the list of sites using ikiwiki.
 
 Users of this wiki, feel free to create a subpage of this one and talk
 about yourself on it, within reason. You can link to it to sign your

rename ikiwikiusers.mdwn to jasatamanjogja.mdwn
diff --git a/doc/ikiwikiusers.mdwn b/doc/jasatamanjogja.mdwn
similarity index 100%
rename from doc/ikiwikiusers.mdwn
rename to doc/jasatamanjogja.mdwn
diff --git a/doc/ikiwikiusers/discussion.mdwn b/doc/jasatamanjogja/discussion.mdwn
similarity index 100%
rename from doc/ikiwikiusers/discussion.mdwn
rename to doc/jasatamanjogja/discussion.mdwn

include the parent page for comments in the comment moderation view
diff --git a/doc/todo/include_parent_page_in_moderated_comments.mdwn b/doc/todo/include_parent_page_in_moderated_comments.mdwn
new file mode 100644
index 000000000..45f7c631b
--- /dev/null
+++ b/doc/todo/include_parent_page_in_moderated_comments.mdwn
@@ -0,0 +1 @@
+Within the CGI form for moderating comments, it would be useful to have more contextual information about a comment, in particular the page to which it would be attached were it to be approved. *— [[Jon]], 2020-06-01*

diff --git a/doc/todo/moderated_comments_notification.mdwn b/doc/todo/moderated_comments_notification.mdwn
index 389e53f25..2fddbcd9f 100644
--- a/doc/todo/moderated_comments_notification.mdwn
+++ b/doc/todo/moderated_comments_notification.mdwn
@@ -6,4 +6,6 @@ anyone worked on a patch or plugin for that? maybe it could be another plugin th
 
 alternatively, i'm thinking of a cronjob that runs daily and notifies me of new comments...
 
+update: I ended up doing the latter, see [[todo/commandline_comment_moderation]].
+
 -- [[anarcat]]

improved on this system quite a bit
diff --git a/doc/todo/commandline_comment_moderation.mdwn b/doc/todo/commandline_comment_moderation.mdwn
index 429c11536..a72fb31b2 100644
--- a/doc/todo/commandline_comment_moderation.mdwn
+++ b/doc/todo/commandline_comment_moderation.mdwn
@@ -1,4 +1,4 @@
-So I have enabled the [[moderatedcomments]] plugin on my wiki. and good thing that! around 1000 spammy comments showed up in the last 3 months! Awful!
+So I have enabled the [[plugins/moderatedcomments]] plugin on my wiki. and good thing that! around 1000 spammy comments showed up in the last 3 months! Awful!
 
 It's pretty hard to figure out the ham and the spam in there. One thing I was hoping was to use the power of the commandline to filter through all that stuff. Now, it seems there's only a "ikiwiki-comment" tool now, and nothing to examine the moderated comments.
 
@@ -58,3 +58,48 @@ The remaining 42 comments I reviewed throught the web interface, then flushed us
  --[[anarcat]]
 
 Update: i made a script, above. And the banlist is much larger now so the above list is pretty much out of date now... --[[anarcat]]
+
+Another update, 2020: I rewrote the script to support interactive batch approval and running from a cron job. I have published the [script in my own repo](https://gitlab.com/anarcat/scripts/blob/master/ikiwiki-comment-moderation) since it's python (and not perl), but I would be happy to provide it as a patch here if that's acceptable.
+
+The basic usage is as follows. First, you add the script in a cron job:
+
+    9 * * * * /home/anarcat/bin/ikiwiki-comment-moderation --source-dir=$HOME/source/
+
+This will run every hour. When there are no comments to moderate, the script is silent and you will not get mail. Otherwise you will get something like this:
+
+    date                    ip               user            subject    content
+    2020-05-27T03:42:05Z    192.168.0.116    spammer name    subject    spammy comment
+    1 comments pending moderation
+
+Then you can either go through the web interface to approve/deny the
+comments, or call the script by hand, interactively, for example:
+
+    w-anarcat@marcos:~/source$ ~anarcat/bin/ikiwiki-comment-moderation --source-dir=$HOME/source -i --verbose
+    Date : 2020-05-27T04:00:23Z
+    Ip : 192.168.0.116         
+    Claimedauthor : spammer name
+    Subject : subject          
+    Content : spammy comment   
+    approve, delete, ignore? [a/d/I] a
+    moving /home/w-anarcat/source/.ikiwiki/transient/blog/2020-04-27-drowning-camera/comment_1_07f43231a14d0ee6e78d1030aa6a7985._comment_pending to /home/w-anarcat/source/blog/2020-04-27-drowning-camera/comment_1_07f43231a14d0ee6e78d1030aa6a7985._comment
+    adding to git...           
+    [master 8f5cb10f] approve comment
+     1 file changed, 9 insertions(+)
+     create mode 100644 blog/2020-04-27-drowning-camera/comment_1_07f43231a14d0ee6e78d1030aa6a7985._comment
+    Énumération des objets: 8, fait.
+    Décompte des objets: 100% (8/8), fait.
+    Compression par delta en utilisant jusqu'à 12 fils d'exécution
+    Compression des objets: 100% (5/5), fait.
+    Écriture des objets: 100% (5/5), 566 bytes | 566.00 KiB/s, fait.
+    Total 5 (delta 3), réutilisés 0 (delta 0)
+    To /home/w-anarcat/source.git
+       91669038..8f5cb10f  master -> master
+    approved comment
+
+And you're done! In the above case, the test comment was actually
+approved (by pressing `a`), but you can also hit `d` to just delete
+the comment. The default (`i`) is to ignore the comment.
+
+I find that this is generally faster than going through a web browser, although to be as fast as the CGI interface, there would need to be a final dialog that says "delete all ignored comments" like in the CGI. Exercise for the reader or, I guess, myself when I got too many junk comments to process...
+
+Feedback, as usual, welcome. -- [[anarcat]]

diff --git a/doc/todo/moderated_comments_notification.mdwn b/doc/todo/moderated_comments_notification.mdwn
new file mode 100644
index 000000000..389e53f25
--- /dev/null
+++ b/doc/todo/moderated_comments_notification.mdwn
@@ -0,0 +1,9 @@
+i gave up on [[todo/anti-spam_protection]] protection and -- or rather -- i switched to the nuclear bomb of antispam and enabled [[plugins/moderatedcomments]] on all pages except for real users, which requires a password to create (although see [[bugs/emailauth_bypasses_account__95__creation__95__password]] for a caveat on that).
+
+i find it strange that i get a new content notification when a comment gets approved, but not when i should be moderating one. i understand i might not want to trigger an email when spam comes in, but maybe that would be better in my workflow? my main goal is to keep spam from contaminating my git history, so moderatedcomments, even if it sends me spam notifications, would still be useful.
+
+anyone worked on a patch or plugin for that? maybe it could be another plugin that would run a `check_content` hook *after* moderatedcomments? how are those ordered anyways?
+
+alternatively, i'm thinking of a cronjob that runs daily and notifies me of new comments...
+
+-- [[anarcat]]

Report from troulble editing a page from mobile
diff --git a/doc/bugs/responsive__95__layout_does_not_workin_in_edit_mode.mdwn b/doc/bugs/responsive__95__layout_does_not_workin_in_edit_mode.mdwn
new file mode 100644
index 000000000..bd2a861a1
--- /dev/null
+++ b/doc/bugs/responsive__95__layout_does_not_workin_in_edit_mode.mdwn
@@ -0,0 +1,7 @@
+The responsive_layout option (which flags ikiwiki pages as not broken on small displays) is not applied in edit mode (or other CGI generated pages).
+
+This can be verified easily by checking the meta tags in the pages's source or using Firefox's page info (Ctrl-i), which contains a `width=device-width, initial-scale=1` viewport option in rendered pages but not the editing.
+
+As a result, page editing from mobile is tedious, as it involves scrolling around not only in the edit window but also the scrolled page as a whole.
+
+I've given it a try with a local copy of a saved page into which the meta was edited, and the page could be edited much more smoothly on mobile when the meta was set on the edit page (as was expected -- it works well on the regular pages, after all). There was still some scrolliness due to the large width of the commit message field, but that could be a bug in the used theme and even so does not limit the usefulness of setting this on *all* generated pages as long as the theme is basically responsive.

diff --git a/doc/tips/user_command.mdwn b/doc/tips/user_command.mdwn
new file mode 100644
index 000000000..795f4638e
--- /dev/null
+++ b/doc/tips/user_command.mdwn
@@ -0,0 +1,13 @@
+After battling with the oneliners in [[tips/inside_dot_ikiwiki]], I have expanded them into a full script ([current snapshot](https://gitlab.com/anarcat/scripts/-/blob/836bda6929f23fae49f8d4cf75e88ca6cc55152b/ikiwiki-user), [latest](https://gitlab.com/anarcat/scripts/blob/master/ikiwiki-user)).
+
+It has three commands:
+
+ * `list`: just list the users as a TSV (tab-separated list)
+ * `dump`: use `Data::Dumper` to dump the entire database, as done in the oneliners
+ * `delete`: delete the given user, or interactively approve all users one by one
+
+It's kind of rough right now, but it helped me deal with the [[bugs/emailauth_bypasses_account__95__creation__95__password]] problem, as a crude [[todo/anti-spam_protection]]. In particular, it "vendors" the lock mechanisms because `lockwiki` and `unlockwiki` are not exported by the `IkiWiki` module, which is unfortunate.
+
+It could be improved significantly: for example, the `delete` command could use a "time" argument to review only the accounts created after a certain date, instead of reviewing the entire list each time. I just couldn't be bothered with the date parsing.
+
+I would be happy to see this command land in ikiwiki itself, under a GPL-2+ or whatever open license. :) -- [[anarcat]]

more spam problems...
diff --git a/doc/bugs/emailauth_bypasses_account__95__creation__95__password.mdwn b/doc/bugs/emailauth_bypasses_account__95__creation__95__password.mdwn
new file mode 100644
index 000000000..47c2897b7
--- /dev/null
+++ b/doc/bugs/emailauth_bypasses_account__95__creation__95__password.mdwn
@@ -0,0 +1,39 @@
+I have had the following in my `ikiwiki.setup` since 2016:
+
+    account_creation_password: XXXXXXXXXXXX
+
+The XXX is made of lowercase, uppercase and digits, randomly generated. I would expect this to stop any account creation. Yet new accounts get created all the time:
+
+    w-anarcat@marcos:~/source/.ikiwiki$ perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); print $userinfo->{$_}->{regdate} foreach keys %$userinfo'  | sort -n | tail -10
+    1587487021
+    1587574304
+    1587695540
+    1587770285
+    1588354442
+    1588409505
+    1589257010
+    1589834234
+    1590175162
+    1590176201
+
+The last two timestamps, for example, are today. I'm not absolutely certain, but I believe that account is an [[plugins/emailauth]] account:
+
+          'zemihaso_hfdsf.sadsdskfm.com' => {
+                                              'regdate' => 1590175162,
+                                              'passwordless' => 'd8de5ec25cfd68e64318fe6353c6428a',
+                                              'subscriptions' => 'comment(blog/2020-04-27-drowning-camera)',
+                                              'email' => 'zemihaso@hfdsf.sadsdskfm.com'
+                                            },
+
+It's obviously a spammer. It seems to be attacking my wiki by doing the following:
+
+ 1. register an account with emailauth
+ 2. subscribe to the page
+ 3. spam the page with a comment
+ 4. which then sends email to the victim(s)
+
+It's all kind of a mess. I'm at the point in my [[todo/anti-spam_protection]] where I am seriously considering disabling all user registration and all comments on all pages. Maybe delegate this to Mastodon or some other third-party commenting system, because I'm just tired of dealing with spam and bounces...
+
+Anyone else seeing this? Shouldn't the `account_creation_password` setting apply to emailauth? What else am I missing?
+
+Thanks! -- [[anarcat]]

remove broken link
diff --git a/doc/tips/follow_wikilinks_from_inside_vim.mdwn b/doc/tips/follow_wikilinks_from_inside_vim.mdwn
index e7258f42d..b8d071a43 100644
--- a/doc/tips/follow_wikilinks_from_inside_vim.mdwn
+++ b/doc/tips/follow_wikilinks_from_inside_vim.mdwn
@@ -39,10 +39,6 @@ Copy the `ikiwiki_nav.vim` file to your `.vim/ftplugin` directory.
 The official releases of the plugin are in the
 [vim.org script page](http://www.vim.org/scripts/script.php?script_id=2968)
 
-The latest version of this script can be found in the following location 
-
-<http://git.devnull.li/cgi-bin/gitweb.cgi?p=ikiwiki-nav.git;a=blob;f=ftplugin/ikiwiki_nav.vim;hb=HEAD>
-
 Any feedback you can provide is appreciated; the contact details can be found
 inside the plugin
 

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 5e3966da0..db8aa639a 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -8,6 +8,10 @@ Sure it is.sss
 
 I hope baby.
 
+~~~
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+~~~
+
 Nope my friend.
 
 List:

fix formatting in code samples
diff --git a/doc/todo/require_CAPTCHA_to_edit.mdwn b/doc/todo/require_CAPTCHA_to_edit.mdwn
index ad38d9235..921e6254a 100644
--- a/doc/todo/require_CAPTCHA_to_edit.mdwn
+++ b/doc/todo/require_CAPTCHA_to_edit.mdwn
@@ -91,6 +91,7 @@ ignored.
 >>>> prusue my idea of not doing the captcha validation in the validate
 >>>> hook.
 
+[[!format diff """
 --- a/IkiWiki/Plugin/openid.pm
 +++ b/IkiWiki/Plugin/openid.pm
 @@ -18,6 +18,7 @@ sub getopt () {
@@ -129,6 +130,7 @@ ignored.
  		return_to => IkiWiki::cgiurl(do => "postsignin"),
  		trust_root => $config{cgiurl},
 
+"""]]
 
 Instructions
 =====
@@ -136,8 +138,10 @@ Instructions
 You need to go to <http://recaptcha.net/api/getkey> and get a key set.
 The keys are added as options.
 
-	reCaptchaPubKey => "LONGPUBLICKEYSTRING",
-	reCaptchaPrivKey => "LONGPRIVATEKEYSTRING",
+[[!format perl """
+reCaptchaPubKey => "LONGPUBLICKEYSTRING",
+reCaptchaPrivKey => "LONGPRIVATEKEYSTRING",
+"""]]
 
 You can also use "signInSSL" if you're using ssl for your login screen.
 
@@ -146,6 +150,7 @@ The following code is just inline.  It will probably not display correctly, and
 
 ----------
 
+[[!format perl """
 #!/usr/bin/perl
 # Ikiwiki password authentication.
 package IkiWiki::Plugin::recaptcha;
@@ -327,3 +332,4 @@ sub check_answer {
 }
 
 1;
+"""]]

inline feeds should optionally have their content elided
diff --git a/doc/todo/inline_feeds_should_optionally_have_their_content_elided.mdwn b/doc/todo/inline_feeds_should_optionally_have_their_content_elided.mdwn
new file mode 100644
index 000000000..6c997ff03
--- /dev/null
+++ b/doc/todo/inline_feeds_should_optionally_have_their_content_elided.mdwn
@@ -0,0 +1,16 @@
+[[!tag wishlist]]
+[[plugins/inline]] has a parameter `archive` which enables displaying
+metadata about matching pages (title, date) rather than their full
+contents. This does not influence the content of any generated feeds:
+they always include the full content.
+
+There should be a way to elide the content of inlined pages in generated
+feeds, either by doing so when `archive=yes` is set (potentially changing
+the behaviour of existing deployments, but less configuration cruft) or
+adding yet further configuration options to `inline`.
+
+use-case: I want to generate a (semi-private) feed of every blog post I
+have ever written, both on my live site and on my test one, so I can
+compare the publication dates. (some blog posts have dates fixed by
+meta directives; other rely on the file ctime, which is not preserved
+in the parent git repositories.) *— [[Jon]], 2020-04-27*

how I do this
diff --git a/doc/bugs/map_sorts_by_pagename_and_not_title_when_show__61__title_is_used.mdwn b/doc/bugs/map_sorts_by_pagename_and_not_title_when_show__61__title_is_used.mdwn
index d12414d55..d0e7e48ad 100644
--- a/doc/bugs/map_sorts_by_pagename_and_not_title_when_show__61__title_is_used.mdwn
+++ b/doc/bugs/map_sorts_by_pagename_and_not_title_when_show__61__title_is_used.mdwn
@@ -17,4 +17,10 @@ The [[ikiwiki/directive/map]] directive sort by pagename. That looks kind of odd
 
 >>>> You might want to check if the [[plugins/contrib/report]] plugin solves your problem.  It can sort by title, among other things. --[[KathrynAndersen]]
 
+>>>> I realise OP posted this 10 years ago, but here's how I do it: I generate <https://jmtd.net/log/all/> using
+>>>> `inline` with `archive=yes` and a custom template which defines the LI element content for each post. I then include
+>>>> these inlines (one per calendar year) via *another* template, which has the wrapping UL elements in it. These
+>>>> templates are `.tmpl` files (and live in my custom `templatedir`, although that might not matter) which means
+>>>> they avoid the htmlscrubber. *— [[Jon]], 2020-04-27* 
+
 >> See also: [[todo/sort_parameter_for_map_plugin_and_directive]] --[[smcv]]

removed
diff --git a/doc/users/111.html b/doc/users/111.html
deleted file mode 100644
index 6fcc215b1..000000000
--- a/doc/users/111.html
+++ /dev/null
@@ -1,2 +0,0 @@
-# 22222222222222222222222222222
-<b>xxx</b>

diff --git a/doc/download.mdwn b/doc/download.mdwn
index 61167e375..3890df9f2 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -37,6 +37,8 @@ own RPM.
 
 NetBSD, Mac OS X, Solaris, and many other platforms: [pkgsrc](http://www.pkgsrc.org/) has an [ikiwiki package](http://pkgsrc.se/www/ikiwiki).
 
+pkg install -U ikiwiki
+
 FreeBSD has ikiwiki in its
 [ports collection](http://www.freshports.org/www/ikiwiki/).
 

Added a comment: First cut
diff --git a/doc/forum/how_to_put_a_permalink_on_each_post/comment_4_530540a25a2e6ec3baa0ef97e236ad0b._comment b/doc/forum/how_to_put_a_permalink_on_each_post/comment_4_530540a25a2e6ec3baa0ef97e236ad0b._comment
new file mode 100644
index 000000000..d6c22aa33
--- /dev/null
+++ b/doc/forum/how_to_put_a_permalink_on_each_post/comment_4_530540a25a2e6ec3baa0ef97e236ad0b._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="First cut"
+ date="2020-04-21T21:30:26Z"
+ content="""
+This works for me: <https://github.com/jmtd/ikiwiki/blob/permalink-plugin/IkiWiki/Plugin/permalink.pm>
+
+Then you can put something like this into your `page.tmpl`:
+
+    <a href=\"<TMPL_VAR PERMALINK>\" class=\"u-url\"></a>
+
+*— [[Jon]], 2020-04-21*
+"""]]

alternative approach for backlinks
diff --git a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
index 415e6af91..327b8136b 100644
--- a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
+++ b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
@@ -41,3 +41,9 @@ further down the list, but of course then you are outside the hover region.
 > 
 > Yet another idea: Find some more refined CSS for handling a variable
 > size popup.. --[[Joey]] 
+
+>> The HTML5 "Details" tag would be perfect:
+>> <https://www.w3schools.com/TAGS/tag_details.asp>
+>> <details><summary>example</summary>here's an example</details>
+>> The above works for me on ikiwiki.info which does not have `html5:1`
+>> so far as I can tell *— [[Jon]], 2020-04-21*

Added a comment
diff --git a/doc/forum/how_to_put_a_permalink_on_each_post/comment_3_666ec36000ea5ce90ea4b14b579368bd._comment b/doc/forum/how_to_put_a_permalink_on_each_post/comment_3_666ec36000ea5ce90ea4b14b579368bd._comment
new file mode 100644
index 000000000..08c238304
--- /dev/null
+++ b/doc/forum/how_to_put_a_permalink_on_each_post/comment_3_666ec36000ea5ce90ea4b14b579368bd._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="comment 3"
+ date="2020-04-21T15:20:58Z"
+ content="""
+…that's assuming you want a permalink on *every* page, of course. For pages that are [[plugins/inline]]d, I think it's already possible, but I'm not sure exactly how, yet. Further reading of `inlinepage.tmpl` and `inline.pm` are required. — [[Jon]]
+"""]]

Added a comment
diff --git a/doc/forum/how_to_put_a_permalink_on_each_post/comment_2_e0a886a01f2ec307bd149e4b73d4a98c._comment b/doc/forum/how_to_put_a_permalink_on_each_post/comment_2_e0a886a01f2ec307bd149e4b73d4a98c._comment
new file mode 100644
index 000000000..2c5018033
--- /dev/null
+++ b/doc/forum/how_to_put_a_permalink_on_each_post/comment_2_e0a886a01f2ec307bd149e4b73d4a98c._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="comment 2"
+ date="2020-04-21T15:17:31Z"
+ content="""
+As per a comment by [[users/smcv]] at [[templates/discussion|templates/discussion]], I believe a plugin is required to provide an appropriate template variable. You would also need to define a separate templates directory for your wiki in your setup file, with a copy of`page.tmpl` to override IkiWiki's, with the correct `<TMPL_VAR foo>` added to it, to use the variable you defined in the plugin. I'm looking at doing this. — [[users/Jon]]
+"""]]

in error case
diff --git a/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn b/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn
index 733579ffa..96486ba5b 100644
--- a/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn
+++ b/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn
@@ -38,3 +38,7 @@ something like
 So it would be nice if the payload was sent with a HTML content-type (which wouldn't hurt cron jobs or clients that ignore the body anyway)
 
 *— [[Jon]], 2020-04-20*
+
+> Oh, haha, the issue here is that the aggregation is *failing*. In the failure case, the above happens (there's an error wrapped up in HTML and delivered as text/plain).
+> In the success case, the output to browser is just plain text. 
+> *— [[Jon]], 2020-04-20*

content-type for aggregate web trigger
diff --git a/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn b/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn
new file mode 100644
index 000000000..733579ffa
--- /dev/null
+++ b/doc/bugs/aggregate_web_trigger_sends_response_as_text__47__plain.mdwn
@@ -0,0 +1,40 @@
+With IkiWiki 3.20200202.3, [[plugins/aggregate]]'s web trigger sends it's response as HTTP 200, Content-Type: text/plain, followed by a payload that seems to include a Content-type in the body accidentally, and a bunch of HTML:
+
+
+    qusp▶ GET -e "https://$redacted/ikiwiki?do=aggregate_webtrigger"
+    Enter username for Git Access at REDACTED:443: admin
+    Password: 
+    200 OK
+    Connection: close
+    Date: Mon, 20 Apr 2020 08:27:39 GMT
+    Server: nginx/1.14.2
+    Content-Length: 2467
+    Content-Type: text/plain
+    Client-Date: Mon, 20 Apr 2020 08:27:39 GMT
+    Client-Peer: 31.51.75.214:443
+    Client-Response-Num: 1
+    Client-SSL-Cert-Issuer: /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
+    Client-SSL-Cert-Subject: /CN=REDACTED
+    Client-SSL-Cipher: ECDHE-RSA-CHACHA20-POLY1305
+    Client-SSL-Socket-Class: IO::Socket::SSL
+    
+    Aggregation triggered via web.
+    
+    Content-type: text/html
+    
+    <!DOCTYPE html>
+    <html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+    …
+
+Looking at the source it's fairly clear why:
+<http://source.ikiwiki.branchable.com/?p=source.git;a=blob;f=IkiWiki/Plugin/aggregate.pm;hb=HEAD#l76>
+
+I guess it was never intended for a human to see this output. I've found it useful to add a link button to some private pages to manually trigger the web hook,
+something like
+
+    <a class=feedbutton href=https://REDACTED/ikiwiki?do=aggregate_webtrigger>webtrigger</a>
+
+So it would be nice if the payload was sent with a HTML content-type (which wouldn't hurt cron jobs or clients that ignore the body anyway)
+
+*— [[Jon]], 2020-04-20*

diff --git a/doc/bugs/git_plugin_should_support_force-pushed_src_repos.mdwn b/doc/bugs/git_plugin_should_support_force-pushed_src_repos.mdwn
new file mode 100644
index 000000000..a9358dbc0
--- /dev/null
+++ b/doc/bugs/git_plugin_should_support_force-pushed_src_repos.mdwn
@@ -0,0 +1,8 @@
+If you force-push to a source repository that is the configured git repository for the ikiwiki srcdir,
+rebuilding the wiki (after the hook) fails with
+
+    fatal: refusing to merge unrelated histories
+    'git pull --prune origin' failed:  at /usr/local/share/perl/5.28.1/IkiWiki/Plugin/git.pm line 251.
+
+I think that under some circumstances ikiwiki should support this. Perhaps via configuration options
+for the git plugin. — [[Jon]]

git.pm should have a doc page
diff --git a/doc/bugs/git_plugin_should_have_a_doc_page.mdwn b/doc/bugs/git_plugin_should_have_a_doc_page.mdwn
new file mode 100644
index 000000000..a1da9bc5b
--- /dev/null
+++ b/doc/bugs/git_plugin_should_have_a_doc_page.mdwn
@@ -0,0 +1,3 @@
+`git.pm` is a plugin but lacks a page at [[plugin/git|doc/plugin]]. this would be a good place to
+cover the configuration options it exposes via `getsetup`. — [[Jon]]
+ 

Added a comment
diff --git a/doc/forum/Working_docker_images/comment_3_7d0944c37fdde5772f367de88976c89b._comment b/doc/forum/Working_docker_images/comment_3_7d0944c37fdde5772f367de88976c89b._comment
new file mode 100644
index 000000000..f611e900c
--- /dev/null
+++ b/doc/forum/Working_docker_images/comment_3_7d0944c37fdde5772f367de88976c89b._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="comment 3"
+ date="2020-04-06T09:31:46Z"
+ content="""
+There's also two other ikiwiki-in-docker things linked to from [[setup]] but I haven't tried them. — [[Jon]]
+"""]]

problem with the creation_before page
diff --git a/doc/bugs/cannot_make_creation__95__before_work.mdwn b/doc/bugs/cannot_make_creation__95__before_work.mdwn
new file mode 100644
index 000000000..f9323e611
--- /dev/null
+++ b/doc/bugs/cannot_make_creation__95__before_work.mdwn
@@ -0,0 +1,31 @@
+I have this in my `ikiwiki.setup`:
+
+    comments_closed_pagespec: 'creation_before(comment_forbid_before)'
+
+I was hoping it would forbid comments on pages older than `comment_forbid_before.mdwn`. I created the page, of which you can see a rendering here:
+
+https://anarc.at/comment_forbid_before/
+
+Notice how ikiwiki correctly parsed the `meta` directive to make the page as created about two years ago, as I have put this on top of `comment_forbid_before.mdwn`:
+
+    [[!meta date="2018-04-05"]]
+
+Yet the following page, which gets mysteriously respammed all the time, keeps on getting spammed anyways:
+
+https://anarc.at/blog/2006-07-04-vol-et-ralentissement-de-ce-blog/
+
+I have since them removed the spam, and worked around the problem by doing this configuration instead:
+
+    comments_closed_pagespec: 'creation_before(comment_forbid_before) or creation_year(2006)'
+
+But later pages, "created before" the flag page, still have comments allowed:
+
+https://anarc.at/blog/2017-07-03-free-software-activities-june-2017/
+
+Now I know that I could list every year my blog was in operation until now in that pagespec to workaround this, but I figured it would be nicer to fix this bug.
+
+Alternatively, it would be great to have a `creation_before(2 years ago)` or `creation_older_than(2 years)` to do what I actually want here, which is to keep spam to newer pages, to reduce the attack surface.
+
+Thanks!
+
+-- [[anarcat]]

Added a comment
diff --git a/doc/forum/Working_docker_images/comment_2_4c93b88605070283bccbd643f17c32ae._comment b/doc/forum/Working_docker_images/comment_2_4c93b88605070283bccbd643f17c32ae._comment
new file mode 100644
index 000000000..0c4caf6fb
--- /dev/null
+++ b/doc/forum/Working_docker_images/comment_2_4c93b88605070283bccbd643f17c32ae._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="comment 2"
+ date="2020-04-03T10:42:54Z"
+ content="""
+Here we are. I present \"Opinionated IkiWiki\" (in a box). Sources
+https://github.com/jmtd/opinionated-ikiwiki
+Images
+https://quay.io/repository/jdowland/opinionated-ikiwiki
+
+e.g. `docker pull docker pull quay.io/jdowland/opinionated-ikiwiki:latest`
+
+Feedback welcome, best perhaps as GitHub issues on that GitHub project, but I'll answer questions here or in email too. — [[Jon]]
+"""]]

Added a comment
diff --git a/doc/forum/Working_docker_images/comment_1_9fc065c5043954e04b6edeb80213d6e2._comment b/doc/forum/Working_docker_images/comment_1_9fc065c5043954e04b6edeb80213d6e2._comment
new file mode 100644
index 000000000..80ba09d84
--- /dev/null
+++ b/doc/forum/Working_docker_images/comment_1_9fc065c5043954e04b6edeb80213d6e2._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/2a3bcb34947fceef61560bd8a2931957"
+ subject="comment 1"
+ date="2020-04-02T09:20:13Z"
+ content="""
+Coincidentally I was just dusting off an old ikiwiki-in-Docker setup I built 5 years ago - https://github.com/jmtd/debian-docker/tree/ikiwiki
+I'll push an updated version and some images sometime today. — [[Jon]]
+"""]]

report bug
diff --git a/doc/bugs/inactive_python_plugins_cause_error_output_when_python_interpreter_is_missing.mdwn b/doc/bugs/inactive_python_plugins_cause_error_output_when_python_interpreter_is_missing.mdwn
new file mode 100644
index 000000000..f62f9738b
--- /dev/null
+++ b/doc/bugs/inactive_python_plugins_cause_error_output_when_python_interpreter_is_missing.mdwn
@@ -0,0 +1,13 @@
+`/usr/local/lib/ikiwiki/plugins/rst` and `/usr/local/lib/ikiwiki/plugins/proxy.py` provoke the following error output during some CGI operations if there is no python3 interpreter available
+
+    /usr/bin/env: ‘python3’: No such file or directory
+
+the CGI also *sporadically* dies (with signal 13, => HTTP error 500). I don't understand why this is sporadic though.
+
+This relates to [[autosetup python warnings]] and some other bugs.
+
+This happens even if `rst` and `proxy.py` are not active on the wiki (as they aren't, by default).
+
+A hacky quick solution might be to rename rst rst.py and for IkiWiki to avoid scanning plugins that end in .py if they are not enabled.
+
+— [[Jon]]

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 27e2acc9e..5e3966da0 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -3,7 +3,7 @@
 Why doesn't the following work?..
 [[!color  foreground=white background=#ff0000 text="White text on red background"]]
 
-Sure it is.
+Sure it is.sss
 ===========
 
 I hope baby.

New thread about working docker imges
diff --git a/doc/forum/Working_docker_images.mdwn b/doc/forum/Working_docker_images.mdwn
new file mode 100644
index 000000000..a24bcda00
--- /dev/null
+++ b/doc/forum/Working_docker_images.mdwn
@@ -0,0 +1,3 @@
+Hi,
+
+Does anyone use a docker image to run Ikiwiki? The most updated image that I found has some issues, such as only working during the first start of the container and always failing to start on subsequent runs. So was wondering if anyone knew of working images.

link to my toc patch
diff --git a/doc/plugins/toc/discussion.mdwn b/doc/plugins/toc/discussion.mdwn
index e704eee55..775288800 100644
--- a/doc/plugins/toc/discussion.mdwn
+++ b/doc/plugins/toc/discussion.mdwn
@@ -5,6 +5,8 @@ template (such as placing the page title in an `<h1>`), the toc plugin
 picks it up.  I suppose it parses the entire page rather than just the
 rendered content. --[[JasonBlevins]]
 
+> I fixed this in a patch to the toc module, see [[todo/allow_toc_to_skip_entries]]. -- [[anarcat]]
+
 Why doesn't the TOC appear in the edit page preview?  It only appears when the page is finally rendered.  This makes it somewhat difficult to organize headings, saving & re-editing all the time.  My user page currently has a toc to play with: --[[sabr]]
 
 > Fixed. --[[Joey]]

there is a patch here
diff --git a/doc/todo/allow_toc_to_skip_entries.mdwn b/doc/todo/allow_toc_to_skip_entries.mdwn
index 45137d7a2..dcfb5fd04 100644
--- a/doc/todo/allow_toc_to_skip_entries.mdwn
+++ b/doc/todo/allow_toc_to_skip_entries.mdwn
@@ -26,3 +26,5 @@ That is hard to fix without changing the theme significantly. ikiwiki themes fre
 There should really be a way to skip those entries. The patch mentioned here does this by doing a tiny modification to `toc.pm` to skip headings with the magic `nocount` class. The naming comes from [Phil Archer's Automatic Heading Numbering CSS hack](https://philarcher.org/diary/2013/headingnumbers) and could be changed, but it seemed logical to me. The result can be seen in action in: <https://anarc.at/blog/2019-11-20-file-monitoring-tools/>.
 
 Thank you for your consideration.
+
+[[!tag patch]]

add way to skip toc entries
diff --git a/doc/todo/allow_toc_to_skip_entries.mdwn b/doc/todo/allow_toc_to_skip_entries.mdwn
new file mode 100644
index 000000000..45137d7a2
--- /dev/null
+++ b/doc/todo/allow_toc_to_skip_entries.mdwn
@@ -0,0 +1,28 @@
+[[!template  id=gitbranch branch=anarcat/toc-skip author="[[anarcat]]"]]
+
+a long-standing irritationf the [[plugins/toc]] plugin is that it counts *all* headings in the document. since it's frequently the case that themes will use the first H1 to show a title (and that there's no way to "bump" the level of headings generated by the markup), you often end up with a table of contents that looks like this:
+
+ * TITLE
+ * Heading 1
+   * Subheading 1
+ * Heading 2
+
+... even though the content is actually something like:
+
+    # Heading 1
+    ## Subheading 2
+    # Heading 2
+
+That's a bit confusing. I would expect the table of contents to only have:
+
+ * Heading 1
+   * Subheading 1
+ * Heading 2
+
+... and somehow ignore my title.
+
+That is hard to fix without changing the theme significantly. ikiwiki themes frequently workaround that problem by showing the title using another markup element, generally a `<span>`. But I find that confusing as well, because `<span>` is a generic, non-semantic element, which, even worse, is by default not a "block" like a heading. In bootstrap, for example, you would need to copy all the logic surrounding headings to a theme customization to make it work, but that leads to a lot of CSS duplication.
+
+There should really be a way to skip those entries. The patch mentioned here does this by doing a tiny modification to `toc.pm` to skip headings with the magic `nocount` class. The naming comes from [Phil Archer's Automatic Heading Numbering CSS hack](https://philarcher.org/diary/2013/headingnumbers) and could be changed, but it seemed logical to me. The result can be seen in action in: <https://anarc.at/blog/2019-11-20-file-monitoring-tools/>.
+
+Thank you for your consideration.

Restore index page
This reverts commit 8d3873cceafe7fe3e888b5e8e8c82ca59686bfa3
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 8b1378917..e0e401656 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -1 +1,37 @@
+[[!template id=links]]
+
+Ikiwiki is a **wiki compiler**. It converts wiki pages into HTML pages
+suitable for publishing on a website. Ikiwiki stores pages and history in a
+[[revision_control_system|rcs]] such as [[Subversion|rcs/svn]] or [[rcs/Git]].
+There are many other [[features]], including support for
+[[blogging|blog]] and [[podcasting|podcast]], as well as a large
+array of [[plugins]].
+
+Alternatively, think of ikiwiki as a particularly flexible static
+site generator with some dynamic features.
+
+
+
+## using ikiwiki
+
+[[Setup]] has a tutorial for setting up ikiwiki, or you can read the
+[[man_page|usage]]. There are some [[examples]] of things you can do
+with ikiwiki, and some [[tips]].  Basic documentation for ikiwiki plugins
+and syntax is provided [[here|ikiwiki]]. The [[forum]] is open for
+discussions.
+
+All wikis are supposed to have a [[sandbox]], so this one does too.
+
+This site generally runs the latest release of ikiwiki; currently, it runs
+ikiwiki [[!version ]].
+
+## developer resources
+
+The [[RoadMap]] describes where the project is going.
+[[Bugs]], [[TODO]] items, [[wishlist]] items, and [[patches|patch]]
+can be submitted and tracked using this wiki.
+
+Ikiwiki is developed by [[Joey]] and many contributors,
+and is [[FreeSoftware]].
+
 

diff --git a/doc/index.mdwn b/doc/index.mdwn
index e0e401656..8b1378917 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -1,37 +1 @@
-[[!template id=links]]
-
-Ikiwiki is a **wiki compiler**. It converts wiki pages into HTML pages
-suitable for publishing on a website. Ikiwiki stores pages and history in a
-[[revision_control_system|rcs]] such as [[Subversion|rcs/svn]] or [[rcs/Git]].
-There are many other [[features]], including support for
-[[blogging|blog]] and [[podcasting|podcast]], as well as a large
-array of [[plugins]].
-
-Alternatively, think of ikiwiki as a particularly flexible static
-site generator with some dynamic features.
-
-
-
-## using ikiwiki
-
-[[Setup]] has a tutorial for setting up ikiwiki, or you can read the
-[[man_page|usage]]. There are some [[examples]] of things you can do
-with ikiwiki, and some [[tips]].  Basic documentation for ikiwiki plugins
-and syntax is provided [[here|ikiwiki]]. The [[forum]] is open for
-discussions.
-
-All wikis are supposed to have a [[sandbox]], so this one does too.
-
-This site generally runs the latest release of ikiwiki; currently, it runs
-ikiwiki [[!version ]].
-
-## developer resources
-
-The [[RoadMap]] describes where the project is going.
-[[Bugs]], [[TODO]] items, [[wishlist]] items, and [[patches|patch]]
-can be submitted and tracked using this wiki.
-
-Ikiwiki is developed by [[Joey]] and many contributors,
-and is [[FreeSoftware]].
-
 

removed
diff --git a/doc/recentchanges.mdwn b/doc/recentchanges.mdwn
deleted file mode 100644
index 3383fc703..000000000
--- a/doc/recentchanges.mdwn
+++ /dev/null
@@ -1,7 +0,0 @@
-[[!if test="enabled(meta)" then="""
-[[!meta title="RecentChanges"]]
-"""]]
-Recent changes to this wiki:
-
-[[!inline pages="internal(recentchanges/change_*) and !*/Discussion" 
-template=recentchanges show=0]]

submission of bug report
diff --git a/doc/bugs/error:_failed_to_push_some_refs_to___39__ssh:__47____47__git__64__localhost__47__brains.git__39__.mdwn b/doc/bugs/error:_failed_to_push_some_refs_to___39__ssh:__47____47__git__64__localhost__47__brains.git__39__.mdwn
new file mode 100644
index 000000000..da2b0ef98
--- /dev/null
+++ b/doc/bugs/error:_failed_to_push_some_refs_to___39__ssh:__47____47__git__64__localhost__47__brains.git__39__.mdwn
@@ -0,0 +1,46 @@
+Some people in our office edit ikiwiki via command line, and others via the Web interface. At a certain point, the following error popped up in Apache error logs:
+
+````
+To ssh://git@localhost/brains.git
+   d7e8496..8a75b3b  master -> master
+Switched to branch 'throw_away_8a75b3b1da256452ae87b8543b5bec3d2f586ac5'
+Switched to branch 'master'
+From .
+ * branch            throw_away_8a75b3b1da256452ae87b8543b5bec3d2f586ac5 -> FETCH_HEAD
+Automatic merge went well; stopped before committing as requested
+Already on 'master'
+To ssh://git@localhost/brains.git
+ ! [rejected]        master -> master (fetch first)
+error: failed to push some refs to 'ssh://git@localhost/brains.git'
+hint: Updates were rejected because the remote contains work that you do
+hint: not have locally. This is usually caused by another repository pushing
+hint: to the same ref. You may want to first integrate the remote changes
+hint: (e.g., 'git pull ...') before pushing again.
+hint: See the 'Note about fast-forwards' in 'git push --help' for details.
+'git push origin master' failed:  at /usr/share/perl5/IkiWiki/Plugin/git.pm line 220.
+From ssh://localhost/brains
+   927cc73..29c557b  master     -> origin/master
+'git pull --prune origin' failed:  at /usr/share/perl5/IkiWiki/Plugin/git.pm line 220.
+fatal: cannot do a partial commit during a merge.
+error: Pull is not possible because you have unmerged files.
+hint: Fix them up in the work tree, and then use 'git add/rm <file>'
+hint: as appropriate to mark resolution and make a commit.
+fatal: Exiting because of an unresolved conflict.
+'git pull --prune origin' failed:  at /usr/share/perl5/IkiWiki/Plugin/git.pm line 220.
+fatal: cannot do a partial commit during a merge.
+error: Pull is not possible because you have unmerged files.
+hint: Fix them up in the work tree, and then use 'git add/rm <file>'
+hint: as appropriate to mark resolution and make a commit.
+fatal: Exiting because of an unresolved conflict.
+...
+````
+
+It looks like commits via the Web interface continued to appear to work mostly as normal, but weren't being commited in the public facing git repo that contains the `.ikiwiki/` directory. I did notice a page that I edited contained ">>>>>" text, but not "====.." or "<<<<.." text in the Web version, but not in my git checkout (from the master git repo). Also some people reported problems with the Web interface after the fact.
+
+When I went in to fix the repo, I quickly removed those uncommitted changes, but that was clearly a mistake, because I lost the edits that had been created via the Web after a certain point in time.
+
+We're using ikiwiki version 3.20160121 on Trisquel 8, which is based on Ubuntu 16.04.
+
+If you have any thoughts about what caused this issue, I'd be happy to hear it. At this point, we've mostly moved on from the data loss.
+
+Thanks! : )

diff --git a/doc/theme_market.mdwn b/doc/theme_market.mdwn
index dd3b073d7..46883c926 100644
--- a/doc/theme_market.mdwn
+++ b/doc/theme_market.mdwn
@@ -12,6 +12,8 @@ Feel free to add your own [[theme|themes]] here, but first consider writing a si
 
 * **[Bootstrap theme](http://anonscm.debian.org/gitweb/?p=users/jak/website.git;a=summary)**, contributed by [JAK LINUX](http://jak-linux.org/about/), based on [Twitter Bootstrap](http://twitter.github.com/bootstrap/), [modifications available](https://anarc.at/blog/2015-09-09-bootstrap/) from [[anarcat]] as well
 
+  * Recovered jak-linux theme (from anonscm.debian.org off-line archive), for the [Libre SOC](http://libre-riscv.org).  Source code at <https://git.libre-riscv.org/?p=libreriscv.git;a=summary>
+
   * [Yet another bootstrap theme](https://notabug.org/iikb/ikiwiki-theme-bootstrap), this one can be used like a regular theme by placing [the theme files](https://notabug.org/iikb/ikiwiki-theme-bootstrap/archive/1.0.0.25.zip) on `/usr/share/ikiwiki/themes/bootstrap/` and changing the `theme` configuration to `boostrap`.
 
 * **[Bootstrap 3](https://github.com/ramseydsilva/ikiwiki-bootstrap-theme)**, contributed by [[ramsey]], based on [Twitter Bootstrap 3](http://getbootstrap.com). [Example](http://bootstrap-ramseydsilva.wiki.orangeseeds.org). This template has been forked and modified in many ways:

add alip's chess blog
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 63049c08b..9a7e08935 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -224,3 +224,4 @@ Personal sites and blogs
 * [re:fi.64's personal wiki](https://wiki.refi64.com/)
 * [canvon's blog](https://blog.canvon.de/)
 * [Coyote Works](http://coyote.works/) - Work In Progress site of Stephen Michael Kellat
+* [cat.chessmuse.com](https://cat.chessmuse.com) - alip's chess blog

add https://www.chesswob.org
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 2d5507c0c..63049c08b 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -107,6 +107,7 @@ Projects & Organizations
 * [[nb instrument|http://nb-instrument.com]] a workshop for beautifully handcrafted musical instruments, located in Hamburg, Germany (also one of our rather complex builds using ikiwiki only, providing CGI access for the customer)
 * [[coido architects|http://coido.de]] architectural company, located in Hamburg, Germany and Rotterdam, Netherlands (also rather complex build adding masonry and gallery scripts and some pjaxing to the picture, providing CGI access for the customer)
 * [[guppy|http://guppy.branchable.com/index.en.html]] an internationalized modular Python IRC bot
+* [[ChessWOB|https://www.chesswob.org]] Chess Without Boundaries
 
 Personal sites and blogs
 ========================

add news item for ikiwiki 3.20200202.3
diff --git a/doc/news/version_3.20180105.mdwn b/doc/news/version_3.20180105.mdwn
deleted file mode 100644
index 2082db897..000000000
--- a/doc/news/version_3.20180105.mdwn
+++ /dev/null
@@ -1,12 +0,0 @@
-ikiwiki 3.20180105 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * emailauth: Fix cookie problem when user is on https and the cgiurl
-     uses http, by making the emailed login link use https.
-   * passwordauth: Use https for emailed password reset link when user
-     is on https.
-   * Remove openid provider icons from login selector, since openid providers
-     are increasingly not working. Verisign retired theirs, and aol and
-     yahoo/flickr are not commonly used for openid. Any users who still
-     clicked those icons to login will need to instead enter their openid url.
-   * Updated German basewiki and directives translation from
-     Sebastian Kuhnert."""]]
\ No newline at end of file
diff --git a/doc/news/version_3.20200202.3.mdwn b/doc/news/version_3.20200202.3.mdwn
new file mode 100644
index 000000000..6293fcdb7
--- /dev/null
+++ b/doc/news/version_3.20200202.3.mdwn
@@ -0,0 +1,11 @@
+ikiwiki 3.20200202.3 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+ * [ Amitai Schleier ]
+   * highlight: Adapt to API change in highlight &gt;= 3.51
+   * mdwn: Fix inverted footnote configuration when MultiMarkdown is
+     enabled. Thanks, Giuseppe Bilotta
+ * [ Joey Hess ]
+   * Updated German basewiki and directives translation from
+     Sebastian Kuhnert.
+   * Updated German program translation from
+     Sebastian Kuhnert."""]]
\ No newline at end of file

trying to bring this back in the pile :)
diff --git a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
index a172e5ac4..7841467b2 100644
--- a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
+++ b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
@@ -69,6 +69,22 @@ supporting [IRIs](https://tools.ietf.org/html/rfc3987): `<a href="#visiting-北
 >> In practice, minor or old browsers are probably insecure anyway, so I don't care
 >> too much about supporting them perfectly... --s
 
+> After thinking more about this, I don't feel that IRIs are a good
+> solution. Sure, there are machine-readable ways of encoding
+> non-ASCII characters in URLs. But that's not the point here: the
+> point here is to have *human* readable URLs. In the example I give
+> in the plugin documentation, I mention the french word "liberté"
+> which can easily be transliterated to "liberte". By using the
+> RFC3987 scheme, we could use unicode directly in the links (`a
+> href="#liberté"`), but the actual URL would be encoded as
+> `#libert%e9`, which is really not as pretty.
+>
+> I understand you not wanting to introduce another dependency. And I
+> also worry about the transliteration not being stable across
+> releases. After all, it might not even be stable across Unicode
+> releases either! But I'm ready to live with that inconvenience for
+> the user-friendliness of the resulting URLs. --[[anarcat]]
+
 ----
 
 Documentation says:
@@ -102,6 +118,19 @@ htmlize layer, or stop using Text::MultiMarkdown.
 > for me to just override whatever attributes were there for testing and 
 > fixing this in the short term... -- [[anarcat]]
 
+> To bounce on this again: my problem with keeping existing IDs is
+> that it basically makes headinganchors fail to do anything if
+> something else adds the anchors. So I understand where you're coming
+> from with this, but that "bug" was introduced on purpose, to
+> actually fix a problem I was having.
+>
+> So I understand you might not want to *replace* headinganchors
+> completely with this module, but could we at least merge it in so I
+> wouldn't have to carry this patch around forever? :) Or what's our
+> way forward here?
+>
+> Thanks! -- [[anarcat]]
+
 ----
 
 <pre>Some long scrollable text

Added a comment: Remove
diff --git a/doc/forum/How_to_delete_a_post/comment_1_5fd53d620d423e131e4acf9b0709b7e1._comment b/doc/forum/How_to_delete_a_post/comment_1_5fd53d620d423e131e4acf9b0709b7e1._comment
new file mode 100644
index 000000000..f1867c992
--- /dev/null
+++ b/doc/forum/How_to_delete_a_post/comment_1_5fd53d620d423e131e4acf9b0709b7e1._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="lioh@d60e27fddf08ba15c63b2b18e9521d7bc3453bb1"
+ nickname="lioh"
+ avatar="http://cdn.libravatar.org/avatar/65fa804f4ec5498f7b31a799aff0974d"
+ subject="Remove"
+ date="2020-01-07T13:42:31Z"
+ content="""
+I had to enable the Remove Plugin in the Settings. Now it works.
+"""]]

diff --git a/doc/forum/How_to_delete_a_post.mdwn b/doc/forum/How_to_delete_a_post.mdwn
new file mode 100644
index 000000000..33de7fbb8
--- /dev/null
+++ b/doc/forum/How_to_delete_a_post.mdwn
@@ -0,0 +1 @@
+I have set up ikiwiki on my FreedomBox and created a new blog. This comes with two initial blog posts which I would like to delete. Now my question is how to delete those pages?

Revert "removed"
This reverts commit 209a1fbdc75d8cae7ee848243e9e44b565b7820d.
diff --git a/doc/users/joey.mdwn b/doc/users/joey.mdwn
new file mode 100644
index 000000000..134aa21d1
--- /dev/null
+++ b/doc/users/joey.mdwn
@@ -0,0 +1,8 @@
+[[!meta title="Joey Hess"]]
+
+Joey Hess is <a href="mailto:joey@kitenet.net">joey@kitenet.net</a>. 
+His web page is [here](http://kitenet.net/~joey/).
+
+Joey hates programming web crap, and hates being locked into a web browser
+to do something, and this probably shows in the design choices made in
+ikiwiki.

removed
diff --git a/doc/users/joey.mdwn b/doc/users/joey.mdwn
deleted file mode 100644
index 134aa21d1..000000000
--- a/doc/users/joey.mdwn
+++ /dev/null
@@ -1,8 +0,0 @@
-[[!meta title="Joey Hess"]]
-
-Joey Hess is <a href="mailto:joey@kitenet.net">joey@kitenet.net</a>. 
-His web page is [here](http://kitenet.net/~joey/).
-
-Joey hates programming web crap, and hates being locked into a web browser
-to do something, and this probably shows in the design choices made in
-ikiwiki.

Revert "removed"
This reverts commit bc1b60b913900979e53749537165b75252ab7299.
diff --git a/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn b/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
new file mode 100644
index 000000000..864a5473b
--- /dev/null
+++ b/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
@@ -0,0 +1,41 @@
+When the `search` plugin is enabled, with the options:
+
+```
+# search plugin
+# path to the omega cgi program
+omega_cgi: /usr/lib/cgi-bin/omega/omega
+# use google site search rather than internal xapian index?
+google_search: 0
+```
+
+Then we see the following error when editing a page from the web browser UI or running `ikiwiki --rebuild`:
+
+```
+Error: Exception: Db block overwritten - are there multiple writers?
+```
+
+The issue goes away when we disable the 'search' plugin.
+
+We're running ikiwiki version 3.20180228-1.
+
+> Every time?
+> I used to see an error (this one, I think) intermittently on OS X, on incremental rebuilds only.
+> Haven't seen it in a while, though.
+> Maybe something got fixed upstream.
+> What OS, and what version of Xapian and Omega?
+> (1.4.11 for me.)
+> Maybe worth blowing away `.ikiwiki/xapian/`, as described in [[tips/inside_dot_ikiwiki]]?
+> 
+> --[[schmonz]]
+> 
+>> We've removed the `.ikiwiki/xapian` directory before performing a rebuild, including actually rebooting the host OS. The search appears to work for a while, but once the wiki has been live for a while (and subject to edits on the web interface), the issue reappears.
+>> 
+>> * OS: Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-47-generic x86_64)
+>> * xapian-tools/bionic-updates,bionic-security,now 1.4.5-1ubuntu0.1 amd64
+>> * xapian-omega/bionic,now 1.4.5-1 amd64
+>> 
+>> I've upgraded our installations of both Xapian components and will let you know if that fixes it.
+>> -- jsewell
+>>
+>>> Updating appeared to fix it. Sorry for not trying that sooner. Thanks for the help.
+>>> -- jsewell

Revert "removed"
This reverts commit 697a0e4e4201b85f086b4662a9813d53aef0cc63.
diff --git a/doc/index.mdwn b/doc/index.mdwn
new file mode 100644
index 000000000..e0e401656
--- /dev/null
+++ b/doc/index.mdwn
@@ -0,0 +1,37 @@
+[[!template id=links]]
+
+Ikiwiki is a **wiki compiler**. It converts wiki pages into HTML pages
+suitable for publishing on a website. Ikiwiki stores pages and history in a
+[[revision_control_system|rcs]] such as [[Subversion|rcs/svn]] or [[rcs/Git]].
+There are many other [[features]], including support for
+[[blogging|blog]] and [[podcasting|podcast]], as well as a large
+array of [[plugins]].
+
+Alternatively, think of ikiwiki as a particularly flexible static
+site generator with some dynamic features.
+
+
+
+## using ikiwiki
+
+[[Setup]] has a tutorial for setting up ikiwiki, or you can read the
+[[man_page|usage]]. There are some [[examples]] of things you can do
+with ikiwiki, and some [[tips]].  Basic documentation for ikiwiki plugins
+and syntax is provided [[here|ikiwiki]]. The [[forum]] is open for
+discussions.
+
+All wikis are supposed to have a [[sandbox]], so this one does too.
+
+This site generally runs the latest release of ikiwiki; currently, it runs
+ikiwiki [[!version ]].
+
+## developer resources
+
+The [[RoadMap]] describes where the project is going.
+[[Bugs]], [[TODO]] items, [[wishlist]] items, and [[patches|patch]]
+can be submitted and tracked using this wiki.
+
+Ikiwiki is developed by [[Joey]] and many contributors,
+and is [[FreeSoftware]].
+
+

Note recent spam edits.
diff --git a/doc/spam_fighting.mdwn b/doc/spam_fighting.mdwn
index 32ba4b459..67c8e0409 100644
--- a/doc/spam_fighting.mdwn
+++ b/doc/spam_fighting.mdwn
@@ -37,4 +37,5 @@ eb526e9 and 5 more | 2015/01/10 | loveneet (OpenID) | 122.173.133.14
 ca4d8fc and 17 more | 2015/01/12-14 | spalax. (note the trailing dot) | 122.173.227.51 and 122.173.17.141
 992f995 | 2015/03/20 | snape (OpenID) | 187.209.217.54
 1d05cf3 | 2015/05/20 | justine (OpenID) | ?
+697a0e4 and bc1b60b | 2019/12/21 | 360boom720@gmail.com | 99.203.143.171
 """]]

removed
diff --git a/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn b/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
deleted file mode 100644
index 864a5473b..000000000
--- a/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
+++ /dev/null
@@ -1,41 +0,0 @@
-When the `search` plugin is enabled, with the options:
-
-```
-# search plugin
-# path to the omega cgi program
-omega_cgi: /usr/lib/cgi-bin/omega/omega
-# use google site search rather than internal xapian index?
-google_search: 0
-```
-
-Then we see the following error when editing a page from the web browser UI or running `ikiwiki --rebuild`:
-
-```
-Error: Exception: Db block overwritten - are there multiple writers?
-```
-
-The issue goes away when we disable the 'search' plugin.
-
-We're running ikiwiki version 3.20180228-1.
-
-> Every time?
-> I used to see an error (this one, I think) intermittently on OS X, on incremental rebuilds only.
-> Haven't seen it in a while, though.
-> Maybe something got fixed upstream.
-> What OS, and what version of Xapian and Omega?
-> (1.4.11 for me.)
-> Maybe worth blowing away `.ikiwiki/xapian/`, as described in [[tips/inside_dot_ikiwiki]]?
-> 
-> --[[schmonz]]
-> 
->> We've removed the `.ikiwiki/xapian` directory before performing a rebuild, including actually rebooting the host OS. The search appears to work for a while, but once the wiki has been live for a while (and subject to edits on the web interface), the issue reappears.
->> 
->> * OS: Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-47-generic x86_64)
->> * xapian-tools/bionic-updates,bionic-security,now 1.4.5-1ubuntu0.1 amd64
->> * xapian-omega/bionic,now 1.4.5-1 amd64
->> 
->> I've upgraded our installations of both Xapian components and will let you know if that fixes it.
->> -- jsewell
->>
->>> Updating appeared to fix it. Sorry for not trying that sooner. Thanks for the help.
->>> -- jsewell

removed
diff --git a/doc/index.mdwn b/doc/index.mdwn
deleted file mode 100644
index e0e401656..000000000
--- a/doc/index.mdwn
+++ /dev/null
@@ -1,37 +0,0 @@
-[[!template id=links]]
-
-Ikiwiki is a **wiki compiler**. It converts wiki pages into HTML pages
-suitable for publishing on a website. Ikiwiki stores pages and history in a
-[[revision_control_system|rcs]] such as [[Subversion|rcs/svn]] or [[rcs/Git]].
-There are many other [[features]], including support for
-[[blogging|blog]] and [[podcasting|podcast]], as well as a large
-array of [[plugins]].
-
-Alternatively, think of ikiwiki as a particularly flexible static
-site generator with some dynamic features.
-
-
-
-## using ikiwiki
-
-[[Setup]] has a tutorial for setting up ikiwiki, or you can read the
-[[man_page|usage]]. There are some [[examples]] of things you can do
-with ikiwiki, and some [[tips]].  Basic documentation for ikiwiki plugins
-and syntax is provided [[here|ikiwiki]]. The [[forum]] is open for
-discussions.
-
-All wikis are supposed to have a [[sandbox]], so this one does too.
-
-This site generally runs the latest release of ikiwiki; currently, it runs
-ikiwiki [[!version ]].
-
-## developer resources
-
-The [[RoadMap]] describes where the project is going.
-[[Bugs]], [[TODO]] items, [[wishlist]] items, and [[patches|patch]]
-can be submitted and tracked using this wiki.
-
-Ikiwiki is developed by [[Joey]] and many contributors,
-and is [[FreeSoftware]].
-
-

create my user page
diff --git a/doc/users/PaulWise.mdwn b/doc/users/PaulWise.mdwn
new file mode 100644
index 000000000..6e6ebe1ec
--- /dev/null
+++ b/doc/users/PaulWise.mdwn
@@ -0,0 +1,2 @@
+* Contributions: [[plugins/headinganchors/]] [[plugins/contrib/siterel2pagerel/]]<br>
+* Homepage: <https://bonedaddy.net/pabs3/>

diff --git a/doc/sandbox/Do_issue___96__titles__96_____42__support__42_____95__Markdown__95___or_are___91__they__93____40__https:__47____47__fsf.org__41___plain___60__i__62__text__60____47__i__62__.mdwn b/doc/sandbox/Do_issue___96__titles__96_____42__support__42_____95__Markdown__95___or_are___91__they__93____40__https:__47____47__fsf.org__41___plain___60__i__62__text__60____47__i__62__.mdwn
new file mode 100644
index 000000000..c67b52b9b
--- /dev/null
+++ b/doc/sandbox/Do_issue___96__titles__96_____42__support__42_____95__Markdown__95___or_are___91__they__93____40__https:__47____47__fsf.org__41___plain___60__i__62__text__60____47__i__62__.mdwn
@@ -0,0 +1 @@
+Do issue `titles` *support* _Markdown_ or are [they](https://fsf.org) plain <i>text</i>

diff --git a/doc/plugins/sparkline/discussion.mdwn b/doc/plugins/sparkline/discussion.mdwn
index 076e6b707..08e130355 100644
--- a/doc/plugins/sparkline/discussion.mdwn
+++ b/doc/plugins/sparkline/discussion.mdwn
@@ -5,3 +5,5 @@ php5 is no longer available in Debian stable (or oldstable).
 the libphp-sparkline package is broken with php7 CLI (it redefines "Object" which is now reserved).
 
 Perhaps reverting to the Perl sparkline would make sense now? — [[Jon]]
+
+> oh, now I see [[bugs/remove orphaned sparkline-php from Suggests]].

php sparkline is dead
diff --git a/doc/plugins/sparkline/discussion.mdwn b/doc/plugins/sparkline/discussion.mdwn
new file mode 100644
index 000000000..076e6b707
--- /dev/null
+++ b/doc/plugins/sparkline/discussion.mdwn
@@ -0,0 +1,7 @@
+sparkline.org no longer hosts the php sparkline software. it redirects to a personal website which points people at github for their projects, and that list does not include sparkline.
+
+php5 is no longer available in Debian stable (or oldstable).
+
+the libphp-sparkline package is broken with php7 CLI (it redefines "Object" which is now reserved).
+
+Perhaps reverting to the Perl sparkline would make sense now? — [[Jon]]

Added a comment: I also need this. Please help!
diff --git a/doc/forum/how_to_put_a_permalink_on_each_post/comment_1_c9bb9dec3c3eab234aa3b0cc22991cfa._comment b/doc/forum/how_to_put_a_permalink_on_each_post/comment_1_c9bb9dec3c3eab234aa3b0cc22991cfa._comment
new file mode 100644
index 000000000..325cdd7db
--- /dev/null
+++ b/doc/forum/how_to_put_a_permalink_on_each_post/comment_1_c9bb9dec3c3eab234aa3b0cc22991cfa._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="I also need this. Please help!"
+ date="2019-11-08T21:35:21Z"
+ content="""
+Thanks for bring this up. Many users including myself probably need this feature or instruction on how to enable it.
+"""]]

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index c3d1156c1..27e2acc9e 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -3,7 +3,8 @@
 Why doesn't the following work?..
 [[!color  foreground=white background=#ff0000 text="White text on red background"]]
 
-Sure it is. 
+Sure it is.
+===========
 
 I hope baby.
 

revert link spam/vandalism
diff --git a/doc/usage/discussion.mdwn b/doc/usage/discussion.mdwn
new file mode 100644
index 000000000..189d74eb0
--- /dev/null
+++ b/doc/usage/discussion.mdwn
@@ -0,0 +1 @@
+Man page does not document "account\_creation\_password". I started to add it, then noticed other configurations are not documented in the manual page either. --[[JeremyReed]]

removed
diff --git a/doc/usage/discussion.mdwn b/doc/usage/discussion.mdwn
deleted file mode 100644
index dc002c0a8..000000000
--- a/doc/usage/discussion.mdwn
+++ /dev/null
@@ -1 +0,0 @@
-Golden Egg - https://www.thegoldenegg.in/services/address-change/

diff --git a/doc/usage/discussion.mdwn b/doc/usage/discussion.mdwn
index 189d74eb0..dc002c0a8 100644
--- a/doc/usage/discussion.mdwn
+++ b/doc/usage/discussion.mdwn
@@ -1 +1 @@
-Man page does not document "account\_creation\_password". I started to add it, then noticed other configurations are not documented in the manual page either. --[[JeremyReed]]
+Golden Egg - https://www.thegoldenegg.in/services/address-change/

link spam
This reverts commit 88928ee349fd0b6c09779f84e029901afde66b09
diff --git a/doc/users/Erkan_Yilmaz2.html b/doc/users/Erkan_Yilmaz2.html
deleted file mode 100644
index 8f1c59a09..000000000
--- a/doc/users/Erkan_Yilmaz2.html
+++ /dev/null
@@ -1 +0,0 @@
-Yalancı ekrem imamoğlu Mağduriyet edebiyatı yapan şovmen ekrem https://yalanci.neocities.org

link spam
This reverts commit de95e30465eea72b0182f19a8312d9d7fb1faba6
diff --git a/doc/users/jon.mdwn b/doc/users/jon.mdwn
index efbb13a91..3d5304365 100644
--- a/doc/users/jon.mdwn
+++ b/doc/users/jon.mdwn
@@ -10,7 +10,7 @@ sysadmins.
   [[tips/untrusted_git_push]]); 'jmtd.net', 'jmtd.livejournal.com', 
   'jmtd' if I've forgotten to set my local git config properly,
   or once upon a time 'alcopop.org/me/openid/' or 'jondowland'.
-* My [homepage](https://yalanci.neocities.org/) is powered by ikiwiki
+* My [homepage](http://jmtd.net/) is powered by ikiwiki
 
 I gave a talk at the [UK UNIX User's Group](http://www.ukuug.org/) annual
 [Linux conference](http://www.ukuug.org/events/linux2008/) in 2008 about

link spam
This reverts commit 3d50a3e46880717b4d64ed7e5ff9b4f225d4b785
diff --git a/doc/users/smcv.mdwn b/doc/users/smcv.mdwn
index 2726931d1..9835049c3 100644
--- a/doc/users/smcv.mdwn
+++ b/doc/users/smcv.mdwn
@@ -1,6 +1,6 @@
 Website: [pseudorandom.co.uk](http://www.pseudorandom.co.uk/)
 
-Blog: [smcv.pseudorandom.co.uk](https://yalanci.neocities.org/)
+Blog: [smcv.pseudorandom.co.uk](http://smcv.pseudorandom.co.uk/)
 
 My repository containing ikiwiki branches:
 

diff --git a/doc/users/smcv.mdwn b/doc/users/smcv.mdwn
index 9835049c3..2726931d1 100644
--- a/doc/users/smcv.mdwn
+++ b/doc/users/smcv.mdwn
@@ -1,6 +1,6 @@
 Website: [pseudorandom.co.uk](http://www.pseudorandom.co.uk/)
 
-Blog: [smcv.pseudorandom.co.uk](http://smcv.pseudorandom.co.uk/)
+Blog: [smcv.pseudorandom.co.uk](https://yalanci.neocities.org/)
 
 My repository containing ikiwiki branches:
 

diff --git a/doc/users/jon.mdwn b/doc/users/jon.mdwn
index 3d5304365..efbb13a91 100644
--- a/doc/users/jon.mdwn
+++ b/doc/users/jon.mdwn
@@ -10,7 +10,7 @@ sysadmins.
   [[tips/untrusted_git_push]]); 'jmtd.net', 'jmtd.livejournal.com', 
   'jmtd' if I've forgotten to set my local git config properly,
   or once upon a time 'alcopop.org/me/openid/' or 'jondowland'.
-* My [homepage](http://jmtd.net/) is powered by ikiwiki
+* My [homepage](https://yalanci.neocities.org/) is powered by ikiwiki
 
 I gave a talk at the [UK UNIX User's Group](http://www.ukuug.org/) annual
 [Linux conference](http://www.ukuug.org/events/linux2008/) in 2008 about

diff --git a/doc/users/Erkan_Yilmaz2.html b/doc/users/Erkan_Yilmaz2.html
new file mode 100644
index 000000000..8f1c59a09
--- /dev/null
+++ b/doc/users/Erkan_Yilmaz2.html
@@ -0,0 +1 @@
+Yalancı ekrem imamoğlu Mağduriyet edebiyatı yapan şovmen ekrem https://yalanci.neocities.org

link to the actual ikiwiki repo
diff --git a/doc/users/GiuseppeBilotta.mdwn b/doc/users/GiuseppeBilotta.mdwn
index 7b15da959..49f028205 100644
--- a/doc/users/GiuseppeBilotta.mdwn
+++ b/doc/users/GiuseppeBilotta.mdwn
@@ -1,5 +1,5 @@
 Custom patches to IkiWiki can be found in select branches of
-<http://git.oblomov.eu>.
+<http://git.oblomov.eu/ikiwiki>.
 
 Patches proposed/discussed:
 [[!map pages="link(users/GiuseppeBilotta) and (todo/* or bugs/*) and

Whitespace
diff --git a/doc/todo/object_support.mdwn b/doc/todo/object_support.mdwn
index e7a9dd811..527f45ad1 100644
--- a/doc/todo/object_support.mdwn
+++ b/doc/todo/object_support.mdwn
@@ -1,3 +1,3 @@
-[[!template id=gitbranch branch=GiuseppeBilotta/obj author="[[Giuseppe Bilotta]]"]]
+[[!template id=gitbranch branch=GiuseppeBilotta/obj author="[[GiuseppeBilotta]]"]]
 
 I have created a rather straightforward adaptation of the `img` directive to implement `object` support. The intended use case is to allow inclusion of SVG images that use interaction and/or load external resources, which are not supported in modern browsers via the `img` tag because security. The new directive is called `obj`, and it's implemented as part of the `img` plugin. The patch implementing it is available in my `obj` branch

Proposed support for object tag
diff --git a/doc/todo/object_support.mdwn b/doc/todo/object_support.mdwn
new file mode 100644
index 000000000..e7a9dd811
--- /dev/null
+++ b/doc/todo/object_support.mdwn
@@ -0,0 +1,3 @@
+[[!template id=gitbranch branch=GiuseppeBilotta/obj author="[[Giuseppe Bilotta]]"]]
+
+I have created a rather straightforward adaptation of the `img` directive to implement `object` support. The intended use case is to allow inclusion of SVG images that use interaction and/or load external resources, which are not supported in modern browsers via the `img` tag because security. The new directive is called `obj`, and it's implemented as part of the `img` plugin. The patch implementing it is available in my `obj` branch

I had the same problem somebody on the discussion page had so I changed the instructions so nobody else will.
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 82fd299e3..7b768a61e 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -25,7 +25,7 @@ documentation for details.
 
 If you want to install by hand from the tarball, you should make sure that
 all the perl modules are installed. This is one way to install them, using
-CPAN:
+CPAN to install modules from your local machine after you extract the ikiwiki tarball:
 
 	PERL5LIB=`pwd` PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install("Bundle::IkiWiki")'
 	PERL5LIB=`pwd` PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install("Bundle::IkiWiki::Extras")'

libtext-csv-xs-perl not relevant
diff --git a/doc/bugs/table_can_not_deal_with_Chinese_.mdwn b/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
index cafc7e419..f115fbebb 100644
--- a/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
+++ b/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
@@ -134,4 +134,6 @@ I'm going to attempt to work around it by moving to an external CSV. ­— [[Jon
 >> Post Buster-upgrade, and it's *still* broken on my webhost, which shows
 >> `[\[!table Error: Wide character at /usr/lib/x86_64-linux-gnu/perl/5.28/Encode.pm line 296.]]`
 >> with libperl5.28:amd64	5.28.1-6, libtext-csv-perl	1.99-1 and 
->> libtext-csv-xs-perl	1.38-1. Further fiddling will commence. — [[Jon]]
+>> libtext-csv-xs-perl	1.38-1. Further fiddling will commence.
+>> (removing libtext-csv-xs-perl does not help.)
+— [[Jon]]

sigh, still broken, different error message.
diff --git a/doc/bugs/table_can_not_deal_with_Chinese_.mdwn b/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
index 653ec00d3..cafc7e419 100644
--- a/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
+++ b/doc/bugs/table_can_not_deal_with_Chinese_.mdwn
@@ -130,3 +130,8 @@ I'm going to attempt to work around it by moving to an external CSV. ­— [[Jon
 >> EDIT: yes indeed merely upgrading to libperl5.28=5.28.1-6 in stretch fixes the
 >> issue.
 >> — [[Jon]]
+>>
+>> Post Buster-upgrade, and it's *still* broken on my webhost, which shows
+>> `[\[!table Error: Wide character at /usr/lib/x86_64-linux-gnu/perl/5.28/Encode.pm line 296.]]`
+>> with libperl5.28:amd64	5.28.1-6, libtext-csv-perl	1.99-1 and 
+>> libtext-csv-xs-perl	1.38-1. Further fiddling will commence. — [[Jon]]