Recent changes to this wiki:

avoiding ban?
diff --git a/doc/todo/anti-spam_protection.mdwn b/doc/todo/anti-spam_protection.mdwn
index c653ab30a..cf07fe7eb 100644
--- a/doc/todo/anti-spam_protection.mdwn
+++ b/doc/todo/anti-spam_protection.mdwn
@@ -55,3 +55,36 @@ That removed 2265 comments. I reviewed the remaining 643 by hand and deleted the
 Now, I don't want to point fingers, but there sure seems to be some problems with china there and i'm tempted to just block those entire networks. :/
 
 Anyways... Someone mentioned Spamassassin in the original request, and I just [read](https://lwn.net/SubscriberLink/769917/130e156925fc690e/) that some people *are* using spamassassin for website spam control. Has anyone gave that a try? --[[anarcat]]
+
+----
+
+Another note that might be of interest here... One of the things that script was doing was to generate a list of IPs to be inserted into `ikiwiki.setup`. Unfortunately, that doesn't seem to work:
+
+    $ ~anarcat/bin/ikiwiki-comment-moderate 
+    found 165 pending comments
+    IP distribution:
+          1  ip="110.86.179.146"
+    [...]
+         10  ip="175.44.35.10"
+         11  ip="175.44.35.236"
+    banlist would look like:
+    - ip(110.86.179.146)
+    # 112.111.162.159 already present
+    # 112.111.163.216 already present
+    [...]
+    # 36.250.185.52 already present
+    # 36.250.185.55 already present
+    # 36.250.186.113 already present
+    - ip(59.60.123.211)
+    to remove comments from a specific IP, use this, for example:
+    find . -name '*._comment_pending' | xargs grep -l 'ip="$ip"'| xargs rm
+    to flush all pending comments, use:
+    find . -name '*._comment_pending' -delete
+
+In other words, many of the comments in moderation are actually
+supposed to be blocked, as their IPs are in the `banned_users`
+list. Now I know my way around a UNIX system well enough to deal with
+this another way - I'm thinking of fail2ban or a simple Apache rewrite
+table (and it might easier and faster too) - but I wonder why those
+IPs can still post comments when they are listed in
+`banned_users`... -- [[anarcat]]

update my entry
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 5286f83dc..0f959a2c3 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -70,7 +70,7 @@ think about merging them. This is recommended. :-)
 * [[users/leg]] `git://at.magma-soft.at/ikiwiki.info`
 * [[thcipriani]] `https://github.com/thcipriani/ikiwiki.git` ([[browse|https://github.com/thcipriani/ikiwiki]])
 * [[tincho]] `git@github.com:TheTincho/ikiwiki.git` ([[browse|https://github.com/TheTincho/ikiwiki]])
-* hefee `https://salsa.debian.org/hefee/ikiwiki`
+* [[hefee]] `https://salsa.debian.org/hefee/ikiwiki.git/` ([[browse|https://salsa.debian.org/hefee/ikiwiki]])
 ## branches
 
 Current branches of ikiwiki are listed on [[branches]].

update description & remove tag patch
diff --git a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
index aecfa68d3..e3a57e184 100644
--- a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
+++ b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
@@ -1,7 +1,9 @@
-[[!tag patch]]
 [[!template  id=gitbranch branch=feature/15355-po-plugin-disable-languages author="[[hefee]]"]]
 
-In order to be able to prepare more translations before publishing them, it is a good a idea to have disabled languages.
-Currently there are some small issues that need to cleanup before able to push this into ikiwiki upstream.
+`po_disabled_languages` is used to disable languages on the website. It
+can be used to prepare new translations, while it will hide those from
+the end-user. More precisely, PO files for these languages are updated
+normally, however, HTML creation will be disabled and no reference to
+these translations will be visible on the website.
 
 See also downstream bug report in tails: <https://labs.riseup.net/code/issues/15355>

more spam issues. this is definitely not done.
diff --git a/doc/todo/anti-spam_protection.mdwn b/doc/todo/anti-spam_protection.mdwn
index f0c6c19b6..c653ab30a 100644
--- a/doc/todo/anti-spam_protection.mdwn
+++ b/doc/todo/anti-spam_protection.mdwn
@@ -34,3 +34,24 @@ to check for common spam signatures. --[[Joey]]
 I am sorry to say that neither those solutions are sufficient for a site that allows anonymous comments. blogspam lets thousands of commits through here, as i described in [[todo/commandline_comment_moderation]]. Now, maybe I didn't configure blogspam correctly, I am not sure. I just enabled the plugin and set `blogspam_pagespec: postcomment(blog/*) or */discussion`. I have also imported the blocklist from this wiki's ikiwiki.setup, generated from [[spam_fighting]]. I have had to add around 10 IPs to that list already.
 
 It seems to me a list of blocked URLs or blocked IPs as mentionned above would be an interesting solution. blogspam is great, but the API doesn't seem to support reporting IPs or bad content back, which seems to be a major problem in working around false negatives. I'm tempted to just remove the `done` tag above, because this is clearly not fixed for me here... --[[anarcat]]
+
+----
+
+Update, ~3 years later... Situation hasn't improved much. If anything, things are worse now as [blogspam](https://blogspam.net/) was [almost shutdown](https://blog.steve.fi/possibly_retiring_blogspam_net.html). It's still up, but it's unclear if it's doing anything. I just went through comment moderation for about 3000 comments, all of which were spam, except *one*. And the only reason I went there is because I *asked* someone to comment on a blog post instead of writing me privately so I *knew* there was something for me there. That was more than 5 months of comments backlog, and it was obviously too much to review by hand, so I removed things according to some patterns. For example, anything with phpBB-like markup is probably spam, so I cleared those up:
+
+    find .  -name '*._comment_pending' -a -print0  | xargs -0 grep -l -Z '\[url=' | xargs -0 rm
+
+That removed 2265 comments. I reviewed the remaining 643 by hand and deleted them all. I used [ikiwiki-comment-moderate](https://gitlab.com/anarcat/scripts/blob/master/ikiwiki-comment-moderate) to generate a list of IPs to block. The top 5 /16 blocks were:
+
+    18 112.5 China Mobile communications corporation
+    31 110.89 Chinanet
+    36 36.250 China Unicom
+    44 112.111 China Unicom
+    45 36.248 China Unicom
+    74 175.44 China Unicom
+
+(Left column is the number of IPs affected in the /16. Middle is the /16. Right is an assertion of the owner.) Attacks came from 104 distinct /24 blocks and 66 distinct /16.
+
+Now, I don't want to point fingers, but there sure seems to be some problems with china there and i'm tempted to just block those entire networks. :/
+
+Anyways... Someone mentioned Spamassassin in the original request, and I just [read](https://lwn.net/SubscriberLink/769917/130e156925fc690e/) that some people *are* using spamassassin for website spam control. Has anyone gave that a try? --[[anarcat]]

Give graph an optional "file" param, like table's.
diff --git a/IkiWiki/Plugin/graphviz.pm b/IkiWiki/Plugin/graphviz.pm
index d4018edaa..479da6f73 100644
--- a/IkiWiki/Plugin/graphviz.pm
+++ b/IkiWiki/Plugin/graphviz.pm
@@ -95,6 +95,14 @@ sub render_graph (\%) {
 sub graph (@) {
 	my %params=@_;
 
+	if (exists $params{file}) {
+		if (! exists $pagesources{$params{file}}) {
+			error gettext("cannot find file");
+		}
+		$params{src} = readfile(srcfile($params{file}));
+		add_depends($params{page}, $params{file});
+	}
+
 	# Support wikilinks in the graph source.
 	my $src=$params{src};
 	$src="" unless defined $src;
diff --git a/doc/ikiwiki/directive/graph.mdwn b/doc/ikiwiki/directive/graph.mdwn
index 7021e47fb..1463420d7 100644
--- a/doc/ikiwiki/directive/graph.mdwn
+++ b/doc/ikiwiki/directive/graph.mdwn
@@ -21,6 +21,7 @@ ikiwiki, [[WikiLinks|ikiwiki/wikilink]] can also be used. For example:
 The `graph` directive supports the following parameters:
 
 - `src` - The graphviz source to render.
+* `file` - A file in the wiki containing the graphviz source.
 - `type` - The type of graph to render: `graph` or `digraph`.  Defaults to
   `digraph`.
 - `prog` - The graphviz program to render with: `dot`, `neato`, `fdp`, `twopi`,

diff --git a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
index a03259c03..57386ad75 100644
--- a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
+++ b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
@@ -93,4 +93,7 @@
 
 > Indeed, would love to see this merged! What might be the next steps here? — [[lamby]],  Thu, 18 Oct 2018 17:57:37 -0400
 
+> I've filed this in Debian GNU/Linux at https://bugs.debian.org/911356 — [[lamby]], Thu, 18 Oct 2018 20:18:58 -0400
+
+
 

diff --git a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
index 1260ce19f..a03259c03 100644
--- a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
+++ b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
@@ -91,4 +91,6 @@
 
 > Any update on getting this merged? — [[lamby]], Fri, 24 Aug 2018 12:36:37 +0200
 
+> Indeed, would love to see this merged! What might be the next steps here? — [[lamby]],  Thu, 18 Oct 2018 17:57:37 -0400
+
 

removed
diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_8_8ecc48807d369a5b5cf0ce3abcbddbc4._comment b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_8_8ecc48807d369a5b5cf0ce3abcbddbc4._comment
deleted file mode 100644
index 377d57d46..000000000
--- a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_8_8ecc48807d369a5b5cf0ce3abcbddbc4._comment
+++ /dev/null
@@ -1,8 +0,0 @@
-[[!comment format=mdwn
- username="DataComputist"
- avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
- subject="Could someone document the steps to achieve this?"
- date="2018-10-16T07:01:52Z"
- content="""
-I have the exact same need. My Ikiwiki instance containing hundreds of megabytes of photos have a huge Git history, and ikiwiki refresh takes a really long time (>7 mins). I really need help.
-"""]]

Added a comment: Could someone document the steps to achieve this?
diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_8_8ecc48807d369a5b5cf0ce3abcbddbc4._comment b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_8_8ecc48807d369a5b5cf0ce3abcbddbc4._comment
new file mode 100644
index 000000000..377d57d46
--- /dev/null
+++ b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_8_8ecc48807d369a5b5cf0ce3abcbddbc4._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="Could someone document the steps to achieve this?"
+ date="2018-10-16T07:01:52Z"
+ content="""
+I have the exact same need. My Ikiwiki instance containing hundreds of megabytes of photos have a huge Git history, and ikiwiki refresh takes a really long time (>7 mins). I really need help.
+"""]]

another thing to remove from prints
diff --git a/doc/todo/hide_add_comment_button_in_print.mdwn b/doc/todo/hide_add_comment_button_in_print.mdwn
new file mode 100644
index 000000000..cbfaca888
--- /dev/null
+++ b/doc/todo/hide_add_comment_button_in_print.mdwn
@@ -0,0 +1,48 @@
+[[!template  id=gitbranch branch=anarcat/print-no-comment author="[[anarcat]]"]]
+
+Print versions are often a neglected part of a style sheet, but it's
+great when people can actually print your webpage and get a satisfying
+result.
+
+This often means removing a bunch of stuff that are irrelevant for
+print. Ikiwiki already does a bunch of those things in the
+base stylesheet:
+
+    /* things to hide in printouts */
+    @media print {
+    	.actions { display: none; }
+    	.tags { display: none; }
+    	.trails { display: none; }
+    	.feedbutton { display: none; }
+    	#searchform { display: none; }
+    	.blogform, #blogform { display: none; }
+    	#backlinks { display: none; }
+    }
+
+But I think we should remove more. In particular, the `addcomment`
+button is not relevant at all for print versions. There might be more:
+in my [bootstrap theme][], I also had to [remove][] the whole footer,
+because it was overlapping with the page content. It's unfortunate
+because it removes the copyright notice, but I don't know how else to
+fix this.
+
+Anyways, how about [this patch][]?
+
+    --- a/doc/style.css
+    +++ b/doc/style.css
+    @@ -286,6 +286,7 @@ div.progress-done {
+     	#searchform { display: none; }
+     	.blogform, #blogform { display: none; }
+     	#backlinks { display: none; }
+    +	.addcomment { display: none; }
+     }
+     
+     /* infobox template */
+
+Thanks! -- [[anarcat]]
+
+[bootstrap theme]: https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat
+[remove]: https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat/commit/94521766f4206882c44764253452ec666d90d5c1
+[this patch]: https://gitlab.com/anarcat/ikiwiki/commit/33630b561623b8dca946916b733807e9b8c97849.patch
+
+[[!tag patch]]

Added a comment: More thoughts about Ikiwiki
diff --git a/doc/forum/Some_thoughts_about_Ikiwiki/comment_2_d1026de462b7491ce2ed2f72f08d463a._comment b/doc/forum/Some_thoughts_about_Ikiwiki/comment_2_d1026de462b7491ce2ed2f72f08d463a._comment
new file mode 100644
index 000000000..e411f462f
--- /dev/null
+++ b/doc/forum/Some_thoughts_about_Ikiwiki/comment_2_d1026de462b7491ce2ed2f72f08d463a._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="spalax"
+ avatar="http://cdn.libravatar.org/avatar/3f1353e4135221fc25bfecd1b812bcc8"
+ subject="More thoughts about Ikiwiki"
+ date="2018-10-10T14:43:32Z"
+ content="""
+I eventually switched my [website](http://ababsurdo.fr) to [lektor](http://getlektor.com). It is more modern than ikiwiki (and written in Python, so its easier for me to dig into the code). Here are more thoughts about Ikiwiki, compared to Lektor.
+
+- Ikiwiki community is great! Even these days, when there is very few activity, when people ask for help (either on this website, or on IRC), they get quick answers (as opposed to Lektor, where I had to wait up to six weeks to get an answer (not blaming lektor contributors: I know they have a life too, and owe me nothing: just congratulating Ikiwiki contributors)).
+- Ikiwiki does not hide errors! Several times, with Lektor, I scratched my head, not understanding why some stuff silently didn't work.
+- I think this has been mentionned elsewhere, but Ikiwiki hard-coded templates make it hard/impossible to change some simple things.
+
+I am a bit sad no longer using Ikiwiki. I like the project and the people behind it. Thanks a lot!
+"""]]

About the unmaintained compile plugin
diff --git a/doc/plugins/contrib/compile/discussion.mdwn b/doc/plugins/contrib/compile/discussion.mdwn
index fbf9f22ea..1cad06128 100644
--- a/doc/plugins/contrib/compile/discussion.mdwn
+++ b/doc/plugins/contrib/compile/discussion.mdwn
@@ -50,3 +50,98 @@ command...
 > Any thoughts?
 >
 > -- [[Louis|spalax]]
+
+---
+
+<span id="status">
+# This plugin is unmaintained
+</span>
+
+Unfortunately, since [[I am no longer using Ikiwiki|forum/Some_thoughts_about_Ikiwiki/]], this plugin is unmaintained. I had great ideas for a new version of this plugin (and [started some work](https://atelier.gresille.org/projects/gresille-ikiwiki/repository?utf8=%E2%9C%93&rev=compile2)), but I will not finish this work. I am dumping my TODO list for this plugin (in French) for those who might be interested.
+
+[[!toggle id="TODO" text="See the TODO list."]]
+
+[[!toggleable id="TODO" text="""
+  - [ ] Ajouter un test slideshow avec un minimum de code utilisateur
+    - http://slidesjs.com/
+    - https://stackoverflow.com/questions/12912048/how-to-maintain-aspect-ratio-using-html-img-tag
+  - [x] Faire aussi des tests qui utilisent le YAML du setup
+  - [ ] Se déparrasser des ``DEST_XXX_URL``.
+  - [ ] Se débarrasser des listes de ``config[destname]``.
+  - [x] supprimer source, nosource.
+  - [x] Voir si on supprime `make`
+  - [ ] Voir si la configuration ne peut pas se faire en YAML
+    - [x] Non
+    - [ ] Utiliser du YAML.
+  - [ ] Renommer
+    - [ ] type = rule
+    - [ ] destname = dest
+    - [ ] filenames = src
+    - [ ] ??
+  - [ ] Parser correctement la configuration (fichier de setup + arguments de la directive)
+  - [ ] Traiter src comme un pagespec? Au moins comme un glob?
+  - [ ] Variables :
+    - Génériques :
+      - pagedir: sub/page
+      - tmpdir: /home/user/wiki/.ikiwiki/3840938038409
+      - wikidir: /home/user/wiki
+      - destdir: $config{destdir}
+      - id: un identifiant unique ?
+    - Fichiers :
+      - Variables
+        - PAS DE `SRC*`: TOUT DANS DEST
+        - destname: foo.pdf ($destbasename.$destextension)
+        - destbasename: foo
+        - destextension: pdf
+        - desturl: http://...foo.pdf
+        - destwikiname: sub/page/foo/foo.pdf ($dirname/$destname)
+        - destfullname: /var/www/wiki/sub/page/foo/foo.pdf ($destdir/$destwikiname)
+        - destcontent: contenu de foo.pdf
+      - Variations
+        - destname0, destname1: premier, deuxième fichier source
+        - idem pour les autres variables
+        - destnamelist: liste des fichiers sources, tels qu'accessibles depuis le répertoire temporaire (shell, pour la commande seulement)
+        - destlist: liste des fichiers sources (en utilisant HTML::Template, pour les templates seulement)
+  - [ ] Traiter ``destname`` comme un glob.
+    - [ ] Accéder au premier destname avec DESTNAME.
+    - [ ] Accéder à tous les destname avec DESTNAME0, DESTNAME1, etc.
+    - [ ] Accéder à une liste de destname utilisable dans un `<TMPL_LOOP>`
+  - [ ] Supprimer les fichiers temporaires au début.
+  - [ ] Créer des dossiers temporaires en fonction du hash de ``SOURCEPAGE/FILES/COMMAND``.
+  - [ ] Ne pas re-compiler si le répertoire existe déjà.
+  - [ ] destname ne renomme pas le fichier : il sélectionne quel fichier publier.
+  - [ ] Mais fournir des templates par défaut :
+    - [ ] `compile_source`
+    - [ ] `compile_link` (avec des `var_text` et `var_srctext`)
+    - [ ] `compile_album` (avec un `var_width` et `var_height` et un `slideshow.js` seulement en exemple)
+    - [ ] `compile_raw`
+  - [ ] Doc: Fournir des exemples de règles
+    - [ ] gimp, libreoffice, latex, album, etc.
+  - [ ] Le fichier source n'est pas copié par défaut: si on en a besoin, il faut le mentionner dans les destnames.
+  - [ ] Documentation
+    - [ ] Slideshow (sans compilation)
+    - [ ] Tous les moyens d'accéder aux fichiers (destname, destname0, destnamelist, destlist[destname], etc.)
+  - [ ] Ne pas charger compile2 si compile est activé
+    - [ ] Mettre une option pour forcer
+  - [ ] wikistate: stocker compilé/erreur (rien du tout = pas encore compilé)
+  - [ ] Ajouter un argument `page` pour faire comme si la commande était appelée depuis ladite page?
+  - [ ] Marquer compile comme obsolète
+    - [ ] Source
+    - [ ] Documentation sur ikiwiki
+    - [ ] Warning dans le code
+    - [ ] git tag compile/v0.2
+  - [ ] Prévenir que bibtex2html est obsolète
+"""]]
+
+---
+
+# Quick and dirty replacement
+
+For those how might be interested: I switched from Ikiwiki to [another static site generator](http://getlektor.com), which does not have a `compile` plugin. Before writing it, I used a quick and dirty solution: using a custom `Makefile`, I use `make build` to build my website, which :
+
+- compile the files (e.g. latex documents);
+- build the website.
+
+It started as a quick and dirty fix, but I think I am keeping it.
+
+It should work with Ikiwiki too.

fix user link
diff --git a/doc/todo/pagespec_aliases.mdwn b/doc/todo/pagespec_aliases.mdwn
index 6e52dcd53..396a93c0f 100644
--- a/doc/todo/pagespec_aliases.mdwn
+++ b/doc/todo/pagespec_aliases.mdwn
@@ -173,5 +173,5 @@ Unfortunately I haven't figured out how to do the dependencies - I'd really appr
 Hi, it's been 7 years since I last looked at this, and I'm surprised to find
 that I'd got it up to a merge-request state; I've dusted it off and done some
 clean up and testing, but it's working (albeit not via websetup). I've revamped
-the docs and rebased the branch. Can someone please consider merging ([[joeyh]]
+the docs and rebased the branch. Can someone please consider merging ([[joey]]
 or [[smcv]]?) or otherwise feed back on this? Thanks! — [[Jon]] (2018-09-25)

7 year ping: dusted off and ready for re-reviewing please
diff --git a/doc/todo/pagespec_aliases.mdwn b/doc/todo/pagespec_aliases.mdwn
index 748444a2f..6e52dcd53 100644
--- a/doc/todo/pagespec_aliases.mdwn
+++ b/doc/todo/pagespec_aliases.mdwn
@@ -167,3 +167,11 @@ Unfortunately I haven't figured out how to do the dependencies - I'd really appr
 >>>>> Do you mean that you want them to work in any pagespec, or that you *don't* want them to work in any pagespec? -- [[KathrynAndersen]]
 
 >>>>>> I mean I would want them to work in any pagespec. — [[Jon]]
+
+----
+
+Hi, it's been 7 years since I last looked at this, and I'm surprised to find
+that I'd got it up to a merge-request state; I've dusted it off and done some
+clean up and testing, but it's working (albeit not via websetup). I've revamped
+the docs and rebased the branch. Can someone please consider merging ([[joeyh]]
+or [[smcv]]?) or otherwise feed back on this? Thanks! — [[Jon]] (2018-09-25)

+done
diff --git a/doc/todo/monochrome_theme.mdwn b/doc/todo/monochrome_theme.mdwn
index eaf51c080..50cbf25df 100644
--- a/doc/todo/monochrome_theme.mdwn
+++ b/doc/todo/monochrome_theme.mdwn
@@ -46,3 +46,5 @@ Perhaps controversially, I think that this would be a good basis for a default t
 >>>>>   so the impact is pretty small. (except perhaps if someone specifies an absolute
 >>>>>   `cgiurl` path?)  The additional customization is belt-and-braces.
 >>>>>   — [[Jon]]
+
+[[done]]

proposed reworking; requesting smcv take another look
diff --git a/doc/todo/support_multi-row_table_headers.mdwn b/doc/todo/support_multi-row_table_headers.mdwn
index 6f13bbb23..1d418a41b 100644
--- a/doc/todo/support_multi-row_table_headers.mdwn
+++ b/doc/todo/support_multi-row_table_headers.mdwn
@@ -77,3 +77,22 @@ It would be great if it were possible to support multi-row table headers in the
 > > addressed my immediate need so it's the one I'm deploying at $ork for the
 > > time being. I'm unlikely to have time to implement this solution in the
 > > near future. -- [[Jon]]
+
+----
+
+I'd quite like to revisit this if that's ok. I'm still carrying a fork of
+table.pm locally to add this feature as I find it so useful. The main objection
+you made back in 2014 seems to be overloading the header= parameter, and I agree
+that this is not ideal. So I'm happy to resubmit this with an alternative parameter
+name for the new purpose. But I balked at the idea of implementing something like 
+an NLP processor to define the header range. And I must stress how useful it is in
+practise to separate out the header definition from the data: quite often I don't
+want headers in my CSV files at all, for example, so I can perform rudimentary analysis
+on them with command line tools without having to factor in a header line (how many
+records?  = `wc -l`; sorting on fields simply with `sort -k` etc.). Having them
+separate means I can have machine-generated or manipulated CSV files of data and then
+use ikiwiki to mark them up for human reading, but change or regenerate the data quickly
+and easily underneath.
+
+I'd appreciate your take on the above suggestions [[smcv]] before I roll my sleeves up.
+Thanks! — [[Jon]] (2018-09-24)

ping - any opinions on this?
diff --git a/doc/todo/Modern_standard_layout.mdwn b/doc/todo/Modern_standard_layout.mdwn
index 64399b1b2..bb6356a6d 100644
--- a/doc/todo/Modern_standard_layout.mdwn
+++ b/doc/todo/Modern_standard_layout.mdwn
@@ -64,5 +64,10 @@ seems to be broken for edit/preview workflow. I might investigate/file about tha
                                                                                                                        
 I wonder if someone feels the same, since you defaulted to actiontabs on branchable.                                   
                                                                                                                        
-Thanks, [[users/Jon]].  (PS: Every log in method failed for me with Firefox Quantum
-trying to post this. Untrusted git push also failed.)
+Thanks, [[users/Jon]]. (2017-12-28)
+
+----
+
+9 month ping, does [[Joey]] or [[smcv]] have any kind of opinion on this matter,
+subsequent to my last comment? I ask because both of your takes on the issue are from
+way back in 2011. — [[Jon]] (2018-09-24)

pingbacks dead? webmentions instead?
diff --git a/doc/todo/pingback_support.mdwn b/doc/todo/pingback_support.mdwn
index 7b3b158ee..5d93e6094 100644
--- a/doc/todo/pingback_support.mdwn
+++ b/doc/todo/pingback_support.mdwn
@@ -39,3 +39,26 @@ case I will consider this done with an entry in [[tips]]; otherwise a
 > all urls found. --[[Joey]] 
 
 >> Is there any update on this? This would be highly useful and is the main reason why I am not using my blog more regularly, yet. (And yes, now that git-annex is doing everything I need and more, I thought I should revisit this one, as well). -- RichiH
+
+----
+
+Happy 9th anniversary, bug!
+
+For whatever reason I was compelled to look at this situation afresh. I've
+added some instrumentation to my own site to see whether there's any external
+attempts to issue pingbacks to my own site, to gauge whether it's worthwhile
+spending any more time on this. But it looks like pingback in the wider world
+might be dead or dying.
+
+[I started a conversation on Twitter with the inventor of Pingback to see what
+he thought](https://twitter.com/jmtd/status/1042730998839107585). He suggested
+taking a look at "webmentions". here's some preliminary reading on those:
+
+ * <https://indieweb.org/Webmention>
+ * <https://kryogenix.org/days/2014/11/29/enabling-webmentions/>
+ * <https://www.kryogenix.org/days/2014/11/30/vouching-for-webmentions-hashing-for-vouches/>
+
+At this point I don't know if webmentions actually has more traction than pingback,
+but the key issue I guess is whether it's growing. I'm going to (but am yet to) add
+corresponding instrumentation to my site to try and track that, too.
+-- [[Jon]] (2018-09-24)

diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index 5736a2430..957ff3f9a 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -95,3 +95,5 @@ I've done some initial testing now and I'm wondering if behaviour has changed wi
 
 >>> What I meant was that you could add a wiki link (to a page with a map) next to each waypoint to simulate the old behaviour. 
 >>> Maps with subsets of waypoints, waypoint in multiple maps: no, because a single GeoJSON file is created for each "map". But something that could be added is the ability to merge multiple maps into one view, as separate layers. --[[users/tincho]]
+
+>>>> A wiki link to a map page will show the whole map zoomed out I presume so that won't be helful when I have pois across the globe and you want to know which side of a building the photo is taken from :( Merging maps would be a very good feature! If it could be done with a pagespec type thing it would be awesome. For my use case I could then have a map at each building page showing the locations of all the photos under that page. The map file would be reasonably small. If these maps could then be merged via a directive with globbing of some sort into a mega-map that would be a very flexibly solution that automatically updates when I add new maps (buildings). I just need to use my non-existent programming skills to force my hack plugins into automatically creating per album maps.  -[[users/kjs]]

separate another thread of discussion
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index b00f1b89d..5736a2430 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -85,6 +85,8 @@ Looks like good changes to me!
 
 > The issue about not getting all the waipoints until you rebuild has been solved, the current plugin had issues with keeping track of updated and deleted waypoints which is now fixed in my branch. --[[users/Tincho]]
 
+----
+
 I've done some initial testing now and I'm wondering if behaviour has changed with regards to the waypoint link. With the old plugin I get a map marker and link to the main map from each waypoint. See <http://img.kalleswork.net/Peter_Celsing-Filmhuset/IMGP7104/> for example, the marker is below the image. My initial tests with your plugin doesn't create this link as far as I can tell. Have I misconfigured something or is it indeed missing? --[[users/kjs]]
 
 > It is not there any more (I should document this, thanks for pointing it out). I thought that it was not good to have that marker inserted unconditionally; also, there is no full-page map any more with this plugin (which required a cgi mode). The alternative will be to have a page with the map, and adding a link to it. --[[users/Tincho]]

reply to question about new plugin
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index f9d6e8966..b00f1b89d 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -90,3 +90,6 @@ I've done some initial testing now and I'm wondering if behaviour has changed wi
 > It is not there any more (I should document this, thanks for pointing it out). I thought that it was not good to have that marker inserted unconditionally; also, there is no full-page map any more with this plugin (which required a cgi mode). The alternative will be to have a page with the map, and adding a link to it. --[[users/Tincho]]
 
 >> That's unfortunate for me as embedding a map on each page with a waypoint is a bit to expensive bandwidth wise. It will slow down the browsing to much. Are there any means of creating maps with subsets of waypoints. Perhaps tags somehow? Can a waypoint appear on multiple maps? I'm thinking having the waypoint appear on a central mega-map and on a sub map, In my case a per building map. Currently all my map info is automatically generated from the exif data. So I just upload the images to an underlay dir and git push my 'building' page which then generates an image gallery and a map of all my photos. I'm trying to avoid typing to much! ;) --[[users/kjs]]
+
+>>> What I meant was that you could add a wiki link (to a page with a map) next to each waypoint to simulate the old behaviour. 
+>>> Maps with subsets of waypoints, waypoint in multiple maps: no, because a single GeoJSON file is created for each "map". But something that could be added is the ability to merge multiple maps into one view, as separate layers. --[[users/tincho]]

rename branch to avoid conflict with upstream bootstrap branch
diff --git a/doc/plugins/contrib/bootstrap.mdwn b/doc/plugins/contrib/bootstrap.mdwn
index 9ed0af593..47b59cebd 100644
--- a/doc/plugins/contrib/bootstrap.mdwn
+++ b/doc/plugins/contrib/bootstrap.mdwn
@@ -1,7 +1,7 @@
 [[!meta author="anarcat"]]
 [[!template id=plugin name=bootstrap author="[[anarcat]]"]]
 [[!tag type/chrome]]
-[[!template  id=gitbranch branch=anarcat/bootstrap author="[[anarcat]]"]]
+[[!template  id=gitbranch branch=anarcat/bootstrap-plugin author="[[anarcat]]"]]
 
 ## Rationale
 

forgot to sign my comment
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index bb83a2b2c..f9d6e8966 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -89,4 +89,4 @@ I've done some initial testing now and I'm wondering if behaviour has changed wi
 
 > It is not there any more (I should document this, thanks for pointing it out). I thought that it was not good to have that marker inserted unconditionally; also, there is no full-page map any more with this plugin (which required a cgi mode). The alternative will be to have a page with the map, and adding a link to it. --[[users/Tincho]]
 
->> That's unfortunate for me as embedding a map on each page with a waypoint is a bit to expensive bandwidth wise. It will slow down the browsing to much. Are there any means of creating maps with subsets of waypoints. Perhaps tags somehow? Can a waypoint appear on multiple maps? I'm thinking having the waypoint appear on a central mega-map and on a sub map, In my case a per building map. Currently all my map info is automatically generated from the exif data. So I just upload the images to an underlay dir and git push my 'building' page which then generates an image gallery and a map of all my photos. I'm trying to avoid typing to much! ;)
+>> That's unfortunate for me as embedding a map on each page with a waypoint is a bit to expensive bandwidth wise. It will slow down the browsing to much. Are there any means of creating maps with subsets of waypoints. Perhaps tags somehow? Can a waypoint appear on multiple maps? I'm thinking having the waypoint appear on a central mega-map and on a sub map, In my case a per building map. Currently all my map info is automatically generated from the exif data. So I just upload the images to an underlay dir and git push my 'building' page which then generates an image gallery and a map of all my photos. I'm trying to avoid typing to much! ;) --[[users/kjs]]

diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index be9c5c215..bb83a2b2c 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -88,3 +88,5 @@ Looks like good changes to me!
 I've done some initial testing now and I'm wondering if behaviour has changed with regards to the waypoint link. With the old plugin I get a map marker and link to the main map from each waypoint. See <http://img.kalleswork.net/Peter_Celsing-Filmhuset/IMGP7104/> for example, the marker is below the image. My initial tests with your plugin doesn't create this link as far as I can tell. Have I misconfigured something or is it indeed missing? --[[users/kjs]]
 
 > It is not there any more (I should document this, thanks for pointing it out). I thought that it was not good to have that marker inserted unconditionally; also, there is no full-page map any more with this plugin (which required a cgi mode). The alternative will be to have a page with the map, and adding a link to it. --[[users/Tincho]]
+
+>> That's unfortunate for me as embedding a map on each page with a waypoint is a bit to expensive bandwidth wise. It will slow down the browsing to much. Are there any means of creating maps with subsets of waypoints. Perhaps tags somehow? Can a waypoint appear on multiple maps? I'm thinking having the waypoint appear on a central mega-map and on a sub map, In my case a per building map. Currently all my map info is automatically generated from the exif data. So I just upload the images to an underlay dir and git push my 'building' page which then generates an image gallery and a map of all my photos. I'm trying to avoid typing to much! ;)

reply to question about new plugin
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index ed8cd27ee..be9c5c215 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -86,3 +86,5 @@ Looks like good changes to me!
 > The issue about not getting all the waipoints until you rebuild has been solved, the current plugin had issues with keeping track of updated and deleted waypoints which is now fixed in my branch. --[[users/Tincho]]
 
 I've done some initial testing now and I'm wondering if behaviour has changed with regards to the waypoint link. With the old plugin I get a map marker and link to the main map from each waypoint. See <http://img.kalleswork.net/Peter_Celsing-Filmhuset/IMGP7104/> for example, the marker is below the image. My initial tests with your plugin doesn't create this link as far as I can tell. Have I misconfigured something or is it indeed missing? --[[users/kjs]]
+
+> It is not there any more (I should document this, thanks for pointing it out). I thought that it was not good to have that marker inserted unconditionally; also, there is no full-page map any more with this plugin (which required a cgi mode). The alternative will be to have a page with the map, and adding a link to it. --[[users/Tincho]]

osm-tincho questions
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index fa313ee68..ed8cd27ee 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -84,3 +84,5 @@ Looks like good changes to me!
 --[[kjs]]
 
 > The issue about not getting all the waipoints until you rebuild has been solved, the current plugin had issues with keeping track of updated and deleted waypoints which is now fixed in my branch. --[[users/Tincho]]
+
+I've done some initial testing now and I'm wondering if behaviour has changed with regards to the waypoint link. With the old plugin I get a map marker and link to the main map from each waypoint. See <http://img.kalleswork.net/Peter_Celsing-Filmhuset/IMGP7104/> for example, the marker is below the image. My initial tests with your plugin doesn't create this link as far as I can tell. Have I misconfigured something or is it indeed missing? --[[users/kjs]]

diff --git a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
index 80d5634ff..aecfa68d3 100644
--- a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
+++ b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
@@ -4,4 +4,4 @@
 In order to be able to prepare more translations before publishing them, it is a good a idea to have disabled languages.
 Currently there are some small issues that need to cleanup before able to push this into ikiwiki upstream.
 
-See also downstream bug report in tails: https://labs.riseup.net/code/issues/15355
+See also downstream bug report in tails: <https://labs.riseup.net/code/issues/15355>

diff --git a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
index 5dc160be9..80d5634ff 100644
--- a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
+++ b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
@@ -2,4 +2,6 @@
 [[!template  id=gitbranch branch=feature/15355-po-plugin-disable-languages author="[[hefee]]"]]
 
 In order to be able to prepare more translations before publishing them, it is a good a idea to have disabled languages.
-Currently there are some small issues that need to cleanup before beeing able to push it into ikiwiki.
+Currently there are some small issues that need to cleanup before able to push this into ikiwiki upstream.
+
+See also downstream bug report in tails: https://labs.riseup.net/code/issues/15355

diff --git a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
new file mode 100644
index 000000000..5dc160be9
--- /dev/null
+++ b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
@@ -0,0 +1,5 @@
+[[!tag patch]]
+[[!template  id=gitbranch branch=feature/15355-po-plugin-disable-languages author="[[hefee]]"]]
+
+In order to be able to prepare more translations before publishing them, it is a good a idea to have disabled languages.
+Currently there are some small issues that need to cleanup before beeing able to push it into ikiwiki.

add hefee git repostitory
diff --git a/doc/git.mdwn b/doc/git.mdwn
index fe778f606..5286f83dc 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -70,7 +70,7 @@ think about merging them. This is recommended. :-)
 * [[users/leg]] `git://at.magma-soft.at/ikiwiki.info`
 * [[thcipriani]] `https://github.com/thcipriani/ikiwiki.git` ([[browse|https://github.com/thcipriani/ikiwiki]])
 * [[tincho]] `git@github.com:TheTincho/ikiwiki.git` ([[browse|https://github.com/TheTincho/ikiwiki]])
-
+* hefee `https://salsa.debian.org/hefee/ikiwiki`
 ## branches
 
 Current branches of ikiwiki are listed on [[branches]].

Remove a website that is no longer generated using Ikiwiki
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 2ad84d82c..3a810a731 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -209,7 +209,6 @@ Personal sites and blogs
 * Kalle Söderman: [Seen Architecture](http://img.kalleswork.net), [Stockholm Project](http://stockholm.kalleswork.net) - Mainly -image galleries using the album and osm plugins with a customized html5 theme.
 * James Richardson's [wiki](https://jamestechnotes.com), [blog](https://jamesrichardson.name), and online [resume](https://resume.jamesrichardson.name).
 * [Amitai Schleier's site](https://schmonz.com/)
-* [[spalax]]'s [professional website](http://ababsurdo.fr)
 * [Aloodo Blog](http://blog.aloodo.org/)
 * Ninguém tem blog! - Restricted ikiwiki hosting
   * [Dissertos radicais](http://dissertosradicais.tem.blog.br)

diff --git a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
index 037b5925d..1260ce19f 100644
--- a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
+++ b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
@@ -87,3 +87,8 @@
 [[!tag patch]]
 
 > Thank you Chris! I've reviewed the patch (with my "original author of the po plugin" hat on) and it looks good to me. I'm not 100% sure about `alreadyfiltered` being the best name for something that's not a predicated anymore but it's good enough. Then I wore my end-user hat and confirmed that with Chris' patch applied, the reproducer we had for this bug at Tails works fine. So IMO we're good to go and I recommend to apply this patch. Thanks in advance! -- [[intrigeri]]
+
+
+> Any update on getting this merged? — [[lamby]], Fri, 24 Aug 2018 12:36:37 +0200
+
+

rename plugins/osm/Tincho.mdwn to users/Tincho.mdwn
diff --git a/doc/plugins/osm/Tincho.mdwn b/doc/users/Tincho.mdwn
similarity index 100%
rename from doc/plugins/osm/Tincho.mdwn
rename to doc/users/Tincho.mdwn

update for rename of plugins/osm/Tincho.mdwn to users/Tincho.mdwn
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index 05c2294c3..fa313ee68 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -28,9 +28,9 @@ For usability it would be great if it was possible to display the active waypoin
 
 ## Updated plugin needs review and merge
 
-[[!template id=gitbranch branch=tincho-osm author="[[tincho]]"]]
+[[!template id=gitbranch branch=tincho-osm author="[[users/Tincho]]"]]
 
-[[schmonz]] here. I recently tried to use this plugin, had some trouble, and discovered on IRC that [[tincho]] has a largely [rewritten version](https://blog.tincho.org/posts/OSM_in_IkiWiki/) that looks good [on his site](https://blog.tincho.org/Mingle/), but hadn't gotten around to submitting for merge. So we remote-paired on it today, improved a few things, and wrote down what we noticed:
+[[schmonz]] here. I recently tried to use this plugin, had some trouble, and discovered on IRC that [[users/Tincho]] has a largely [rewritten version](https://blog.tincho.org/posts/OSM_in_IkiWiki/) that looks good [on his site](https://blog.tincho.org/Mingle/), but hadn't gotten around to submitting for merge. So we remote-paired on it today, improved a few things, and wrote down what we noticed:
 
 ### Features removed
 
@@ -64,7 +64,7 @@ For usability it would be great if it was possible to display the active waypoin
 - Given this is backward-incompatible, dhould we call it something other than "osm"?
 - What needs scrubbing? Have we covered all the bases? Too many bases?
 - Should we vendor Leaflet into an underlay, instead of needing a URL to load it from a CDN? [[schmonz]] somewhat prefers this, so we avoid needing external resources by default, avoid breaking when the Leaflet CDN is down, etc.
-- Should we write some tests before merging? `osm.pm` hadn't had any, FWIW -- [[Tincho]] Done
+- Should we write some tests before merging? `osm.pm` hadn't had any, FWIW -- [[users/Tincho]] Done
 
 Bump! Tincho would like to see us merge his effort, and FWIW I'd also
 rather not have to carry around a local copy of his work to get a map
@@ -83,4 +83,4 @@ Looks like good changes to me!
 
 --[[kjs]]
 
-> The issue about not getting all the waipoints until you rebuild has been solved, the current plugin had issues with keeping track of updated and deleted waypoints which is now fixed in my branch. --[[Tincho]]
+> The issue about not getting all the waipoints until you rebuild has been solved, the current plugin had issues with keeping track of updated and deleted waypoints which is now fixed in my branch. --[[users/Tincho]]

update on plugin progress
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index b6b5c7a13..05c2294c3 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -45,9 +45,11 @@ For usability it would be great if it was possible to display the active waypoin
 
 - Maps actually work again
 - Maps work when embedded in HTTPS sites
-- Multiple maps and multiple waypoints in a page probably work better now
+- Multiple maps and multiple waypoints in a page work properly
 - Maps _do_ appear in inlines
 - Pagestate hash gets cleaned up better after edit/preview/delete
+- Unigue icon for "active waypoint" works, also possible to select manually any waypoint to highlight
+- Good test coverage, including inlines and multiple maps/waypoints per page
 
 ### Wishlist
 
@@ -62,7 +64,7 @@ For usability it would be great if it was possible to display the active waypoin
 - Given this is backward-incompatible, dhould we call it something other than "osm"?
 - What needs scrubbing? Have we covered all the bases? Too many bases?
 - Should we vendor Leaflet into an underlay, instead of needing a URL to load it from a CDN? [[schmonz]] somewhat prefers this, so we avoid needing external resources by default, avoid breaking when the Leaflet CDN is down, etc.
-- Should we write some tests before merging? `osm.pm` hadn't had any, FWIW
+- Should we write some tests before merging? `osm.pm` hadn't had any, FWIW -- [[Tincho]] Done
 
 Bump! Tincho would like to see us merge his effort, and FWIW I'd also
 rather not have to carry around a local copy of his work to get a map
@@ -80,3 +82,5 @@ Looks like good changes to me!
 > did a grep `Placemark pois.kml|wc -l` which returned 3468. Which perhaps isn't that much? I'm thinking about how individual poi files might affect performance. My performance troubles are more likely to be with my tweaked album and img plugins though.
 
 --[[kjs]]
+
+> The issue about not getting all the waipoints until you rebuild has been solved, the current plugin had issues with keeping track of updated and deleted waypoints which is now fixed in my branch. --[[Tincho]]

personal page
diff --git a/doc/plugins/osm/Tincho.mdwn b/doc/plugins/osm/Tincho.mdwn
new file mode 100644
index 000000000..25ee1a1cc
--- /dev/null
+++ b/doc/plugins/osm/Tincho.mdwn
@@ -0,0 +1,3 @@
+[Martín Ferrari](https://blog.tincho.org/)
+
+Long time user of ikiwiki. Made a [rewrite](https://blog.tincho.org/posts/OSM_in_IkiWiki/) of the OSM plugin, still pending merge.

diff --git a/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn b/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn
index 83272868e..b051b3d98 100644
--- a/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn
+++ b/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn
@@ -6,3 +6,7 @@ Steps to reproduce:
 - run `ikiwiki --setup mywiki.setup` again
 
 Then the recentchanges page doesn't work anymore.
+
+Pandoc version: 1.19.2.1
+Ikwiki version: 3.20170622
+

diff --git a/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn b/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn
new file mode 100644
index 000000000..83272868e
--- /dev/null
+++ b/doc/bugs/pandoc_plugin_disables_recentchanges.mdwn
@@ -0,0 +1,8 @@
+Steps to reproduce: 
+
+- Create a new wiki via ikiwiki --setup /etc/ikiwiki/auto.setup
+- Test your wiki and the recentchanges page
+- add the pandoc plugin to the setup file and set correct path to executable (e.g. `/usr/bin/pandoc`)
+- run `ikiwiki --setup mywiki.setup` again
+
+Then the recentchanges page doesn't work anymore.

Added a comment
diff --git a/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_3_55cff56ac59bd9607458710ab36a63c8._comment b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_3_55cff56ac59bd9607458710ab36a63c8._comment
new file mode 100644
index 000000000..491bc172c
--- /dev/null
+++ b/doc/forum/Error:_cannot_write_to___47__home__47__user__47__myiki2__47__.ikiwiki__47__lockfile:_Permission_denied_/comment_3_55cff56ac59bd9607458710ab36a63c8._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="vignan.lavu@9d85b92080da180cb07dd13c86bfacd378bc0659"
+ nickname="vignan.lavu"
+ avatar="http://cdn.libravatar.org/avatar/e31721e40951baf54f357f6eeeb19d1e"
+ subject="comment 3"
+ date="2018-08-13T12:34:26Z"
+ content="""
+I faced similar issue when i restored my blogs into new wiki. In my case it is due to permission of ikiwiki.cgi file (/var/www/<blog>/ikiwiki.cgi).
+It should be 6775 rather than 775.
+
+Hope this helps.
+"""]]

not going away, yet ...
diff --git a/doc/todo/libravatar_EOL.mdwn b/doc/todo/libravatar_EOL.mdwn
index 96d7502a6..395e5fadd 100644
--- a/doc/todo/libravatar_EOL.mdwn
+++ b/doc/todo/libravatar_EOL.mdwn
@@ -9,3 +9,9 @@ problem. (The shutdown page doesn't say what will happen to the DNS.)
 
 It might also be a good idea to filter out avatar urls in existing comments
 that point to libravatar.org. --[[Joey]]
+
+---
+
+Thankfully there is hope again: <https://blog.libravatar.org/posts/Libravatar.org_is_not_going_away/>
+
+A group of people formed to continue running and developing the project. Thus it would be great, if ikiwiki would continue to support it. Thank you! -- sumpfralle

Added a comment: Re: How to understand the process of installation
diff --git a/doc/forum/How_to_install_Text:Multimarkdown__63__/comment_2_5192a5348ee10fc35349cac1b1e6f61f._comment b/doc/forum/How_to_install_Text:Multimarkdown__63__/comment_2_5192a5348ee10fc35349cac1b1e6f61f._comment
new file mode 100644
index 000000000..c0fee9c30
--- /dev/null
+++ b/doc/forum/How_to_install_Text:Multimarkdown__63__/comment_2_5192a5348ee10fc35349cac1b1e6f61f._comment
@@ -0,0 +1,8 @@
+[[!comment format=html
+ username="luciferwhite"
+ avatar="http://cdn.libravatar.org/avatar/f29fd1395f5b340e1d257a0923467c53"
+ subject="Re: How to understand the process of installation"
+ date="2018-07-27T17:13:04Z"
+ content="""
+You have to great to know the proper way of installing the part which will be more productive for the developer to find out the exact part which is going to take the best way to somehow need the perfect guide <a href=\"https://supportprop58.com/windows-10-audio-crackling/\">windows 10 sound crackling</a> that will show you the perfect process to install the multilayer .
+"""]]

Start thread on "track changes" visualization of ikiwiki page edits
diff --git a/doc/forum/Office-like___34__track_changes__34___visualization_for_page_edits.mdwn b/doc/forum/Office-like___34__track_changes__34___visualization_for_page_edits.mdwn
new file mode 100644
index 000000000..75dc8a964
--- /dev/null
+++ b/doc/forum/Office-like___34__track_changes__34___visualization_for_page_edits.mdwn
@@ -0,0 +1,16 @@
+I have been using ikiwiki as a collaborative notetaking tool for about seven years and really like it.
+
+I would like to start experimenting with ikiwiki as an alternative to Google Docs and Libre/Open/MS Office for collaborating on scientific papers.
+A feature that would make this experiment more palatable for some of my collaborators is if the revision history for a wiki page could be visualized as in the "track changes" mode in Office, where changes from each editor are highlighted in different colors, old text is struck out and visible adjacent to the new text (similar to wdiff), and mousing over highlighted or struck-out text indicates the revision that introduced that text (i.e., the sort of information generated by git-blame).  There is a similar feature in Google Docs, but (I think) limited to commits within a given time window.
+
+I expect to have time to work on this in early 2019.
+
+I would like to ask the ikiwiki community:
+
+1. Does such an ikiwiki feature already exist, or is anyone working on one (the closest I can find is the [[editdiff plugin|plugins/editdiff/]])?
+
+2. Is this feature best implemented as a plugin or something else?  Are there useful examples or bits of the ikiwiki source to take a look at?
+
+Thank you for your time,
+
+Mark

diff --git a/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn b/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn
index 1b5dac760..8b259183b 100644
--- a/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn
+++ b/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn
@@ -8,7 +8,7 @@ sidebar.mdwn
 
 p001.mdwn
 
-p002.mdwn[[!inline pages="2019* and tagged(ru)" limit=1 actions=no]]
+p002.mdwn
 
 p003.mdwn
 

diff --git a/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn b/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn
new file mode 100644
index 000000000..1b5dac760
--- /dev/null
+++ b/doc/forum/How_to_make_inline_and_po_work_together__63__.mdwn
@@ -0,0 +1,19 @@
+I want to setup a kind of a blog with the help of ikiwiki, which will contain pages in several languages. First I set it up and added some content. Index page contains an inline directive to show just the most recent "post", and it works flawlessly. Then I've enabled po plugin and rebuilt my blog. Unfortunately, I cannot get inline work properly, because it either captures some po/pot file, or not capture any file for a translation. So, how to make inline and po work together?
+
+Say, I have a following structure:
+
+index.mdwn
+
+sidebar.mdwn
+
+p001.mdwn
+
+p002.mdwn[[!inline pages="2019* and tagged(ru)" limit=1 actions=no]]
+
+p003.mdwn
+
+with the corresponding po/pot files. My index.mdwn contain only inline (besides a standard sidebar) to capture the latest (p003.mdwn) file:
+
+\[[!inline pages="p*" limit=1 actions=no]]
+
+I've tried to use many different pagespecs, different pages options (like page, glob and so on), even adding tags and trying to exclude pages without relevant tags (and po files contained different tags). But I'm lost completely. Sometime it worked for the master language, but didn't for translations; sometimes it showed only one translation for all languages.

Reviewed patch.
diff --git a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
index 591c0b231..037b5925d 100644
--- a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
+++ b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
@@ -85,3 +85,5 @@
     2.18.0
     
 [[!tag patch]]
+
+> Thank you Chris! I've reviewed the patch (with my "original author of the po plugin" hat on) and it looks good to me. I'm not 100% sure about `alreadyfiltered` being the best name for something that's not a predicated anymore but it's good enough. Then I wore my end-user hat and confirmed that with Chris' patch applied, the reproducer we had for this bug at Tails works fine. So IMO we're good to go and I recommend to apply this patch. Thanks in advance! -- [[intrigeri]]

bug report
diff --git a/doc/bugs/git_test_receive_wrapper_fails.mdwn b/doc/bugs/git_test_receive_wrapper_fails.mdwn
new file mode 100644
index 000000000..fcac46c5f
--- /dev/null
+++ b/doc/bugs/git_test_receive_wrapper_fails.mdwn
@@ -0,0 +1,33 @@
+Getting this when a git push to git:// runs the pre-receive hook
+which is set up by the `git_test_receive_wrapper`:
+
+	remote: fatal: Not a git repository (or any of the parent directories): .git
+	remote: 'git log --pretty=raw --raw --abbrev=40 --always -c -r 21161ba01a093534ef97188eae098d83554dbcc6..73820a1d7e76318d8b1ac23e1c6d47e50a3e8ca2 --no-renames -- .' failed: 
+	To git://git-annex.branchable.com/
+	 ! [remote rejected]     master -> master (pre-receive hook declined)
+	error: failed to push some refs to 'git://git-annex.branchable.com/'
+
+Relevant code:
+
+                # Avoid chdir when running git here, because the changes
+                # are in the master git repo, not the srcdir repo.
+                # (Also, if a subdir is involved, we don't want to chdir to
+                # it and only see changes in it.)
+                # The pre-receive hook already puts us in the right place.
+                push @rets, git_parse_changes('.', 0, git_commit_info('.', $oldrev."..".$newrev));
+
+This is with  git 1:2.11.0-3+deb9u2 on debian stable, ikiwiki 3.20171002.
+
+Tossing a call to pwd in there, it's at the top of the master (bare) git
+repository, which seems right. I can do a similar git log at that location
+manually (using different revs). Looking at the environment at that point
+(in another wiki that has the same problem), I found only these
+git env vars:
+
+	remote: GIT_ALTERNATE_OBJECT_DIRECTORIES=/home/b-joeyh/source.git/./objects
+	remote: GIT_OBJECT_DIRECTORY=/home/b-joeyh/source.git/./objects/incoming-hVfXvD
+	remote: GIT_QUARANTINE_PATH=/home/b-joeyh/source.git/./objects/incoming-hVfXvD
+
+[[!commit 6fb43c29f63b85c3424520819427903e5a204426]] is relevant to that,
+and I guess it didn't fully solve the problem.
+--[[Joey]]

Bump Tincho's OSM for needing review.
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index 2a41b35d2..b6b5c7a13 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -64,6 +64,11 @@ For usability it would be great if it was possible to display the active waypoin
 - Should we vendor Leaflet into an underlay, instead of needing a URL to load it from a CDN? [[schmonz]] somewhat prefers this, so we avoid needing external resources by default, avoid breaking when the Leaflet CDN is down, etc.
 - Should we write some tests before merging? `osm.pm` hadn't had any, FWIW
 
+Bump! Tincho would like to see us merge his effort, and FWIW I'd also
+rather not have to carry around a local copy of his work to get a map
+with waypoints on my HTTPS site. [[smcv]], can you spare some round
+tuits to give us your thoughts? --[[schmonz]]
+
 ----
 
 Just stumbled onto this. 

add patch tag
diff --git a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
index 1830e9f50..591c0b231 100644
--- a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
+++ b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
@@ -84,3 +84,4 @@
     -- 
     2.18.0
     
+[[!tag patch]]

diff --git a/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
new file mode 100644
index 000000000..1830e9f50
--- /dev/null
+++ b/doc/todo/Re-use_translated_content_instead_of_skipping_if_previously_translated.mdwn
@@ -0,0 +1,86 @@
+    From: Chris Lamb <lamby@debian.org>
+    Date: Thu, 28 Jun 2018 19:30:15 +0100
+    Subject: [PATCH] Re-use translated content instead of skipping if previously
+     translated.
+    
+    This fixes an issue where an initial `inline` directive would be translated
+    correctly, but subsequent inlines of the same would result in the raw
+    contents of the `.po` file being inserted into the page instead.
+    
+    For example, given a `index.mdwn` containing:
+    
+        \[[!inline pages="inline" raw="yes"]]
+        \[[!inline pages="inline" raw="yes"]]
+    
+    .. and an `index.de.po` of:
+    
+        msgid "\[[!inline pages=\"inline\" raw=\"yes\"]]\n"
+        msgstr "\[[!inline pages=\"inline.de\" raw=\"yes\"]]\n"
+    
+    .. together with an `inline.mdwn` of:
+    
+       This is inlined content.
+    
+    .. and an `inline.de.po` of:
+    
+        msgid "This is inlined content."
+        msgstr "This is German inlined content."
+    
+    .. would result in the following translation:
+    
+        This is the inlined content.
+        # SOME DESCRIPTIVE TITLE
+        # Copyright (C) YEAR Free Software Foundation, Inc.
+        # This file is distributed under the same license as the PACKAGE package.
+        # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+    
+    .. instead of, of course:
+    
+        This is the inlined content.
+        This is the inlined content.
+    ---
+     IkiWiki/Plugin/po.pm | 15 +++++++++------
+     1 file changed, 9 insertions(+), 6 deletions(-)
+    
+    diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
+    index 418e8e58a..ecd1f5499 100644
+    --- a/IkiWiki/Plugin/po.pm
+    +++ b/IkiWiki/Plugin/po.pm
+    @@ -303,9 +303,12 @@ sub filter (@) {
+     	my $page = $params{page};
+     	my $destpage = $params{destpage};
+     	my $content = $params{content};
+    -	if (istranslation($page) && ! alreadyfiltered($page, $destpage)) {
+    -		$content = po_to_markup($page, $content);
+    -		setalreadyfiltered($page, $destpage);
+    +	if (istranslation($page)) {
+    +		if (!defined(alreadyfiltered($page, $destpage))) {
+    +			$content = po_to_markup($page, $content);
+    +			setalreadyfiltered($page, $destpage, $content);
+    +		}
+    +		$content = alreadyfiltered($page, $destpage);
+     	}
+     	return $content;
+     }
+    @@ -747,15 +750,15 @@ sub myisselflink ($$) {
+     		my $page=shift;
+     		my $destpage=shift;
+     
+    -		return exists $filtered{$page}{$destpage}
+    -			 && $filtered{$page}{$destpage} eq 1;
+    +		return $filtered{$page}{$destpage};
+     	}
+     
+     	sub setalreadyfiltered($$) {
+     		my $page=shift;
+     		my $destpage=shift;
+    +		my $content=shift;
+     
+    -		$filtered{$page}{$destpage}=1;
+    +		$filtered{$page}{$destpage}=$content;
+     	}
+     
+     	sub unsetalreadyfiltered($$) {
+    -- 
+    2.18.0
+    

add a way to fix tables for bootstrap themes
diff --git a/doc/plugins/contrib/bootstrap.mdwn b/doc/plugins/contrib/bootstrap.mdwn
new file mode 100644
index 000000000..9ed0af593
--- /dev/null
+++ b/doc/plugins/contrib/bootstrap.mdwn
@@ -0,0 +1,65 @@
+[[!meta author="anarcat"]]
+[[!template id=plugin name=bootstrap author="[[anarcat]]"]]
+[[!tag type/chrome]]
+[[!template  id=gitbranch branch=anarcat/bootstrap author="[[anarcat]]"]]
+
+## Rationale
+
+One of the most annoying features of bootstrap and/or the (informal)
+[[bootstrap theme|todo/merge_bootstrap_branch/]] is the lack of styling on tables. It makes
+tables look horrible! Look, for example, as the table in [this
+page](https://web.archive.org/web/20180513200625/https://anarc.at/blog/2018-04-12-terminal-emulators-1/): margins are tiny so everything is jumbled up together, and
+there are very little visual markers to differenciate between cells. I
+don't have a better example handy, but this is particularly bad when a
+cell ends up having long lines of text that are wrapped with multiple
+lines.
+
+Bootstrap has a nice [table](https://getbootstrap.com/docs/4.0/content/tables/) style that is not automatically
+applied to all tables, probably to avoid breaking table-based layout
+and other custom controls like calendars a random site might spew
+out. Unfortunately, the various Ikiwiki output plugins (most notably
+the [[plugins/mdwn]] plugin) do not add that class to generated
+tables.
+
+## Solution
+
+I found there are two ways of fixing that. One is to use raw HTML: the
+[[plugins/htmlscrubber]] plugin will let through `class` elements in
+tables so this will actually work:
+
+    <table class="table"><tr><td>This<td>is<tr>a<tr>table!</table>
+
+But of course, it would be nice if Markdown-formatted tables would
+actually render correctly as well. For this, I have written a [simple
+plugin](https://gitlab.com/anarcat/ikiwiki/blob/bootstrap/IkiWiki/Plugin/bootstrap.pm) that adds that class to empty table tags. It's very dumb, but
+it should generally work, or at least it works for my case. It will
+not touch any `<table>` tag that already has other class elements, so
+it should be safe to use alongside other plugins that generate their
+own `<table>` markup, provided they *do* add some sort of `class`,
+`id` or other attribute. Unfortunately, the [[plugins/contrib/bibtex]]
+plugin does not do that correctly and somewhat looks ugly with this
+plugin. Compare for example, [this old version](https://web.archive.org/web/20170717065911/https://anarc.at/communication/) with [the new
+rendering](https://web.archive.org/web/20180626203321/https://anarc.at/communication/). I'm still unsure which one looks better, actually...
+
+## Discussion
+
+Anyways, I wasn't quite sure where to put this, but it seems like an
+important improvement to make if we're going to 
+[[todo/merge_bootstrap_branch]]. I am not sure of the implementation
+at all: the best way I found to edit only the rendered content (and
+not the whole HTML page with the template) is to use the `sanitize`
+hook, but I'm not sure it's the right way to go. It certainly seems
+backwards to introduce new markup in a "sanitization"
+procedure. Furthermore, I first tried to change *all* `<table>` tags
+even if they had extra attributes, but I found I didn't want to add
+`class` attributes to elements that already had some, soand that ended
+up making the regex work way too messy, so I stuck to the simpler
+way.
+
+Furthermore, there might be other markup elements we want to improve
+upon. This only fixes tables, but maybe other elements would benefit
+from additionnal styling. The [content](https://getbootstrap.com/docs/4.0/content/reboot/) section of the bootstrap
+docs says there are special classes for tags like `img`, `form`,
+`input` and `div` that might be interesting to look at... 
+
+-- [[anarcat]]

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index dc0aebf2d..5a2a10987 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -229,22 +229,22 @@ I must **emphasise** this.
 
 
 // more pointers
-#include <iostream>
-using namespace std;
-
-int main ()
-{
-  int firstvalue = 5, secondvalue = 15;
-  int * p1, * p2;
-
-  p1 = &firstvalue;  // p1 = address of firstvalue
-  p2 = &secondvalue; // p2 = address of secondvalue
-  *p1 = 10;          // value pointed to by p1 = 10
-  *p2 = *p1;         // value pointed to by p2 = value pointed to by p1
-  p1 = p2;           // p1 = p2 (value of pointer is copied)
-  *p1 = 20;          // value pointed to by p1 = 20
-  
-  cout << "firstvalue is " << firstvalue << '\n';
-  cout << "secondvalue is " << secondvalue << '\n';
-  return 0;
-}
+    #include <iostream>
+    using namespace std;
+    
+    int main ()
+    {
+      int firstvalue = 5, secondvalue = 15;
+      int * p1, * p2;
+    
+      p1 = &firstvalue;  // p1 = address of firstvalue
+      p2 = &secondvalue; // p2 = address of secondvalue
+      *p1 = 10;          // value pointed to by p1 = 10
+      *p2 = *p1;         // value pointed to by p2 = value pointed to by p1
+      p1 = p2;           // p1 = p2 (value of pointer is copied)
+      *p1 = 20;          // value pointed to by p1 = 20
+      
+      cout << "firstvalue is " << firstvalue << '\n';
+      cout << "secondvalue is " << secondvalue << '\n';
+      return 0;
+    }

proposed patch would break the ability to have links in lists and other non-code-block indented content
diff --git a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
index eca054e61..daf5d9e99 100644
--- a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
+++ b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
@@ -33,3 +33,24 @@
 Related to [[bugs/wiki links still processed inside code blocks]] and [[forum/How_to_format___91____91__foobar__93____93___in_code_blocks__63__]].
 
 [[!tag patch]]
+
+> It looks as though this patch would break linkification in any syntactic construct that
+> uses indentation but isn't a code block, for instance a list:
+>
+>     * This is a list
+>         * So is this
+>             * And \[[this is a link|http://example.com]]
+>
+> rendered as:
+>
+> * This is a list
+>     * So is this
+>         * And [[this is a link|http://example.com]]
+>
+> It's also assuming that Markdown is the only language available (trying to use Markdown
+> rules), and even in Markdown it doesn't support Github-style fenced code blocks if enabled.
+>
+> This is not something that can be done correctly by just patching the link plugin.
+> I'm not sure whether it's something that can be done correctly at all, unfortunately.
+>
+> [[!tag reviewed]] --[[smcv]] 

Don't use --noprefix for the patch
diff --git a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
index 3dc4215ad..eca054e61 100644
--- a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
+++ b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
@@ -1,12 +1,12 @@
-    diff --git IkiWiki/Plugin/link.pm IkiWiki/Plugin/link.pm
-    index 1ba28eafd..27427b183 100644
-    --- IkiWiki/Plugin/link.pm
-    +++ IkiWiki/Plugin/link.pm
+    diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm
+    index 1ba28eafd..61a397bf8 100644
+    --- a/IkiWiki/Plugin/link.pm
+    +++ b/IkiWiki/Plugin/link.pm
     @@ -107,7 +107,13 @@ sub linkify (@) {
         my $page=$params{page};
         my $destpage=$params{destpage};
      
-    -   $params{content} =~ s{(\\?)$link_regexp}{
+    -	$params{content} =~ s{(\\?)$link_regexp}{
     +    my $content;
     +    for my $line ( split /\n/, $params{content} ) {
     +        if ( $line =~ /^(?:\t|    )/ ) {
@@ -20,12 +20,12 @@
     @@ -122,8 +128,10 @@ sub linkify (@) {
                              : htmllink($page, $destpage, linkpage($3),
                                  anchor => $4))
-             }eg;
+                 }eg;
     +        $content .= $line . "\n";
     +    }
      
-    -   return $params{content};
-    +    return $content;
+    -	return $params{content};
+    +	return $content;
      }
      
      sub scan (@) {

diff --git a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
index a022b5552..3dc4215ad 100644
--- a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
+++ b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
@@ -31,3 +31,5 @@
      sub scan (@) {
 
 Related to [[bugs/wiki links still processed inside code blocks]] and [[forum/How_to_format___91____91__foobar__93____93___in_code_blocks__63__]].
+
+[[!tag patch]]

Skip link parsing if a code block identifier is found
diff --git a/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
new file mode 100644
index 000000000..a022b5552
--- /dev/null
+++ b/doc/todo/Don__39__t_change_text_like___91____91__this__93____93___in_code_blocks.mdwn
@@ -0,0 +1,33 @@
+    diff --git IkiWiki/Plugin/link.pm IkiWiki/Plugin/link.pm
+    index 1ba28eafd..27427b183 100644
+    --- IkiWiki/Plugin/link.pm
+    +++ IkiWiki/Plugin/link.pm
+    @@ -107,7 +107,13 @@ sub linkify (@) {
+        my $page=$params{page};
+        my $destpage=$params{destpage};
+     
+    -   $params{content} =~ s{(\\?)$link_regexp}{
+    +    my $content;
+    +    for my $line ( split /\n/, $params{content} ) {
+    +        if ( $line =~ /^(?:\t|    )/ ) {
+    +            $content .= $line . "\n";
+    +            next;
+    +        }
+    +        $line =~ s{(\\?)$link_regexp}{
+                 defined $2
+                     ? ( $1
+                         ? "[[$2|$3".(defined $4 ? "#$4" : "")."]]"
+    @@ -122,8 +128,10 @@ sub linkify (@) {
+                             : htmllink($page, $destpage, linkpage($3),
+                                 anchor => $4))
+             }eg;
+    +        $content .= $line . "\n";
+    +    }
+     
+    -   return $params{content};
+    +    return $content;
+     }
+     
+     sub scan (@) {
+
+Related to [[bugs/wiki links still processed inside code blocks]] and [[forum/How_to_format___91____91__foobar__93____93___in_code_blocks__63__]].

a frustrating limitation for me
diff --git a/doc/plugins/img/discussion.mdwn b/doc/plugins/img/discussion.mdwn
index bc525a562..048ad15b9 100644
--- a/doc/plugins/img/discussion.mdwn
+++ b/doc/plugins/img/discussion.mdwn
@@ -36,3 +36,12 @@ Is it possible to give an external image URL, must the image be local? One use c
 >>> me less than one hour to write and publish; I will delete it soon.
 >>>
 >>> Anyway, thanks for your answer. --[[Louis|spalax]]
+
+>>>> Considering how limited Markdown is, I frequently struggle with
+>>>> this `img` limitation as well. My last fight was adding a caption
+>>>> to an image. Sure, this can be done by hand, but I stumbled upon
+>>>> Ikiwiki's lack of CSS support for `figcaption`. And it's kind of
+>>>> annoying to have to write all that `<figure>` stuff by hand when
+>>>> there's a `caption` parameter to the `img` tag... It would sure
+>>>> be useful to be able to reference external URLs, even if it means
+>>>> thumbnails are turned off... --[[anarcat]]

improvements to img captions
diff --git a/doc/todo/html5_image_captions.mdwn b/doc/todo/html5_image_captions.mdwn
new file mode 100644
index 000000000..3a5505d8b
--- /dev/null
+++ b/doc/todo/html5_image_captions.mdwn
@@ -0,0 +1,78 @@
+Currently, the [[ikiwiki/directive/img]] directive creates a `<img>`
+tag for images (which is fine) but also creates a traditional
+`<table>` structure around it to show the caption when the `caption`
+parameter is passed. This is less fine.
+
+HTML5 introduced the `<figure>` element, and particularly the
+[figcaption](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption) element, which is particularly relevant here. It is
+not filtered by the html scrubber (or so it seems), so it's currently
+possible to use it in Markdown documents already, like so:
+
+    <figure>
+    <img src="example.jpg" />
+    <figcaption>Foo</figcaption>
+    </figure>
+
+This is standard and works well, except there are bits of style
+missing, because Ikiwiki's stylesheet assumes its peculiar table image
+layout. `doc/style.css`, for example, has this:
+
+    .img caption {
+            font-size: 80%;
+            caption-side: bottom;
+            text-align: center;
+    }
+
+... which is a good start to format tables, but is ineffective for
+`figcaption`. In my tests, I have used this to good effect:
+
+    .img caption, figcaption {
+        text-align: center;
+        /* assuming that relative size is more responsive than arbitrary percentages */
+        font-size: smaller;
+        caption-side: bottom;
+    }
+
+The `figcaption` stylesheet reuses the `<table>` semantics so the
+above just works, as far as I can tell.
+
+The final step would be to unmangle the `<img>` directive output. It
+should output the above `<figure>` snippet if HTML5 is enabled in the
+wiki.
+
+Otherwise we might also want to get rid of the `<table>` stuff
+anyways, as most examples out there use a `<div>` in HTML4. Here is an
+[example from the W3C](https://www.w3.org/Style/Examples/007/figures.en.html#Illustrati) or [bootstrap](https://getbootstrap.com/docs/3.3/components/#thumbnails-custom-content). The former suggests
+something like this:
+
+    <div class="figure">
+      <p><img src="example.jpg" />
+      <p>Foo
+    </div>
+
+The CSS, in that case, would be simply:
+
+    div.figure {
+      text-align: center;
+      font-size: smaller;
+    }
+
+The double-`<p>` is what allows pushing the caption upwards with CSS
+in their later example, with this CSS:
+
+    div.figure {
+      display: table;
+    }
+    div.figure p + p {
+      display: table-caption;
+      caption-side: top;
+    }
+
+The `<div>` mechanism seems much simpler than the current table-based
+markup. I'd be happy to provide patches to do the above if there's
+interest. Considering that most of my images are hosted outside of
+ikiwiki, I cannot use of the `img` directive in the first place so I
+don't need to patch `img.pm` and don't want to carry yet another
+delta... But I could sure use upstreaming the CSS fixes. ;)
+
+Thanks! -- [[anarcat]]

Creating my Page
diff --git a/doc/users/ankit.mdwn b/doc/users/ankit.mdwn
new file mode 100644
index 000000000..75592904c
--- /dev/null
+++ b/doc/users/ankit.mdwn
@@ -0,0 +1,6 @@
+[[!meta title="Ankit"]]
+
+Hello World!
+
+I use Ikiwiki as my database for storing various information. I wrote and maintain a [Docker Image](https://hub.docker.com/r/ankitrgadiya/ikiwiki),
+source of which is on [Github](https://github.com/ankitrgadiya/docker-ikiwiki/)

popup: Hide template content from rendered documentation
Bug: https://bugs.debian.org/898836
diff --git a/doc/templates/popup.mdwn b/doc/templates/popup.mdwn
index b721a95f9..f552bb59a 100644
--- a/doc/templates/popup.mdwn
+++ b/doc/templates/popup.mdwn
@@ -10,7 +10,7 @@ large for good usability.
 Note that browsers that do not support the CSS will display the popup
 inline in the page, inside square brackets.
 
-[[templatebody <<ENDBODY
+[[!templatebody <<ENDBODY
 <span class="popup"><TMPL_VAR mouseover>
 <span class="paren">[</span><span class="balloon"><TMPL_VAR popup></span><span class="paren">]</span>
 </span>

bug report for error when python-future is installed
diff --git a/doc/bugs/installing_python-future_causes_non-fatal_error.mdwn b/doc/bugs/installing_python-future_causes_non-fatal_error.mdwn
new file mode 100644
index 000000000..d9b0dcbf9
--- /dev/null
+++ b/doc/bugs/installing_python-future_causes_non-fatal_error.mdwn
@@ -0,0 +1,18 @@
+On Trisquel 8.0, if you have the `python-future` package installed, this causes the wrong module to get loaded by python2.7.
+
+In `/usr/lib/ikiwiki/plugins/proxy.py`:
+
+
+    try:  # Python 3
+        import xmlrpc.server as _xmlrpc_server
+    except ImportError:  # Python 2
+        import SimpleXMLRPCServer as _xmlrpc_server
+
+`xmlrpc.server` gets loaded even though we are using python2.7. This causes the following non-fatal error when pushing to the git repo:
+
+    remote: Traceback (most recent call last):
+    remote:   File "/usr/lib/ikiwiki/plugins/rst", line 45, in <module>
+    remote:     from proxy import IkiWikiProcedureProxy
+    remote:   File "/usr/lib/ikiwiki/plugins/proxy.py", line 72, in <module>
+    remote:     class _IkiWikiExtPluginXMLRPCDispatcher(_xmlrpc_server.SimpleXMLRPCDispatcher):
+    remote: AttributeError: 'module' object has no attribute 'SimpleXMLRPCDispatcher'

fix link
diff --git a/doc/users/kjs.mdwn b/doc/users/kjs.mdwn
index fe0153dd9..a39e53ed3 100644
--- a/doc/users/kjs.mdwn
+++ b/doc/users/kjs.mdwn
@@ -35,7 +35,7 @@ run my code without checking it first.* I can't stress this enough.
 
 [[!table  data="""
 Description | branch/repository
-Repo with only my tweaked files to be installed as third party plugins via `libdir`. See [[install]] for info howto install. | [[!template id=gitbranch branch=kjs/ikiplugs author="kjs"]]
+Repo with only my tweaked files to be installed as third party plugins via `libdir`. See [[plugins/install]] for info howto install. | [[!template id=gitbranch branch=kjs/ikiplugs author="kjs"]]
 Branch where all my changes are kept in the ikiwiki tree the ikiwiki running kalleswork.net: | [[!template id=gitbranch branch=kjs/kalleswork author="kjs"]]
 Branch with only the changes to the [[plugins/img]] plugin: | [[!template id=gitbranch branch=kjs/kjsimg author="kjs"]]
 Branch with only the changes to the [[plugins/contrib/album]] plugin: | [[!template id=gitbranch branch=kjs/kjsalbum author="kjs"]]

Update with info about my branches and changes to img/album plugins
diff --git a/doc/users/kjs.mdwn b/doc/users/kjs.mdwn
index 0519cf926..fe0153dd9 100644
--- a/doc/users/kjs.mdwn
+++ b/doc/users/kjs.mdwn
@@ -6,19 +6,8 @@ Websites using ikiwiki:
 * <http://img.kalleswork.net>
 * <http://stockholm.kalleswork.net>
 
-
-[[!template id=gitbranch branch=kjs/kalleswork.net author="[[Kalle Söderman|kjs]]"]]
-
-Mostly using ikiwiki with the [[/plugins/contrib/album/]] and [[plugins/osm]]
-plugins. My git repo with tweaks including the simplebw theme and various
-changes to the [[plugins/contrib/album]] plugin and templates can be found in
-my kalleswork.net branch
-
-Note that the kalleswork.net branch is all my changes piled into one branch
-that I compile to run my sites. 
-
-**I can't code (clone my repo above if you don't believe me!) so noone should
-run my code without checking it first.** I can't stress this enough.
+Mostly using ikiwiki with tweaked versions of the [[/plugins/contrib/album/]] and [[plugins/osm]]
+plugins. 
 
 The main changes I've done are the following
 
@@ -36,7 +25,20 @@ link to the album. Useful for visual index of albums.
 * Extract GPS data and populate a [[plugins/osm]] waypoint if available.
 * Add span around osm icon to allow for styling.
 
-For my public websites above have been using the tweaked img plugin for many months now. It works well except when deleting images, this seems to require a removal of the indexdb and a rebuild... not very convenient.
+For my public websites above have been using the tweaked img plugin for many years now. It works well except when deleting images, this seems to require a removal of the indexdb and a rebuild... not very convenient. My websites have about 3500 images each and takes almost 15min to rebuild but this is not really an issue for my usage.
+
+
+*I can't code (clone my repo above if you don't believe me!) so noone should
+run my code without checking it first.* I can't stress this enough.
+
+### Git branches/repos
 
-A simple test wiki with downloadable setup and data can be found at:
-<http://src.kalleswork.net/masterbranch/>
+[[!table  data="""
+Description | branch/repository
+Repo with only my tweaked files to be installed as third party plugins via `libdir`. See [[install]] for info howto install. | [[!template id=gitbranch branch=kjs/ikiplugs author="kjs"]]
+Branch where all my changes are kept in the ikiwiki tree the ikiwiki running kalleswork.net: | [[!template id=gitbranch branch=kjs/kalleswork author="kjs"]]
+Branch with only the changes to the [[plugins/img]] plugin: | [[!template id=gitbranch branch=kjs/kjsimg author="kjs"]]
+Branch with only the changes to the [[plugins/contrib/album]] plugin: | [[!template id=gitbranch branch=kjs/kjsalbum author="kjs"]]
+Branch with only my simplebw [[themes]] designed for the above plugins: | [[!template id=gitbranch branch=kjs/kjs-simplebw-theme author="kjs"]]
+Branch with only minor tweaks to standard ikiwiki templates: | [[!template id=gitbranch branch=kjs/kjsadjust author="kjs"]]
+"""]]

added osm pois number for one of my sites
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index 14008b1da..2a41b35d2 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -66,9 +66,12 @@ For usability it would be great if it was possible to display the active waypoin
 
 ----
 
-Just stumbled onto this. Original poster of this issue.
+Just stumbled onto this. 
 
 With regards to features lost my only concern would be customizable waypoint icons. It would be really great to be able to at least change colour from the config. The wishlist point of generating one file per waypoint might solve an issue I have with osm only showing the most recently added waypoints unless I rebuild. I have however a huge number of waypoints.
 
 Looks like good changes to me!
+
+> did a grep `Placemark pois.kml|wc -l` which returned 3468. Which perhaps isn't that much? I'm thinking about how individual poi files might affect performance. My performance troubles are more likely to be with my tweaked album and img plugins though.
+
 --[[kjs]]

diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index 80f6a318e..14008b1da 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -63,3 +63,12 @@ For usability it would be great if it was possible to display the active waypoin
 - What needs scrubbing? Have we covered all the bases? Too many bases?
 - Should we vendor Leaflet into an underlay, instead of needing a URL to load it from a CDN? [[schmonz]] somewhat prefers this, so we avoid needing external resources by default, avoid breaking when the Leaflet CDN is down, etc.
 - Should we write some tests before merging? `osm.pm` hadn't had any, FWIW
+
+----
+
+Just stumbled onto this. Original poster of this issue.
+
+With regards to features lost my only concern would be customizable waypoint icons. It would be really great to be able to at least change colour from the config. The wishlist point of generating one file per waypoint might solve an issue I have with osm only showing the most recently added waypoints unless I rebuild. I have however a huge number of waypoints.
+
+Looks like good changes to me!
+--[[kjs]]

Update upstream project name (it's "mandoc" now).
diff --git a/doc/plugins/contrib/mandoc.mdwn b/doc/plugins/contrib/mandoc.mdwn
index 672a268cc..464aec63c 100644
--- a/doc/plugins/contrib/mandoc.mdwn
+++ b/doc/plugins/contrib/mandoc.mdwn
@@ -3,7 +3,7 @@
 [[!tag type/format]]
 
 This plugin lets ikiwiki convert Unix man pages to HTML. It uses
-[mdocml](http://mdocml.bsd.lv/) for the conversion, and postprocesses
+[mandoc](http://mandoc.bsd.lv) for the conversion, and postprocesses
 xrefs into hyperlinks.
 
 Possible enhancements:

bug
diff --git a/doc/bugs/libmarkdown_segfault_led_to_wedged_site.mdwn b/doc/bugs/libmarkdown_segfault_led_to_wedged_site.mdwn
new file mode 100644
index 000000000..f70cd1999
--- /dev/null
+++ b/doc/bugs/libmarkdown_segfault_led_to_wedged_site.mdwn
@@ -0,0 +1,28 @@
+Interleaving logs from ikiwiki and the kernel:
+
+	[Wed May 02 15:50:32.307921 2018] [cgi:error] [pid 4914:tid 3031423808] [client 74.113.40.30:12004] AH01215: To /home/b-waldeneffect-org/source.git: /var/www/b-waldeneffect-org/ikiwiki.cgi, referer: http://www.waldeneffect.org/ikiwiki.cgi?do=blog&from=pending&subpage=1&title=Pros+and+cons+of+the+community+garden
+	[Wed May 02 15:50:32.308000 2018] [cgi:error] [pid 4914:tid 3031423808] [client 74.113.40.30:12004] AH01215:    0c67dc578..893cc6e9b  master -> master: /var/www/b-waldeneffect-org/ikiwiki.cgi, referer: http://www.waldeneffect.org/ikiwiki.cgi?do=blog&from=pending&subpage=1&title=Pros+and+cons+of+the+community+garden
+	May 02 15:50:50 pell kernel: ikiwiki[5054]: segfault at bf7d3ffc ip b6ec9e63 sp bf7d4000 error 6 in libmarkdown.so.2.2.2[b6ec7000+11000]
+	[Wed May 02 15:50:50.222077 2018] [cgi:error] [pid 4914:tid 3031423808] [client 74.113.40.30:12004] End of script output before headers: ikiwiki.cgi, referer: http://www.waldeneffect.org/ikiwiki.cgi?do=blog&from=pending&subpage=1&title=Pros+and+cons+of+the+community+garden
+	[Wed May 02 16:15:48.013597 2018] [cgi:error] [pid 10708:tid 2838391616] [client 74.113.40.30:11989] AH01215:    893cc6e9b..c4f23b861  master -> master: /var/www/b-waldeneffect-org/ikiwiki.cgi, referer: http://www.waldeneffect.org/ikiwiki.cgi?do=blog&from=pending&subpage=1&title=Advantages+and+disadvantages+of+a+community+garden
+	[Wed May 02 16:15:57.921670 2018] [cgi:error] [pid 10708:tid 2838391616] [client 74.113.40.30:11989] AH01215: /home/b-waldeneffect-org/public_html/pending/Pros_and_cons_of_the_community_garden/index.html independently created, not overwriting with version from pending/Pros_and_cons_of_the_community_garden: /var/www/b-waldeneffect-org/ikiwiki.cgi, referer: http://www.waldeneffect.org/ikiwiki.cgi?do=blog&from=pending&subpage=1&title=Advantages+and+disadvantages+of+a+community+garden
+
+So, apparently an img directive led to libmarkdown segfaulting, crashing
+ikiwiki after it had rendered a html file but before it made note that it
+had done so. 
+
+The user saw an "Internal server error" and hit reload, which
+failed due to the "independently created, not overwriting" check. The site
+was then wedged not accepting edits until manually fixed.
+
+After deleting the html file, `ikiwiki --refresh` successfully built
+things, without libmarkdown segfaulting this time. I don't know if this was
+a transient libmarkdown bug or a memory glitch. 
+
+Either way, seems that ikiwiki could better handle recovery from this kind
+of scenario. The "independently created" check has a security benefit...
+Perhaps ikiwiki could keep a log file of destdir files it's recently
+created but has yet to record in the index, and then the check can be
+skipped for those files.
+
+--[[Joey]] 

Initial description
diff --git a/doc/todo/Change_the_ikiwiki.info_search_box_to_not_using_Google.mdwn b/doc/todo/Change_the_ikiwiki.info_search_box_to_not_using_Google.mdwn
new file mode 100644
index 000000000..6adc051dc
--- /dev/null
+++ b/doc/todo/Change_the_ikiwiki.info_search_box_to_not_using_Google.mdwn
@@ -0,0 +1,5 @@
+The search box on ikiwiki uses Google to look for documentation. Unfortunately to use the result page one have to accept Google terms of use, which may be annoying (since it is full of tracker and a real privacy nightmare).
+
+Would it be possible to change the default behavior to use another search engine more privacy friendly such as https://duckduckgo.com or https://qwant.com.
+
+With both engines adding the "site:ikiwiki.info" string to the search terms limit results to these present on ikiwiki.info.

Add missing comma.
diff --git a/doc/todo/merge_tincho-osm_branch.mdwn b/doc/todo/merge_tincho-osm_branch.mdwn
index 96042a5a2..26d6bf0eb 100644
--- a/doc/todo/merge_tincho-osm_branch.mdwn
+++ b/doc/todo/merge_tincho-osm_branch.mdwn
@@ -2,7 +2,7 @@
 greatly simplifies the code, and would let us close
 [[replace openlayers with leaflet]]
 and
-[[bugs/osm plugin fails to display map with javascript error]]
+[[bugs/osm plugin fails to display map with javascript error]],
 at the cost of removing some features.
 
 The branch already incorporates changes from my review and additional fixes.

Fix bug WikiLink in previous.
diff --git a/doc/todo/merge_tincho-osm_branch.mdwn b/doc/todo/merge_tincho-osm_branch.mdwn
index 4318f57de..96042a5a2 100644
--- a/doc/todo/merge_tincho-osm_branch.mdwn
+++ b/doc/todo/merge_tincho-osm_branch.mdwn
@@ -2,7 +2,7 @@
 greatly simplifies the code, and would let us close
 [[replace openlayers with leaflet]]
 and
-[[osm plugin fails to display map with javascript error]]
+[[bugs/osm plugin fails to display map with javascript error]]
 at the cost of removing some features.
 
 The branch already incorporates changes from my review and additional fixes.

Request review and possible merge of tincho-osm.
diff --git a/doc/todo/merge_tincho-osm_branch.mdwn b/doc/todo/merge_tincho-osm_branch.mdwn
new file mode 100644
index 000000000..4318f57de
--- /dev/null
+++ b/doc/todo/merge_tincho-osm_branch.mdwn
@@ -0,0 +1,12 @@
+[[Tincho]] has an updated [[plugins/osm]] that fixes some basic usages,
+greatly simplifies the code, and would let us close
+[[replace openlayers with leaflet]]
+and
+[[osm plugin fails to display map with javascript error]]
+at the cost of removing some features.
+
+The branch already incorporates changes from my review and additional fixes.
+I'd appreciate additional careful review from another maintainer,
+including about the points raised at [[plugins/osm/discussion]].
+
+--[[schmonz]]

Add notes from today's pairing with tincho.
diff --git a/doc/plugins/osm/discussion.mdwn b/doc/plugins/osm/discussion.mdwn
index 538a3ab10..80f6a318e 100644
--- a/doc/plugins/osm/discussion.mdwn
+++ b/doc/plugins/osm/discussion.mdwn
@@ -23,3 +23,43 @@ For usability it would be great if it was possible to display the active waypoin
 *PS. The osm plugin is amazing!*
 
 > Thanks! --[[anarcat]]
+
+-----
+
+## Updated plugin needs review and merge
+
+[[!template id=gitbranch branch=tincho-osm author="[[tincho]]"]]
+
+[[schmonz]] here. I recently tried to use this plugin, had some trouble, and discovered on IRC that [[tincho]] has a largely [rewritten version](https://blog.tincho.org/posts/OSM_in_IkiWiki/) that looks good [on his site](https://blog.tincho.org/Mingle/), but hadn't gotten around to submitting for merge. So we remote-paired on it today, improved a few things, and wrote down what we noticed:
+
+### Features removed
+
+- Google Maps API
+- Multiple layers
+- Customized waypoint icons
+- Full-screen map (via the CGI)
+- Whatever "editable" did (maybe something interactive?)
+- OpenLayers -> Leaflet (if anyone was somehow depending on OpenLayers)
+
+### Features added
+
+- Maps actually work again
+- Maps work when embedded in HTTPS sites
+- Multiple maps and multiple waypoints in a page probably work better now
+- Maps _do_ appear in inlines
+- Pagestate hash gets cleaned up better after edit/preview/delete
+
+### Wishlist
+
+- Optionally do something (render a static image?) for RSS
+- When drawing lines between waypoints that are linked, optionally draw an arrow
+- Performance/ikiwiki-idiomaticness: generate one GeoJSON file per waypoint, then rely on getting changed waypoints from the `changes()` hook
+- Treat optional waypoint description as Markdown (or whatever input format you're using)
+- Simplify scrubbing (maybe avoid needing HTML::Scrubber)
+
+### Questions for reviewers
+
+- Given this is backward-incompatible, dhould we call it something other than "osm"?
+- What needs scrubbing? Have we covered all the bases? Too many bases?
+- Should we vendor Leaflet into an underlay, instead of needing a URL to load it from a CDN? [[schmonz]] somewhat prefers this, so we avoid needing external resources by default, avoid breaking when the Leaflet CDN is down, etc.
+- Should we write some tests before merging? `osm.pm` hadn't had any, FWIW

Add tincho's git repo.
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 52c9ca3e7..fe778f606 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -69,6 +69,7 @@ think about merging them. This is recommended. :-)
 * bfree `git://github.com/bfree/ikiwiki.git`
 * [[users/leg]] `git://at.magma-soft.at/ikiwiki.info`
 * [[thcipriani]] `https://github.com/thcipriani/ikiwiki.git` ([[browse|https://github.com/thcipriani/ikiwiki]])
+* [[tincho]] `git@github.com:TheTincho/ikiwiki.git` ([[browse|https://github.com/TheTincho/ikiwiki]])
 
 ## branches
 

Maybe we should just suggested-depends on sudo
diff --git a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
index 0d4f1d5f3..3bae33ada 100644
--- a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
+++ b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
@@ -128,3 +128,13 @@ The `-m` may be overzealous. I have some sites running as users with `/sbin/nolo
 >> it because traditional Unix terminal handling is also a disaster
 >> area, and I don't see a good solution.
 >> --[[smcv]]
+
+>>> After reading this, appreciating your effort writing it, and then
+>>> ignoring it for a while, I think our easiest option might be to take
+>>> a dependency on sudo. It's ubiquitous-ish, and where it's not
+>>> already present the dependency feels more "suggested" than
+>>> "required": ikiwiki is plenty useful for many/most uses without a working
+>>> `ikiwiki-mass-rebuild` (as I can vouch). A slightly more annoying
+>>> and thorough option might be to make the run-as-user command
+>>> configurable, with some strong suggestions and warnings. Thoughts?
+>>> --[[schmonz]]

Add personal site
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index e33ed8f2b..2ad84d82c 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -221,3 +221,4 @@ Personal sites and blogs
 * [Matto's personal website](https://box.matto.nl)
 * [Rob Sayers' personal website](http://www.robsayers.com)
 * [Svetlana Tkachenko's personal website](http://svetlana.nfshost.com/index.en.html) - personal site, no blog
+* [re:fi.64's personal wiki](https://wiki.refi64.com/)

Revert spam commits.
diff --git a/doc/bugs/discussion.mdwn b/doc/bugs/discussion.mdwn
index 5a0da04d4..474e07564 100644
--- a/doc/bugs/discussion.mdwn
+++ b/doc/bugs/discussion.mdwn
@@ -15,4 +15,4 @@ the ikiwiki.cgi CGI wrapper. ..."
   to the user who owns the `source` and `destination` directories.
 
 > (emphasis mine). Anyway, if you have ideas to improve the man page, it's
-> over in [[Pagina]] --[[Joey]]
+> over in [[usage]] --[[Joey]]
diff --git a/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn b/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn
index 89df6789a..99cc1964c 100644
--- a/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn
+++ b/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn
@@ -1,4 +1,4 @@
-From the source of [[Pagina]]:
+From the source of [[usage]]:
 
     <a href="mailto:joey@ikiwiki.info">&#x6A;&#111;&#101;&#x79;&#64;i&#107;&#105;w&#105;&#107;&#x69;&#46;&#105;n&#x66;&#x6F;</a>
 
diff --git a/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn b/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn
index 1b9f0a039..b8e28e0a3 100644
--- a/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn
+++ b/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn
@@ -36,7 +36,7 @@ I could not come up with a working set of users which are put into different gro
 
 > You can set the umask for ikiwiki itself, without changing the system umask, via the usmask setting in the setup file. --[[Joey]]
 
-In the end, I did the following. I created a directory /srv/ikiwiki/ which is owned by gitosis. The [[setup_file|/Pagina]] is also located there (/srv/ikiwiki/project.setup). I put the srcdir there too (srcdir => '/srv/ikiwiki/project/'). So now sudo -u gitosis ikiwiki --project.setup is able to create the post-update hook (git_wrapper => '/srv/gitosis/repositories/project.git/hooks/post-update'). Since this hook is called every time something is checked in over SSH, it is run by gitosis, so I did not set it suid. Or do I have to, because ikiwiki.cgi will be run as www-data?
+In the end, I did the following. I created a directory /srv/ikiwiki/ which is owned by gitosis. The [[setup_file|/usage]] is also located there (/srv/ikiwiki/project.setup). I put the srcdir there too (srcdir => '/srv/ikiwiki/project/'). So now sudo -u gitosis ikiwiki --project.setup is able to create the post-update hook (git_wrapper => '/srv/gitosis/repositories/project.git/hooks/post-update'). Since this hook is called every time something is checked in over SSH, it is run by gitosis, so I did not set it suid. Or do I have to, because ikiwiki.cgi will be run as www-data?
 
 > Generally, ikiwiki.cgi is run as the user who owns the wiki and repository, in this case, gitosis. The ikwiiki.cgi needs to be able to write to source files in the wiki; it needs to be able to commit changes,
 > and it needs to be able to generate and write the html files. If you don't want ikiwiki.cgi to run as gitosis, you will need to put gitosis and www-data in a group and give them both write access, with appropriate umask, etc. --[[Joey]]
diff --git a/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn b/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn
index 753e18ed2..a8d04a0ad 100644
--- a/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn
+++ b/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn
@@ -14,7 +14,7 @@ Thanks,
 > dest/foo.html, src/bar.mdwn becomes dest/bar.html, etc.
 > 
 > It sounds like you want `--no-usedirs`, or the corresponding `usedirs => 0,`
-> option in your setup file. See [[Pagina]] for more information. -- [[Jon]]
+> option in your setup file. See [[usage]] for more information. -- [[Jon]]
 
 Thanks, usedirs seems to be just the thing I need.
 
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 5f177ae7b..e33ed8f2b 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -194,6 +194,7 @@ Personal sites and blogs
 * [Salient Dream](http://www.salientdream.com/) - All Things Strange. 
 * [Anton Berezin's blog](http://blog.tobez.org/)
 * [Waldgarten]( http://waldgarten.greenonion.org/ ) News and documentation of a permaculture inspired neighbourhood-garden located in Hamburg, Germany.
+* [Frohdo](https://frohdo.de) - With raw food against back pain and other diseases
 * [[OscarMorante]]'s [personal site](http://oscar.morante.eu).
 * [Puckspage]( http://www.puckspage.org/ ) Political and personal blog in German. The name comes from the elf out of midsummer nights dream.  
 * [[LucaCapello]]'s [homepage](http://luca.pca.it)
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 67745799b..e0e401656 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -15,7 +15,7 @@ site generator with some dynamic features.
 ## using ikiwiki
 
 [[Setup]] has a tutorial for setting up ikiwiki, or you can read the
-[[man_page|Pagina]]. There are some [[examples]] of things you can do
+[[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.
diff --git a/doc/plugins.mdwn b/doc/plugins.mdwn
index ff24e1bca..0bea33592 100644
--- a/doc/plugins.mdwn
+++ b/doc/plugins.mdwn
@@ -7,7 +7,7 @@ There's documentation if you want to [[write]] your own plugins, or you can
 [[install]] plugins [[contributed|contrib]] by others.
 
 To enable a plugin, use the `--plugin` switch described in
-[[Pagina]], or the equivalent `add_plugins` line in ikiwiki.setup.
+[[usage]], or the equivalent `add_plugins` line in ikiwiki.setup.
 Enable the [[goodstuff]] plugin to get a nice selection of plugins that
 will fit most uses of ikiwiki.
 
diff --git a/doc/rcs/git.mdwn b/doc/rcs/git.mdwn
index 1839d0829..fa7a037ba 100644
--- a/doc/rcs/git.mdwn
+++ b/doc/rcs/git.mdwn
@@ -51,7 +51,7 @@ One setup that will work is to put all committers in a group (say,
 "ikiwiki"), and use permissions to allow that group to commit to the bare git
 repository. Make both the post-update hook and ikiwiki.cgi be setgid
 to the group, as well as suid to the user who admins the wiki. The
-`wrappergroup` [[setup_file_option|Pagina]] can be used to make the wrappers
+`wrappergroup` [[setup_file_option|usage]] can be used to make the wrappers
 be setgid to the right group. Then the srcdir, including its git
 repository, should only be writable by the wiki's admin, and *not* by the
 group. Take care that ikiwiki uses a umask that does not cause files in
diff --git a/doc/setup.mdwn b/doc/setup.mdwn
index 0d532f337..9fc37c0b1 100644
--- a/doc/setup.mdwn
+++ b/doc/setup.mdwn
@@ -113,7 +113,7 @@ Alternatively, you can ask ikiwiki to change settings in the file for you:
 
 	% ikiwiki --changesetup foo.setup --plugin goodstuff
 
-See [[Pagina]] for more options.
+See [[usage]] for more options.
 
 ## Customizing file locations
 
diff --git a/doc/setup/byhand.mdwn b/doc/setup/byhand.mdwn
index 2b0defe64..6d0f37cd9 100644
--- a/doc/setup/byhand.mdwn
+++ b/doc/setup/byhand.mdwn
@@ -64,7 +64,7 @@ can copy in files from the [[examples]]. The examples are located in
 
 You can experiment with other ikiwiki parameters such as `--wikiname`
 and `--rebuild` too. Get comfortable with its command line (see
-[[Pagina]]).
+[[usage]]).
 
 ## Add a setup file.
 
@@ -83,7 +83,7 @@ the rest of the files. A good place to put it is in a ~/.ikiwiki/
 subdirectory.
    
 Most of the options, like `wikiname` in the setup file are the same as
-ikiwiki's command line options (documented in [[Pagina]]). `srcdir` and
+ikiwiki's command line options (documented in [[usage]]). `srcdir` and
 `destdir` are the two directories you specify when running ikiwiki by
 hand. Make sure that these are pointing to the right directories, and
 read through and configure the rest of the file to your liking.
diff --git a/doc/Pagina.html b/doc/usage.mdwn
similarity index 100%
rename from doc/Pagina.html
rename to doc/usage.mdwn
diff --git a/doc/Pagina/discussion.mdwn b/doc/usage/discussion.mdwn
similarity index 100%
rename from doc/Pagina/discussion.mdwn
rename to doc/usage/discussion.mdwn

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn b/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn
index a8d04a0ad..753e18ed2 100644
--- a/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn
+++ b/doc/forum/transition_from_handwritten_html_to_ikiwiki.mdwn
@@ -14,7 +14,7 @@ Thanks,
 > dest/foo.html, src/bar.mdwn becomes dest/bar.html, etc.
 > 
 > It sounds like you want `--no-usedirs`, or the corresponding `usedirs => 0,`
-> option in your setup file. See [[usage]] for more information. -- [[Jon]]
+> option in your setup file. See [[Pagina]] for more information. -- [[Jon]]
 
 Thanks, usedirs seems to be just the thing I need.
 

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/plugins.mdwn b/doc/plugins.mdwn
index 0bea33592..ff24e1bca 100644
--- a/doc/plugins.mdwn
+++ b/doc/plugins.mdwn
@@ -7,7 +7,7 @@ There's documentation if you want to [[write]] your own plugins, or you can
 [[install]] plugins [[contributed|contrib]] by others.
 
 To enable a plugin, use the `--plugin` switch described in
-[[usage]], or the equivalent `add_plugins` line in ikiwiki.setup.
+[[Pagina]], or the equivalent `add_plugins` line in ikiwiki.setup.
 Enable the [[goodstuff]] plugin to get a nice selection of plugins that
 will fit most uses of ikiwiki.
 

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/setup/byhand.mdwn b/doc/setup/byhand.mdwn
index 6d0f37cd9..2b0defe64 100644
--- a/doc/setup/byhand.mdwn
+++ b/doc/setup/byhand.mdwn
@@ -64,7 +64,7 @@ can copy in files from the [[examples]]. The examples are located in
 
 You can experiment with other ikiwiki parameters such as `--wikiname`
 and `--rebuild` too. Get comfortable with its command line (see
-[[usage]]).
+[[Pagina]]).
 
 ## Add a setup file.
 
@@ -83,7 +83,7 @@ the rest of the files. A good place to put it is in a ~/.ikiwiki/
 subdirectory.
    
 Most of the options, like `wikiname` in the setup file are the same as
-ikiwiki's command line options (documented in [[usage]]). `srcdir` and
+ikiwiki's command line options (documented in [[Pagina]]). `srcdir` and
 `destdir` are the two directories you specify when running ikiwiki by
 hand. Make sure that these are pointing to the right directories, and
 read through and configure the rest of the file to your liking.

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn b/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn
index b8e28e0a3..1b9f0a039 100644
--- a/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn
+++ b/doc/forum/multi-user_setup_of_ikiwiki__44___gitosis_and_apache2_in_Debian_Sid.mdwn
@@ -36,7 +36,7 @@ I could not come up with a working set of users which are put into different gro
 
 > You can set the umask for ikiwiki itself, without changing the system umask, via the usmask setting in the setup file. --[[Joey]]
 
-In the end, I did the following. I created a directory /srv/ikiwiki/ which is owned by gitosis. The [[setup_file|/usage]] is also located there (/srv/ikiwiki/project.setup). I put the srcdir there too (srcdir => '/srv/ikiwiki/project/'). So now sudo -u gitosis ikiwiki --project.setup is able to create the post-update hook (git_wrapper => '/srv/gitosis/repositories/project.git/hooks/post-update'). Since this hook is called every time something is checked in over SSH, it is run by gitosis, so I did not set it suid. Or do I have to, because ikiwiki.cgi will be run as www-data?
+In the end, I did the following. I created a directory /srv/ikiwiki/ which is owned by gitosis. The [[setup_file|/Pagina]] is also located there (/srv/ikiwiki/project.setup). I put the srcdir there too (srcdir => '/srv/ikiwiki/project/'). So now sudo -u gitosis ikiwiki --project.setup is able to create the post-update hook (git_wrapper => '/srv/gitosis/repositories/project.git/hooks/post-update'). Since this hook is called every time something is checked in over SSH, it is run by gitosis, so I did not set it suid. Or do I have to, because ikiwiki.cgi will be run as www-data?
 
 > Generally, ikiwiki.cgi is run as the user who owns the wiki and repository, in this case, gitosis. The ikwiiki.cgi needs to be able to write to source files in the wiki; it needs to be able to commit changes,
 > and it needs to be able to generate and write the html files. If you don't want ikiwiki.cgi to run as gitosis, you will need to put gitosis and www-data in a group and give them both write access, with appropriate umask, etc. --[[Joey]]

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/bugs/discussion.mdwn b/doc/bugs/discussion.mdwn
index 474e07564..5a0da04d4 100644
--- a/doc/bugs/discussion.mdwn
+++ b/doc/bugs/discussion.mdwn
@@ -15,4 +15,4 @@ the ikiwiki.cgi CGI wrapper. ..."
   to the user who owns the `source` and `destination` directories.
 
 > (emphasis mine). Anyway, if you have ideas to improve the man page, it's
-> over in [[usage]] --[[Joey]]
+> over in [[Pagina]] --[[Joey]]

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/index.mdwn b/doc/index.mdwn
index e0e401656..67745799b 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -15,7 +15,7 @@ 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
+[[man_page|Pagina]]. 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.

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn b/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn
index 99cc1964c..89df6789a 100644
--- a/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn
+++ b/doc/bugs/htmlscrubber_undoes_email_obfuscation_by_Text::Markdown.mdwn
@@ -1,4 +1,4 @@
-From the source of [[usage]]:
+From the source of [[Pagina]]:
 
     <a href="mailto:joey@ikiwiki.info">&#x6A;&#111;&#101;&#x79;&#64;i&#107;&#105;w&#105;&#107;&#x69;&#46;&#105;n&#x66;&#x6F;</a>
 

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/setup.mdwn b/doc/setup.mdwn
index 9fc37c0b1..0d532f337 100644
--- a/doc/setup.mdwn
+++ b/doc/setup.mdwn
@@ -113,7 +113,7 @@ Alternatively, you can ask ikiwiki to change settings in the file for you:
 
 	% ikiwiki --changesetup foo.setup --plugin goodstuff
 
-See [[usage]] for more options.
+See [[Pagina]] for more options.
 
 ## Customizing file locations
 

update for rename of usage.mdwn to Pagina.html
diff --git a/doc/rcs/git.mdwn b/doc/rcs/git.mdwn
index fa7a037ba..1839d0829 100644
--- a/doc/rcs/git.mdwn
+++ b/doc/rcs/git.mdwn
@@ -51,7 +51,7 @@ One setup that will work is to put all committers in a group (say,
 "ikiwiki"), and use permissions to allow that group to commit to the bare git
 repository. Make both the post-update hook and ikiwiki.cgi be setgid
 to the group, as well as suid to the user who admins the wiki. The
-`wrappergroup` [[setup_file_option|usage]] can be used to make the wrappers
+`wrappergroup` [[setup_file_option|Pagina]] can be used to make the wrappers
 be setgid to the right group. Then the srcdir, including its git
 repository, should only be writable by the wiki's admin, and *not* by the
 group. Take care that ikiwiki uses a umask that does not cause files in

rename usage.mdwn to Pagina.html
diff --git a/doc/usage.mdwn b/doc/Pagina.html
similarity index 100%
rename from doc/usage.mdwn
rename to doc/Pagina.html
diff --git a/doc/usage/discussion.mdwn b/doc/Pagina/discussion.mdwn
similarity index 100%
rename from doc/usage/discussion.mdwn
rename to doc/Pagina/discussion.mdwn

1
This reverts commit 5ee60968b966f605eb3b0c3119e5366e57b745b8
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index e33ed8f2b..5f177ae7b 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -194,7 +194,6 @@ Personal sites and blogs
 * [Salient Dream](http://www.salientdream.com/) - All Things Strange. 
 * [Anton Berezin's blog](http://blog.tobez.org/)
 * [Waldgarten]( http://waldgarten.greenonion.org/ ) News and documentation of a permaculture inspired neighbourhood-garden located in Hamburg, Germany.
-* [Frohdo](https://frohdo.de) - With raw food against back pain and other diseases
 * [[OscarMorante]]'s [personal site](http://oscar.morante.eu).
 * [Puckspage]( http://www.puckspage.org/ ) Political and personal blog in German. The name comes from the elf out of midsummer nights dream.  
 * [[LucaCapello]]'s [homepage](http://luca.pca.it)

libravatar shutdown
diff --git a/doc/todo/libravatar_EOL.mdwn b/doc/todo/libravatar_EOL.mdwn
new file mode 100644
index 000000000..96d7502a6
--- /dev/null
+++ b/doc/todo/libravatar_EOL.mdwn
@@ -0,0 +1,11 @@
+Unfortunately libravatar is being shut down on 2018-09-01
+<https://blog.libravatar.org/posts/Libravatar.org_is_shutting_down_on_2018-09-01/>
+
+This is used in the comments plugin to get an avatar url.
+
+It would probably be best to remove the code that tries to use it, in case
+its dns eventually gets taken over by something that causes some kind of
+problem. (The shutdown page doesn't say what will happen to the DNS.)
+
+It might also be a good idea to filter out avatar urls in existing comments
+that point to libravatar.org. --[[Joey]]

Portably and safely dropping privileges is far harder than it ought to be
diff --git a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
index 435368cd7..0d4f1d5f3 100644
--- a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
+++ b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
@@ -25,3 +25,106 @@ The `-m` may be overzealous. I have some sites running as users with `/sbin/nolo
 > pkgsrc's ikiwiki package (rev 3.20180311nb1), and will report back. In
 > the meanwhile, would this change cause any obvious regressions on
 > Debian? --[[schmonz]]
+
+>> su(1) does several things for us, not all of them completely obvious:
+>>
+>> * raise or drop privileges
+>> * avoid inheriting the controlling tty
+>> * alter the environment
+>> * run a PAM stack which can do more or less anything
+>> * execute the given command
+>>
+>> Because it's a privileged program, and POSIX/SUS don't specify the
+>> behaviour of privileged operations, its behaviour is determined
+>> by tradition rather than standards.
+>>
+>> Dropping privileges (in this case) is uncontroversial: clearly we want
+>> to do that.
+>>
+>> Not inheriting the controlling tty is necessary to prevent tty hijacking
+>> when dropping privileges (CVE-2011-1408, [[!debbug 628843]]). See
+>> ikiwiki-mass-rebuild's git history. It might also be possible to do this
+>> with `POSIX::setsid`, but I don't know whether that fully protects us
+>> on all platforms, and I would hope that every platform's `su` does the
+>> right things for that platform.
+>>
+>> Altering the environment is less clear. I'm taking the su(1) from Debian
+>> as a reference because that's what Joey would have developed against,
+>> and it has several modes for how much it does to the environment:
+>>
+>> * with `-m` (or equivalently `-p` or `--preserve-environment`):
+>>   reset only `PATH` and `IFS`; inherit everything else. I'm fairly
+>>   sure we don't want this, because we don't want ikiwiki to run with
+>>   root's `HOME`.
+>> * without `-m` or `-`: reset `HOME`, `SHELL`, `USER`, `LOGNAME`,
+>>   `PATH` and `IFS`; inherit everything else.
+>> * with `-` (or equivalently `-l` or `--login`) but not `-m`:
+>>   reset `HOME`, etc.; inherit `TERM`, `COLORTERM`, `DISPLAY` and
+>>   `XAUTHORITY`; clear everything else.
+>>
+>> Before Joey switched ikiwiki-mass-rebuild from dropping privileges
+>> itself to using `su` to fix CVE-2011-1408, it would reset `HOME`,
+>> inherit `PATH` (!) and clear everything else. Using plain `su`
+>> without `-` and without clearing the environment is increasingly
+>> discredited, because it isn't 1980 any more and a lot of programs
+>> respect environment variables whose correct values are user-specific,
+>> such as `XDG_RUNTIME_DIR` and `DBUS_SESSION_BUS_ADDRESS`. So I think
+>> using `su -` would be reasonable and perhaps preferable.
+>>
+>> Running the PAM stack is essentially unavoidable when we're
+>> altering privileges like this, and it's what PAM is there for,
+>> so we should do it. I think some `su` implementations (although not
+>> the one in Debian) run different PAM stacks for `su` and `su -`.
+>>
+>> Finally, running the command. `su` has two design flaws in this area:
+>>
+>> * The command is a string to be parsed by the shell, not an argument
+>>   vector; on Linux, this design flaw can be avoided by using
+>>   `runuser -u USER ... -- COMMAND [ARGUMENT...]` from util-linux instead
+>>   (essentially a non-setuid fork of util-linux su with more reasonable
+>>   command-line handling), and on many Unix systems it can be avoided by
+>>   using `sudo -u USER ... -- COMMAND [ARGUMENT...]`, but presumably neither
+>>   is available as standard on all OSs because that would be far too
+>>   helpful. runuser is also (still) vulnerable to `TIOCSTI` tty hijacking,
+>>   because its developers think that ioctl has no legitimate uses and
+>>   should be disabled or made a privileged operation in the Linux kernel,
+>>   but the Linux kernel maintainers have rejected that solution and
+>>   neither seems to be willing to back down.
+>>
+>>   We might be able to bypass this with this trick:
+>>
+>>       system('su', ..., '--', '-c', 'exec "$0" "$@"', $0, @ARGV);
+>>
+>>   using the fact that arguments to a Bourne/POSIX shell after `-c`
+>>   are set as `$0`, `$1`, ... in the shell. But the second design flaw
+>>   makes this unreliable.
+>>
+>> * `-c` is specified to run the given command with the user's
+>>   login shell from `/etc/passwd` (which might be `nologin` or `csh`
+>>   or anything else), not a standardized Bourne/POSIX shell, so you
+>>   can't predict what (if anything) the given command will actually
+>>   do, or even how to quote correctly. On Linux, giving `-s /bin/sh`
+>>   works around this design flaw, but apparently that's not portable
+>>   or we wouldn't be having this discussion.
+>>
+>> In principle ikiwiki-mass-rebuild was already wrong here, becase it
+>> receives arbitrary arguments and passes them to ikiwiki, but will do
+>> the wrong thing if they contain shell metacharacters (this is not a
+>> security vulnerability, because it's the unprivileged shell that will
+>> do the wrong thing; it's just wrong). Your proposed change makes it
+>> differently wrong, which I suppose is not *necessarily* worse, but
+>> I'd prefer it to be actually correct.
+>>
+>> It seems that by using `-m` you're relying on root having a
+>> Bourne-compatible (POSIX) login shell, so that when `SHELL` is
+>> inherited from root's environment, it will parse the argument of `-c`
+>> according to `/bin/sh` rules. This is less reliable than Linux
+>> `su -s /bin/sh` and has more side-effects, but the man page collection
+>> on unix.com suggests that this meaning for `-s` is Linux-specific
+>> and has not been copied by any other OSs, which is depressing because
+>> that option seems to be the only way to achieve what we want.
+>>
+>> In conclusion, non-interactive `su` is a disaster area, but we use
+>> it because traditional Unix terminal handling is also a disaster
+>> area, and I don't see a good solution.
+>> --[[smcv]]

Update URL of a website (using ikiwiki)
diff --git a/doc/users/spalax.mdwn b/doc/users/spalax.mdwn
index 2010fdef1..52b538b22 100644
--- a/doc/users/spalax.mdwn
+++ b/doc/users/spalax.mdwn
@@ -1,6 +1,6 @@
 [[!meta title="Louis Paternault"]]
 
-User of IkiWiki (my [professional website](http://paternault.fr), among others).
+User of IkiWiki (my [professional website](http://ababsurdo.fr), among others).
 
 # Plugins
 

Update URL of a website (using ikiwiki)
diff --git a/doc/plugins/contrib/pageversion.mdwn b/doc/plugins/contrib/pageversion.mdwn
index 979380133..0d86f0f0a 100644
--- a/doc/plugins/contrib/pageversion.mdwn
+++ b/doc/plugins/contrib/pageversion.mdwn
@@ -18,12 +18,12 @@ On my personal website/blog, I publish articles which I sometimes update. Someti
 
 # Example
 
-For instance, on my personal website, article [one](//paternault.fr/pedago/sismologie/20150110/) has been updated to [two](//paternault.fr/pedago/sismologie/20150819/).
+For instance, on my personal website, article [one](//ababsurdo.fr/pedago/sismologie/20150110/) has been updated to [two](//ababsurdo.fr/pedago/sismologie/20150819/).
 
-- They both contain the directive `\[[!versionof parent]]`, marking them as a version of the [main article](//paternault.fr/pedago/sismologie) (which happens to be their parent page).
-- On the [old article](//paternault.fr/pedago/sismologie/20150819/), links to the other articles (only one here) are available.
-- On the [page listing my articles](//paternault.fr/pedago), only the latest article appears.
-- The [main page](//paternault.fr/pedago/sismologie) lists all versions of this article, and redirects to the latest one.
+- They both contain the directive `\[[!versionof parent]]`, marking them as a version of the [main article](//ababsurdo.fr/pedago/sismologie) (which happens to be their parent page).
+- On the [old article](//ababsurdo.fr/pedago/sismologie/20150819/), links to the other articles (only one here) are available.
+- On the [page listing my articles](//ababsurdo.fr/pedago), only the latest article appears.
+- The [main page](//ababsurdo.fr/pedago/sismologie) lists all versions of this article, and redirects to the latest one.
 
 # List of directives and pagespecs
 

Update URL of a website (using ikiwiki)
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index f84347521..e33ed8f2b 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -209,7 +209,7 @@ Personal sites and blogs
 * Kalle Söderman: [Seen Architecture](http://img.kalleswork.net), [Stockholm Project](http://stockholm.kalleswork.net) - Mainly -image galleries using the album and osm plugins with a customized html5 theme.
 * James Richardson's [wiki](https://jamestechnotes.com), [blog](https://jamesrichardson.name), and online [resume](https://resume.jamesrichardson.name).
 * [Amitai Schleier's site](https://schmonz.com/)
-* [[spalax]]'s [professional website](http://paternault.fr)
+* [[spalax]]'s [professional website](http://ababsurdo.fr)
 * [Aloodo Blog](http://blog.aloodo.org/)
 * Ninguém tem blog! - Restricted ikiwiki hosting
   * [Dissertos radicais](http://dissertosradicais.tem.blog.br)

Added my patch to pkgsrc ikiwiki for evaluation.
diff --git a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
index 4b1394a67..435368cd7 100644
--- a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
+++ b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
@@ -19,3 +19,9 @@ The following patch works much better on the aforementioned platforms, as well a
 The `-m` may be overzealous. I have some sites running as users with `/sbin/nologin` for a shell, and this allows running a command as those users, though without some typical environment variables. This is probably wrong. Maybe I should be doing something else to limit shell access for those users, and the su arg should instead be `-`.
 
 --[[schmonz]]
+
+> To get some real-world and very cross-platform testing, I've committed
+> a conservative version of this patch, with `-` in place of `-m`, to
+> pkgsrc's ikiwiki package (rev 3.20180311nb1), and will report back. In
+> the meanwhile, would this change cause any obvious regressions on
+> Debian? --[[schmonz]]

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 7a755ee02..dc0aebf2d 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -226,3 +226,25 @@ Testing. Test. 試験として書き込みします。
 test
 
 I must **emphasise** this.
+
+
+// more pointers
+#include <iostream>
+using namespace std;
+
+int main ()
+{
+  int firstvalue = 5, secondvalue = 15;
+  int * p1, * p2;
+
+  p1 = &firstvalue;  // p1 = address of firstvalue
+  p2 = &secondvalue; // p2 = address of secondvalue
+  *p1 = 10;          // value pointed to by p1 = 10
+  *p2 = *p1;         // value pointed to by p2 = value pointed to by p1
+  p1 = p2;           // p1 = p2 (value of pointer is copied)
+  *p1 = 20;          // value pointed to by p1 = 20
+  
+  cout << "firstvalue is " << firstvalue << '\n';
+  cout << "secondvalue is " << secondvalue << '\n';
+  return 0;
+}

Indent patch (fenced blocks don't work on this particular ikiwiki installation)
diff --git a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
index 2cc7ae957..4b1394a67 100644
--- a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
+++ b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
@@ -2,21 +2,19 @@ As best as I can recall, running ikiwiki-mass-rebuild as root has never worked f
 
 The following patch works much better on the aforementioned platforms, as well as CentOS 6:
 
-```
-diff --git ikiwiki-mass-rebuild ikiwiki-mass-rebuild
-index ce4e084e8..2ff33b493 100755
---- ikiwiki-mass-rebuild
-+++ ikiwiki-mass-rebuild
-@@ -32,7 +32,7 @@ sub processuser {
- 	my $user=shift;
- 	return if $user=~/^-/ || $users{$user};
- 	$users{$user}=1;
--	my $ret=system("su", $user, "-s", "/bin/sh", "-c", "--", "$0 --nonglobal @ARGV");
-+	my $ret=system("su", "-m", $user, "-c", "/bin/sh -c -- '$0 --nonglobal @ARGV'");
- 	if ($ret != 0) {
- 		print STDERR "warning: processing for $user failed with code $ret\n";
- 	}
-```
+    diff --git ikiwiki-mass-rebuild ikiwiki-mass-rebuild
+    index ce4e084e8..2ff33b493 100755
+    --- ikiwiki-mass-rebuild
+    +++ ikiwiki-mass-rebuild
+    @@ -32,7 +32,7 @@ sub processuser {
+     	my $user=shift;
+     	return if $user=~/^-/ || $users{$user};
+     	$users{$user}=1;
+    -	my $ret=system("su", $user, "-s", "/bin/sh", "-c", "--", "$0 --nonglobal @ARGV");
+    +	my $ret=system("su", "-m", $user, "-c", "/bin/sh -c -- '$0 --nonglobal @ARGV'");
+     	if ($ret != 0) {
+     		print STDERR "warning: processing for $user failed with code $ret\n";
+     	}
 
 The `-m` may be overzealous. I have some sites running as users with `/sbin/nologin` for a shell, and this allows running a command as those users, though without some typical environment variables. This is probably wrong. Maybe I should be doing something else to limit shell access for those users, and the su arg should instead be `-`.
 

Report portability bug, partway to a fix
diff --git a/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
new file mode 100644
index 000000000..2cc7ae957
--- /dev/null
+++ b/doc/bugs/ikiwiki-mass-rebuild_has_probably_never_worked_portably.mdwn
@@ -0,0 +1,23 @@
+As best as I can recall, running ikiwiki-mass-rebuild as root has never worked for me on NetBSD or Mac OS X. On both platforms, it gives me a shell as each user in the system wikilist. This is due to non-portable arguments to su(1).
+
+The following patch works much better on the aforementioned platforms, as well as CentOS 6:
+
+```
+diff --git ikiwiki-mass-rebuild ikiwiki-mass-rebuild
+index ce4e084e8..2ff33b493 100755
+--- ikiwiki-mass-rebuild
++++ ikiwiki-mass-rebuild
+@@ -32,7 +32,7 @@ sub processuser {
+ 	my $user=shift;
+ 	return if $user=~/^-/ || $users{$user};
+ 	$users{$user}=1;
+-	my $ret=system("su", $user, "-s", "/bin/sh", "-c", "--", "$0 --nonglobal @ARGV");
++	my $ret=system("su", "-m", $user, "-c", "/bin/sh -c -- '$0 --nonglobal @ARGV'");
+ 	if ($ret != 0) {
+ 		print STDERR "warning: processing for $user failed with code $ret\n";
+ 	}
+```
+
+The `-m` may be overzealous. I have some sites running as users with `/sbin/nologin` for a shell, and this allows running a command as those users, though without some typical environment variables. This is probably wrong. Maybe I should be doing something else to limit shell access for those users, and the su arg should instead be `-`.
+
+--[[schmonz]]

Added a comment: some clarifications
diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_7_79007506e4b771100c524e604e10bac7._comment b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_7_79007506e4b771100c524e604e10bac7._comment
new file mode 100644
index 000000000..158247f93
--- /dev/null
+++ b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_7_79007506e4b771100c524e604e10bac7._comment
@@ -0,0 +1,24 @@
+[[!comment format=mdwn
+ username="anarcat"
+ avatar="http://cdn.libravatar.org/avatar/825d3c30cb96a053b5335e51b8d0bd49"
+ subject="some clarifications"
+ date="2018-03-21T13:41:18Z"
+ content="""
+> Oh, you're using git-annex for the srcdir? The approach I'd vaguely had in mind was to have an ordinary git repository with the Markdown/smaller assets/etc. as the srcdir, and a parallel (no common commits) git-annex with larger assets (photos) as an underlay.
+
+Yeah well, here I am using ikiwiki-hosting which sets up a standard set of repositories to push to. Here I push to `ssh://user@host/` and everything is magic after. So adding another repo would be quite clunky.
+
+> In an ideal world, symlinks in the srcdir would be treated as the content that they point to, if and only if the symlink is somehow \"safe\", with symlinks to non-pruned files in the srcdir and symlinks to non-pruned files in .git/annex/objects/ specifically being considered \"safe\". This is not yet that ideal world, because my to-do list for ikiwiki is a lot longer than the time I can justify spending on it.
+
+I understand I agree with that general design.
+
+> I think this mechanism would need to be in terms of \"for page/attachment X (a symlink), read file Y (the target of the symlink) instead of X\" determined during scanning, rather than removing the -l check from readfile(), because that -l check is a good safety-catch against implementation mistakes that could lead to private file disclosure.
+
+I do not believe I'm removing the -l check from readfile() in the latest patch. It *is* removed from `find_src_files`, but only as a strong armed measure: some more clever checks should be implemented there to check the targets... 
+
+> Sorry, I am not going to review patches that relax the symlink security check unless I can concentrate on them enough to be confident that I'm not introducing security vulnerabilities. I realise this means that review has taken too long, but delays (even long ones) seem better than CVEs.
+
+Agreed. :) I don't mind the delay so much anymore, TBH... As I said, I've mostly given up and I assume something will either pop up by magic in the future or this will never happen. It's not like *I* have the time to \"concentrate on them enough to be confident that I'm not introducing security vulnerabilities\" as you so clearly put it: I probably don't have your grasp on the ikiwiki source so it makes my job even harder, but I should be able to figure out a better patch than `1 || -l` at this point. :p
+
+Anyways, I just wanted to provide a slight clarification on the workflow here...
+"""]]

thanks + extra docs done
diff --git a/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn b/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn
index c7f8ebd3e..cd39438a7 100644
--- a/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn
+++ b/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn
@@ -70,3 +70,20 @@ Thanks!
 > without parsing the date, they can still use `\[[!meta name="date" content="xxx"]]`.
 >
 > [[!tag done]] --[[smcv]]
+
+> > To my defense, when I wrote this, I didn't consider this a bug: I
+> > was assuming the problem I was seeing was just some dumb mistake
+> > that I made and, indeed, there *was* one such formatting mistake.
+> >
+> > But yeah, I could have re-edited this whole thing to make it look
+> > better. I'm sorry, but I was at the end of an already long
+> > yak-shaving session...
+> >
+> > I wasn't sure if doing an error was the right way to go, as this
+> > might break rendering for existing sites... But I'm glad you fixed
+> > this anyways!
+> >
+> > Thank you for the super-fast-response! :) I also tried updating
+> > the [[meta directive documentation|ikiwiki/directive/meta]] so
+> > that it's a little more detailed about that stuff. I hope that's 
+> > alright... -- [[anarcat]]

clarify what date fields do, following [[bugs/invalid_meta_date_or_updated_not_diagnosed]]
diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn
index 3df176c48..89a32946a 100644
--- a/doc/ikiwiki/directive/meta.mdwn
+++ b/doc/ikiwiki/directive/meta.mdwn
@@ -75,8 +75,12 @@ a quote in the text by writing `&quot;` and so on.
 
 * date
 
-  Specifies the creation date of the page. The date can be entered in
-  nearly any format, since it's parsed by [[!cpan TimeDate]].
+  Specifies the creation date of the page. This creates a 
+  `<meta name="date" content="...">` header in the HTML output, but also
+  modifies the internal `ctime` in the [[internal index|tips/inside_dot_ikiwiki/]].
+  The date can be entered in nearly any format, since it's parsed by
+  [[!cpan TimeDate]] but invalid dates yield an error in 3.20180321
+  or later.
 
 * stylesheet
 
@@ -193,7 +197,8 @@ a quote in the text by writing `&quot;` and so on.
   modification time, like Planet: for instance, when editing an old blog post
   to add tags, you could set `updated` to be one second later than the original
   value. The date/time can be given in any format that
-  [[!cpan TimeDate]] can understand, just like the `date` field.
+  [[!cpan TimeDate]] can understand, just like the `date` field and maps to the
+  `<meta name="updated" content="...">` HTML header and internal `mtime` field.
 
 * foaf
 

Added a comment
diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_6_f5eba98543b320773c334a0f39e2faa1._comment b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_6_f5eba98543b320773c334a0f39e2faa1._comment
new file mode 100644
index 000000000..b01b4f4c4
--- /dev/null
+++ b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_6_f5eba98543b320773c334a0f39e2faa1._comment
@@ -0,0 +1,36 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 6"
+ date="2018-03-21T09:30:41Z"
+ content="""
+> the \"source\" directory still have those broken symlinks, and those shadow the underlay
+
+Oh, you're using git-annex for the srcdir? The approach I'd vaguely had in mind was to
+have an ordinary git repository with the Markdown/smaller assets/etc. as the srcdir,
+and a parallel (no common commits) git-annex with larger assets (photos) as an underlay.
+
+I feel as though broken symlinks in the srcdir probably *should* shadow the underlay,
+because otherwise there's nothing we can use as a \"white-out\" to suppress files from
+the underlay. (But perhaps the canonical white-out should be a symlink to /dev/null,
+as used in systemd.)
+
+In an ideal world, symlinks in the srcdir would be treated as the content that they
+point to, if and only if the symlink is somehow \"safe\", with symlinks to non-pruned
+files in the srcdir and symlinks to non-pruned files in .git/annex/objects/
+specifically being considered \"safe\". This is not yet that ideal world, because my
+to-do list for ikiwiki is a lot longer than the time I can justify spending on it.
+
+I think this mechanism would need to be in terms of \"for page/attachment X (a
+symlink), read file Y (the target of the symlink) instead of X\" determined
+during scanning, rather than removing the `-l` check from `readfile()`, because
+that `-l` check is a good safety-catch against implementation mistakes that
+could lead to private file disclosure.
+
+> I wrote a patch to work around that issue, to make sure that security checks properly fallback to the underlay when there's a broken symlink
+
+Sorry, I am not going to review patches that relax the symlink security check unless I can
+concentrate on them enough to be confident that I'm not introducing security vulnerabilities.
+I realise this means that review has taken too long, but delays (even long ones) seem better
+than CVEs.
+"""]]

clarify
diff --git a/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn b/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn
index 8789dad7a..c7f8ebd3e 100644
--- a/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn
+++ b/doc/bugs/invalid_meta_date_or_updated_not_diagnosed.mdwn
@@ -61,7 +61,8 @@ Thanks!
 > I think the historical assumption was that even if the date can't be parsed for the
 > second purpose, you still want the first purpose. However, you're right that this is
 > really fragile, and the first purpose seems fairly niche anyway.
-> In ikiwiki git master (to be released as 3.20180321 or later) I've made `\[[!meta]]`
+> In ikiwiki git master (to be released as 3.20180321 or later) I've made `\[[!meta date=...]]`
+> and `\[[!meta updated=...]]`
 > produce an error message if you don't have `Date::Parse` or if the date/time is
 > malformed.
 >