Recent changes to this wiki:

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_7_6a6c39f1311522b6d34c69b4a4062aa8._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_7_6a6c39f1311522b6d34c69b4a4062aa8._comment
new file mode 100644
index 000000000..f7fd57905
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_7_6a6c39f1311522b6d34c69b4a4062aa8._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 7"
+ date="2024-03-18T19:28:47Z"
+ content="""
+I've changed wiki_file_chars to include more characters existing in file names but ther's still a big group of \"skipping bad filename\" errors for Emacs backup files whose names end with `.mdwn~`. These files are automatically created as backups when .mdwn files are edited Emacs and I do like to use that feature. However, seeing them printed at Ikiwiki build time is not useful as they're expected and the shear number makes other true problematic ones less visible. Is it possible to whitelist that?
+"""]]

response
diff --git a/doc/todo/support_for_light_and_dark_mode.mdwn b/doc/todo/support_for_light_and_dark_mode.mdwn
index 9095c73be..85495608b 100644
--- a/doc/todo/support_for_light_and_dark_mode.mdwn
+++ b/doc/todo/support_for_light_and_dark_mode.mdwn
@@ -80,3 +80,17 @@ is probably the best way to implement this.
 	 }
 	 
 	 /* popup template and backlinks hiding */
+
+> Hi Joey! I started to look at this issue in
+> [[support_dark_mode_in_antitheme]]. I hadn't came to the same conclusion to
+> you wrt patching it in `style.css` (or not), but I was blocked on making sure
+> every snippet of CSS from every plugin was updated, let alone every theme
+> building on top, and that's just for internal styling: like you say, it would
+> still risk breaking external themes.
+> 
+> Perhaps do as you suggest and put it in a theme, and revisit patching
+> `style.css` on the [[roadmap]] for version 4 one day. I'm happy to work on
+> that, unless you want to.
+> 
+> If we add such a theme (name TBC), would you be happy to move `ikiwiki.info`
+> to it? — [[Jon]], *2024-03-18*

todo
diff --git a/doc/todo/support_for_light_and_dark_mode.mdwn b/doc/todo/support_for_light_and_dark_mode.mdwn
new file mode 100644
index 000000000..9095c73be
--- /dev/null
+++ b/doc/todo/support_for_light_and_dark_mode.mdwn
@@ -0,0 +1,82 @@
+It's common now for web pages to support light and dark mode, so
+switching the OS into dark mode makes the background black and into light
+mode makes the background white. This feels to me like something lacking in
+ikiwiki's minimalistic default css.
+
+It's actually really easy to implement this with css. Just don't set any
+colors explicitly, and tell the browser to use the default color for the
+selected color scheme. The attached diff gets most of the way there though
+there will be things that need improvement.
+
+I think it probably does not make sense to apply these changes to style.css
+directly though, because it will likely break sites that start with
+style.css and then override parts of it in local.css. For example, if
+someone made their text a little bit lighter but still close to black,
+but relied on the  default white background, applying this would make their
+text almost unreadable in black mode.
+
+So, I think adding a theme that consists only of the patched css
+is probably the best way to implement this.
+--[[Joey]] 
+
+	--- /home/joey/src/ikiwiki/doc/style.css	2023-03-30 13:31:19.562667116 -0400
+	+++ style.css	2024-03-18 13:52:05.497866818 -0400
+	@@ -1,5 +1,9 @@
+	 /* ikiwiki style sheet */
+	 
+	+:root {
+	+	color-scheme: light dark;
+	+}
+	+
+	 /* Note that instead of modifying this style sheet, you can instead edit
+	  * local.css and use it to override or change settings in this one.
+	  */
+	@@ -8,6 +12,7 @@
+	 article,aside,details,figcaption,figure,
+	 footer,header,hgroup,menu,nav,section {
+	 	display: block;
+	+  	color-scheme: light dark;
+	 }
+	 
+	 div.header, header.header {
+	@@ -145,8 +150,7 @@
+	 	clear: both;
+	 	display: block;
+	 	padding: 1px 2px;
+	-	background: white !important;
+	-	color: black !important;
+	+	color-scheme: light dark;
+	 }
+	 .recentchanges .desc {
+	 	display: none;
+	@@ -219,9 +223,8 @@
+	 	margin-bottom: 4px;
+	 	margin-top: -1px;
+	 	padding: 0ex 2ex;
+	-	background: white;
+	 	border: 1px solid black;
+	-	color: black !important;
+	+  	color-scheme: light dark;
+	 }
+	 
+	 hr.poll {
+	@@ -297,8 +300,7 @@
+	 	margin-bottom: 1ex;
+	 	padding: 1ex 1ex;
+	 	border: 1px solid #aaa;
+	-	background: white;
+	-	color: black !important;
+	+  	color-scheme: light dark;
+	 }
+	 
+	 /* notebox template */
+	@@ -310,8 +312,7 @@
+	 	padding: 1ex 1ex;
+	 	border: 1px solid #aaa;
+	 	width: 25%;
+	-	background: white;
+	-	color: black !important;
+	+  	color-scheme: light dark;
+	 }
+	 
+	 /* popup template and backlinks hiding */

fix toggleable bullets in version_3.20200202.4
diff --git a/doc/news/version_3.20200202.4.mdwn b/doc/news/version_3.20200202.4.mdwn
index f91941241..2df42149c 100644
--- a/doc/news/version_3.20200202.4.mdwn
+++ b/doc/news/version_3.20200202.4.mdwn
@@ -1,28 +1,28 @@
 ikiwiki 3.20200202.4 released with [[!toggle text="these changes"]]
 [[!toggleable text="""
-  [ Simon McVittie ]
+* [ Simon McVittie ]
   * build: Don't install an empty share/ikiwiki/examples/doc/examples
 
-  [ Joey Hess ]
+* [ Joey Hess ]
   * aggregate: When a feed has an enclosure that is an image, audio, or
     video, include the enclosure in the generated page.
   * aggregate: Also support feeds with media:content tags.
   * git: Pass --no-rebase when pulling, to avoid git warning messages
     about pull.rebase.
 
-  [ Amitai Schleier ]
+* [ Amitai Schleier ]
   * highlight: Adapt to API change in highlight >= 4.0
   * Avoid 'Duplicate specification' for option "s"
 
-  [ Jonathan Dowland ]
+* [ Jonathan Dowland ]
   * html5: Switch from pubdate=pubdate to class=dt-published
   * mdwn: debug() which implementation is chosen
 
-  [ Antoine Beaupré ]
+* [ Antoine Beaupré ]
   * recentchanges: support non-CGI links
   * add geo: scheme
   * pass PAGE variable to templates
 
-  [ intrigeri ]
+* [ intrigeri ]
   * po: fix support for UTF-8 with po4a 0.58+
 """]]

add news item for ikiwiki 3.20200202.4
diff --git a/doc/news/version_3.20180228.mdwn b/doc/news/version_3.20180228.mdwn
deleted file mode 100644
index a32e9b1e1..000000000
--- a/doc/news/version_3.20180228.mdwn
+++ /dev/null
@@ -1,20 +0,0 @@
-ikiwiki 3.20180228 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * core: Don't send relative redirect URLs when behind a reverse proxy
-   * core: Escape backticks etc. in directive error messages as HTML
-     entities so that the error message is not subsequently parsed as
-     Markdown
-   * mdwn: Enable fenced code blocks, PHP Markdown Extra-style definition
-     lists and GitHub-style extensions to HTML tag syntax when used with
-     Discount >= 2.2.0 (Closes: #[888055](http://bugs.debian.org/888055))
-   * img: Fix auto-detection of image format (if enabled, which is
-     strongly discouraged) with ImageMagick >= 6.9.8-3
-   * rst: Use Python 3 instead of Python 2
-   * build: `set -e` before each `for` loop, so that errors are reliably
-     trapped
-   * build: Use if/then instead of `||` so that the `-e` flag works
-   * build: Ensure that pm\_to\_blib finishes before rewriting shebang lines
-   * t: Make the img test pass with ImageMagick >= 6.9.8-3
-     (Closes: #[891647](http://bugs.debian.org/891647))
-   * debian: Remove unused Lintian overrides for duplicate word false positives
-   * debian: Declare compliance with Debian Policy 4.1.3"""]]
\ No newline at end of file
diff --git a/doc/news/version_3.20200202.4.mdwn b/doc/news/version_3.20200202.4.mdwn
new file mode 100644
index 000000000..f91941241
--- /dev/null
+++ b/doc/news/version_3.20200202.4.mdwn
@@ -0,0 +1,28 @@
+ikiwiki 3.20200202.4 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+  [ Simon McVittie ]
+  * build: Don't install an empty share/ikiwiki/examples/doc/examples
+
+  [ Joey Hess ]
+  * aggregate: When a feed has an enclosure that is an image, audio, or
+    video, include the enclosure in the generated page.
+  * aggregate: Also support feeds with media:content tags.
+  * git: Pass --no-rebase when pulling, to avoid git warning messages
+    about pull.rebase.
+
+  [ Amitai Schleier ]
+  * highlight: Adapt to API change in highlight >= 4.0
+  * Avoid 'Duplicate specification' for option "s"
+
+  [ Jonathan Dowland ]
+  * html5: Switch from pubdate=pubdate to class=dt-published
+  * mdwn: debug() which implementation is chosen
+
+  [ Antoine Beaupré ]
+  * recentchanges: support non-CGI links
+  * add geo: scheme
+  * pass PAGE variable to templates
+
+  [ intrigeri ]
+  * po: fix support for UTF-8 with po4a 0.58+
+"""]]

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_6_8145af7a514b44590f65afd0ca3b2595._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_6_8145af7a514b44590f65afd0ca3b2595._comment
new file mode 100644
index 000000000..4a23173cc
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_6_8145af7a514b44590f65afd0ca3b2595._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/cae0ebd82377a48ef9f1f14ff23b3e0f"
+ subject="comment 6"
+ date="2024-03-18T13:29:13Z"
+ content="""
+> Did not even realize that is configurable. I probably should add a lot more characters?
+
+If you want to use those characters in filenames, yes. But please note that if you don't, you get a _different_ error message to the one you are experiencing (`skipping bad filename <problematic filename>`), so I don't think adjusting `wiki_file_chars` will fix your problem.
+"""]]

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_5_ee697d9cf098a2f2998394cece4fb1d1._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_5_ee697d9cf098a2f2998394cece4fb1d1._comment
new file mode 100644
index 000000000..70ef1710e
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_5_ee697d9cf098a2f2998394cece4fb1d1._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 5"
+ date="2024-03-17T05:11:07Z"
+ content="""
+I found
+```
+wiki_file_chars => '-[:alnum:]+/.:_《》'
+```
+
+Did not even realize that is configurable. I probably should add a lot more characters?
+"""]]

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_4_8a81c5cda9d5e0c265516f1df46fcaba._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_4_8a81c5cda9d5e0c265516f1df46fcaba._comment
new file mode 100644
index 000000000..ed8008265
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_4_8a81c5cda9d5e0c265516f1df46fcaba._comment
@@ -0,0 +1,24 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/cae0ebd82377a48ef9f1f14ff23b3e0f"
+ subject="comment 4"
+ date="2024-03-15T11:06:52Z"
+ content="""
+I'm not sure where/how to add the debug print you request, just yet, sorry.
+
+As a first step to try and reproduce it I've tried to create the following filenames in a test wiki:
+
+```
+'()_-.、《》「」一三上不与丛东中临之乐九习书事二于五些交京人仁介代令件价似体何作侄修债值兒入全八公.mdwn'
+六其具典养再写农出分划刘別剧劣励勇化北十千华南博卿历原参及变叠古句台史号名吳吴周命和品唐商問器回図国.mdwn
+图國圖在地培基堯塔士复夏多大天太女如姪媒子字孟学孫宋宗宝实客家寫寶小少局居屋属屿岛峽州工布帖常干年幽序.mdwn
+底庵廣建异式录心忠惯感成所打扫找技把投拳换支政效散数文料方日时明曲書月有期本术杂李杜杨松构枚果架标.mdwn
+校梅梦棠棣極楷楼歙止武殳毓比毛氏气水永汉江河治法波注泽洛流测济海測游湾滄漢漫潘澍激点牆片版牝猫献玄.mdwn
+王现理用甫电画登白百的目盲真石研硯碑礼社神秦程稱究章童笑笔第筆简算篆籍类紙素經網編红约纪细经结络网罗美.mdwn
+翻老考聲臣臨自舟般艺节苔若茅荒著藏蘭虎虚蜜蟹行衛表袁複要觀视言記訪試詩誌語记论试诠语说谷賦质资赋趙路.mdwn
+車轼辭还送通過邺部里重野量钓關间附陈院陳陵陸隔雅集音頫题颜風首馬魯鱼鸣鸰鹡黑默齐(),:0125aBcdeFgGhHiklmnorstWyz.mdwn
+```
+
+The first and last of those are rejected by Ikiwiki by default because of characters not in the range of `wiki_file_chars`.
+From your setup file can you share the value of `wiki_file_chars`?
+"""]]

remove description of stale branches
pristine-tar hasn't been updated for recent releases.
Debian packaging is handled out of tree.
diff --git a/doc/branches.mdwn b/doc/branches.mdwn
index 232f2ce6a..874643fe6 100644
--- a/doc/branches.mdwn
+++ b/doc/branches.mdwn
@@ -14,12 +14,6 @@ and !link(todo/done) and !*/*/*" show=0 archive=yes]]
 
 Long-lived branches in the main git repository:
 
-* `debian-stable` is used for updates to the old version included in
-  Debian's stable release, and `debian-testing` is used for updates to
-  Debian's testing release. (These and similar branches will be rebased.)
 * `ignore` gets various branches merged to it that [[Joey]] wishes to ignore
   when looking at everyone's unmerged changes.
-* `pristine-tar` contains deltas that
-  [pristine-tar](http://joeyh.name/code/pristine-tar)
-  can use to recreate released tarballs of ikiwiki
 * `setup` contains the ikiwiki.setup file for this site

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_3_2a20230216c276e9ce8933babc8ea931._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_3_2a20230216c276e9ce8933babc8ea931._comment
new file mode 100644
index 000000000..51eb66bfb
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_3_2a20230216c276e9ce8933babc8ea931._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 3"
+ date="2024-03-11T05:07:41Z"
+ content="""
+Where and how to add a print so the potentially problematic file's name is printed at web site build time?
+"""]]

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_2_11a89d0edb43936bcad66236f9b87d72._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_2_11a89d0edb43936bcad66236f9b87d72._comment
new file mode 100644
index 000000000..6dd292cca
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_2_11a89d0edb43936bcad66236f9b87d72._comment
@@ -0,0 +1,174 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 2"
+ date="2024-03-11T05:06:22Z"
+ content="""
+Unique characters in file content (tried to add some linebreaks):
+
+```
+!@#%^&*()_-+=~`{[}]|\<>.,;\"?'/:	
+
+ ´īūƃǎǐǒǔǝɐɑɔɕəɟɡɥɦɪɯɹɾʇʌʍʎʔʞʰ˥˦˧˨˩̃ᴀᴇ―‧ⅠⅡⅢⅣⅤⅥⅦⅧⅨ↚↛↜↝↞↟↠↡↢↣↨↩↪↫↬↭↮↯↰↱↲↳↴↶↷↸↹↺↻⇇⇈⇉⇊⇍⇎⇏⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟⇠⇡⇢⇣⇦⇧⇨⇩⇪⇫⇬⇭⇮⇯⇰⇱⇲⇳⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬┏┓└├☚☛☜☝☞☟✌✔✪❶❷❸➔➘➙➚➛➜➝➞➟➠➡➢➣➤➥➦➧➨➩➪➫➬➭➮➯➱➲➳➴➵➶➷➸➹➺➻➼➽➾⟰⟱⟲⟳⟴⟻⟼⟿⤀⤁⤂⤃⤄⤅⤆⤇⤈⤉⤊⤋⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤙⤚⤛⤜⤝⤞⤟⤠⤡⤢⤣⤤⤥⤦⤧⤨⤩⤪⤫⤬⤭⤮⤯⤰⤱⤲⤳⤴⤵⤶⤷⤸⤹⤺⤻⤼⤽⤾⤿⥀⥁⥂⥃⥄⥅⥆⥇⥈⥉⥊⥋⥌⥍⥢⥣⥤⥥⥦⥧⥨⥩⥪⥫⥬⥭⥱⥲⥳⥴⥵⥶⥷⥸⥹⥺⥻⥼⥽⥾⥿⬀⬁⬂⬃⬄⬅⬆⬇⬈⬉⬊⬋⬌⬍⬎⬏⬐⬑⬰⬱⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭅⭆⭇⭈⭉⭊⭋⭌
+ ⿰、。〈〉《》「」『』【】〔〕あいうえおかがきくけこごさしすずそただ
+ ちっつてでとなにのはばぶべまみむめもよらるれんアイウェエカクコゴシジ
+ スズタダッテトドナニハビピブペボムョラリルレワン・ー䪖一丁七万丈三上
+ 下不与丑专且丕世丘丙业丛东丝丞丟丢两严並丧个中丰串临丶丸丹为主丽举乂
+ 乃久么义之乌乍乎乏乐乔乖乘乙九乞也习乡书买乱乳乾亀亂了予争事二于亏云
+ 互五井亘亚些亞亡亢交亥亦产亨亩享京亭亮亲人亿什仁仅仆仇今介仍从仑仓仔
+ 仕他仗付仙仞仡代令以仪们仰仲件价任份仿企伊伍伎伏伐休众优会伛伝伟传伤
+ 伦伪伫伯估伴伶伸伺似伽但佇佈佉位低住佐佑体何佗余佚佛作佟你佩佳併佶佺
+ 使侃侄來侈例侍供依侠価侣侥侦侧侨侬侮侯侵便係促俄俊俗俘俜保俞俟俠信俦
+ 俨俭修俯俱俶俸倉個倍倏們倒倓倖候倚倜借倡倦倨倩倪倫倬倭债值倾偃假偈偉
+ 偎偏偕做停健側偵偶偷偻偿傀傅傍傑傒備傥储催傲傳傷傾像僕僚僥僧僮僵價僻
+ 儀儂億儉儋儒儕儘儡優儼儿兀允元兄充兆兇先光克免兑兒兔兕党兜兢入內全兩
+ 八公六兮兰共关兴兵其具典兹养兼兽冀内円冈冉冊册再冒冕冗写军农冠冢冤冥
+ 冫冬冯冰冲决况冷冻净凄准凉凊凋凌凍减凑凛凝几凡凤凫凭凯凰凱凳凶凸凹出
+ 击函凿刀刁刃分切刈刊刍刑划列刘则刚创初删判別利刪别刮到制刷券刹刺刻剂
+ 剃則削剋剌前剑剔剖剛剜剝剡剥剧剩剪副割剿劇劈劉劍力劝办功加务劣动助努
+ 劫劭励劲劳势勁勃勇勉勋勒動勘務勝勞募勤勰勵勸勾勿匀包匆匈匏匕化北匜匝
+ 匠匡匪匮匹区医匾匿區十千卅升午半卍华协卑卒卓協单卖南単博卜卞卟占卡卢
+ 卣卦卧卫卯印危即却卵卷卻卿厂厄厅历厉压厌厘厚原厢厥厦厨厭厮厲去县参參
+ 又叉及友双反发叔取受变叙叛叟叠叢口古句另叩只叫召叭叮可台史右叵叶号司
+ 叹吁吃各吅吆合吉吊同名后吏吐向吒吓吕吗君吝吞吟吠否吧吩含听吭吮启吳吴
+ 吸吹吼吽吾呀呂呆呈呉告呎呕员呙呜呢呦周呬味呵呻呼命呾呿咀咆和咏咒咖咨
+ 咬咯咸咽哀品哄哆哇哈哉响哑哗員哥哦哩哪哭哮哲哳哽唇唎唐唤唧售唯唱唳唵
+ 唾啄商啊啍問啕啖啞啟啦啭啮啰啸啼啾喃善喇喉喊喚喜喝喧喪單喷喻嗅嗇嗎嗔
+ 嗚嗜嗟嗡嗣嗥嗦嘆嘈嘉嘗嘘嘯嘱嘲嘴嘶噎噜器噩噪噫噶嚇嚎嚣嚩嚯嚴嚶嚼囂囊
+ 囍囕囗囘四回因团囥囧囬园困図围固国图囿圃圆圈圉國圍園圓圖團土圣在圭地
+ 场圾址均坊坎坏坐坑块坚坛坞坟坠坡坤坦坨坻坼垂垃型垒垓垢垣埃埋城埏埔域
+ 埠埵執培基堂堅堆堕堞堡堤堪堮堯報場堵塊塌塑塔塗塘塞填塵墀境墅墉墊墓増
+ 墙增墟墨墩墳壁壅壇壑壓壘壞壟士壬壮壯声壳壶壹壺壽处备复夏夐夔夕外夙多
+ 夜够夠夢大天太夫夭央失头夷夸夹夺夾奄奇奈奉奋奎奏契奔奖套奘奚奠奢奥奪
+ 奮女奴奸她好如妃妄妆妇妍妒妓妖妙妝妣妤妥妨妹妻妾姆姊始姑姓委姚姜姤姥
+ 姨姪姬姻姿威娃娄娇娉娑娘娜娟娥娩娱娲娶婀婆婉婕婚婢婦婴婵婷婺婿媒媚媛
+ 媲媽嫁嫉嫋嫌嫔嫠嫡嫦嫩嬉嬌嬙嬪嬰孃子孔字存孙孜孝孟季孤学孩孫孮孰學宁
+ 它宅宇守安宋完宍宏宓宕宗官宙定宛宜宝实宠审客宣室宦宪宫宮宰害宴宵家宸
+ 容宽宾宿寀寂寄寅密寇富寐寒寓寔寘寝寞察寡寤寥實寧寨審寫寬寮寰寵寶寸对
+ 寺寻导寿封射将將專尉尊尋對導小少尔尖尘尚尝尤尧就尸尹尺尼尽尾尿局层居
+ 屈届屋屍屎屏屐展属屠屡層履屬屯山屹屺屿岁岂岌岐岑岗岘岙岚岛岩岫岭岱岳
+ 岸峃峄峡峤峥峦峨峭峯峰島峻峽崇崑崔崖崗崙崛崦崧崩嵇嵊嵋嵘嵩嵬嵯嶷嶺嶼
+ 嶽巅巍巒巖巘川州巡巢工左巧巨巩巫差己已巳巴巷巻巾币市布帅帆师希帏帐帖
+ 帘帙帚帛帝帥带帧師席帮帰帳帶帷常帻帽幄幅幌幕幟幡幢幫干平年并幷幸幹幻
+ 幼幽幾广広庄庆庇床序庐库应底店庙庚府庞废庠度座庫庭庵庶康庸庾廉廊廓廖
+ 廟廢廣廪延廷建廻廽廿开弁异弃弄弊弋式弓弔引弗弘弟张弥弦弧弩弭弯弱張強
+ 弹强弼彌彎归当录彗彙彝彡形彦彩彪彬彭彰影彷役彻彼彿往征徂径待徇很徊律
+ 後徐徒従徕得徘徙從御徨復循徭微徴徵德徹徽心必忆忉忌忍忒志忘忙忝忠忤忧
+ 快忱念忼忽忿怀态怂怅怆怎怒怕怖怛怜思怠怡急性怨怪怯总恁恃恆恉恋恍恐恒
+ 恕恚恢恣恤恥恨恩恪恬恭息恰恳恶恺恻恼恽恿悄悅悉悔悕悖悚悟悠患悦您悪悬
+ 悭悯悲悴悶悸悼悽情惆惇惊惋惑惘惛惜惟惠惡惧惨惫惭惮惯惰想惶惹惺惻愀愁
+ 愈愍意愚愛感愤愦愧愴愿慈態慌慎慑慕慘慢慧慨慮慰慵慶慷慼憂憍憎憑憔憤憨
+ 憩憶憾懂懈應懋懐懒懷懸懼懿戈戉戊戌戍戎戏成我戒戕或战戚戟截戬戮戰戲戳
+ 戴戶户戾房所扁扃扇扉手扌才扎扑打扔托扣执扩扪扫扬扭扰扶批扼找承技抄抉
+ 把抑抒抓投抖抗折抚抢护报披抬抱抵抹押抽拂担拆拉拋拍拏拒拓拔拖拗拘拙招
+ 拜拟拢拣拥拦拨择括拭拱拳拼拽拾拿持挂指按挎挑挖挟挠挡挥挨挫振挲挹挺挽
+ 挾捃捆捉捋捕损换捣捧捨据捲捶捷捺捻掃掇授掉掌掎排掖掗掘掛掠探掣接控推
+ 掩措掬掷掺掾揄揆描提插揖揚換握揣揭揮援揽搂搅搇搏搔搖搛搜搞搭携摄摆摇
+ 摈摊摘摜摧摩摭摸摹摺撇撑撒撕撤撥播撰撲撷撼擁擂擅擇擊擋操擎擒擔擘據擠
+ 擡擦擬擾攀攒攘攜攝攞攤攫攬支收攸改攻放政故效敌敏救敕敖敗敘教敛敝敞敢
+ 散敦敬数敲整敵敷數斂文斋斌斎斐斑斕斗料斛斜斝斡斤斥斧斩斫斬断斯新斷方
+ 於施旁旃旄旅旆旋旌族旒旗无既日旦旧旨早旬旭旰旱时旷旼昂昃昆昉昊昌明昏
+ 易昔昕昙星映春昧昨昪昭是昶昼昽显晁時晃晉晋晏晓晔晕晖晚晝晦晨普景晰晴
+ 晶智暂暇暈暉暑暖暗暝暮暴曆曉曙曚曛曜曝曠曦曩曰曲曳更曷書曹曼曾替最會
+ 朆月有朋服朔朕朗望朝期木未末本札术朱朴朵机朽杀杂权杆杉杌李杏材村杖杙
+ 杜杞束条来杨杪杭杯杰東杲杳杵杷松板极构枇枉析枕林枚果枝枢枣枥枪枫枯枳
+ 架枷柄柏某染柔柚柞查柬柯柰柱柳柴査栀标栈栊栋栎树栖栗校株样核根格栾桂
+ 桃框案桌桐桑桓桢档桥桩桷梁梅梆梓梗條梢梦梧梨梭梯械梳梵检棋棍棒棓棘棚
+ 棠棣森棱棹棻植椎椒楂楊楚楞楠楫業楯極楷楸楹楼楽概榆榕榖榜榭榮榴榻槃槊
+ 構槌槍槎槐槛槥槽槿樂樊樓標樞模樣権横樯樱樵樸樹樽樾橋橐橘橙機橫檀檄檐
+ 檔檗檢檻櫆櫓欄權欒欠次欢欣欤欧欲欺款歇歈歉歋歌歐歔歙歛歡止正此步武歧
+ 歪歲歷歸死歼殁殃殆殉殊残殒殖殘殳段殷殺殿毀毁毂毅毋母每毒毓比毕毖毗毙
+ 毛毡毫毳氈氏氐民气氛氢氣水氵永汀汁求汇汉汊汏汗汝江池污汤汨汪汰汲決汽
+ 汾沁沃沈沉沌沐沒沓沖沙沚沛沟没沤沦沧沪沫沬沮沱河沸油治沼沽沾沿況泄泉
+ 泊泌泐法泗泛泠泡波泣泥注泪泯泰泷泻泼泽泾洁洄洇洋洎洒洗洙洛洞津洪洮洲
+ 洵洹活洽派流浅浆浇浊测济浏浑浒浓浔浙浚浣浦浩浪浮浴海浸涂涅涇消涉涌涎
+ 涓涕涛涣涤润涧涨涩涯液涵涼淀淄淆淋淌淑淘淚淡淨淩淫淮深淳淵混淸淹淺添
+ 淼清渊渌渎渐渔渕渗渙渚減渠渡渣渧温測渭港渴游渺渾湍湓湖湘湛湣湯湾湿溃
+ 溅源準溜溝溟溢溥溧溪溫溯溶溺溼滁滂滄滅滋滌滑滓滔滚滞滟满滥滨滩滴滸滾
+ 滿漂漆漏漓演漠漢漫漱漳漸漾潇潔潘潛潜潢潤潦潭潮潷潸潺潼潽澀澂澄澆澈澍
+ 澗澜澤澳澶澹激濁濃濑濟濡濤濮濯濱瀉瀏瀑瀚瀛瀴灌灏灑灘灞灣火灭灯灰灵灶
+ 灼災灾炉炊炎炙炜炫炬炭炮炯炳炸点為炼炽烁烂烈烊烏烛烜烝烟烦烧烬热烹烽
+ 焉焕焘焚無焦焰然煊煌煎煒煕煙煜煠照煩煮熄熊熏熔熙熟熬熱熹燃燈燎燒燕營
+ 燥燭燮燾爆爇爍爨爪爬爭爰爱爲爵父爹爺爽爾爿牆片版牋牌牍牒牖牘牙牛牝牟
+ 牡牢牧物牲牵特牽犀犁犊犍犒犢犬犯状犹狂狄狐狒狗狙狠狩独狭狮狱狷狸狹狻
+ 狼猊猎猕猖猗猛猜猩猫猬献猱猴猶猷猿獄獎獗獨獲獵獸獻玄率玉王玑玘玛玩环
+ 现玲玳玷玺玻珂珅珈珊珍珑珞珠珣珥珪班珰珶現球琅理琉琐琚琛琥琦琪琬琮琰
+ 琳琴琵琶琼瑀瑁瑅瑆瑕瑗瑙瑚瑛瑜瑞瑟瑢瑰瑶璀璃璇璊璋璎璐璚璜璟璠璣璧璫
+ 環瓌瓘瓜瓢瓣瓦瓯瓶瓿甑甗甘甚生產用甫田由甲申电男甸町画畅畋界畏畔留畜
+ 畝畢略番畫畬異畴當疆疇疊疏疑疗疙疟疠疣疫疮疯疱疲疴疵疾病症痈痒痕痛痰
+ 痴瘀瘁瘋瘗瘦瘩瘴瘿癌癡癲癸登發白百的皆皇皈皋皎皓皦皮皱皴盂盈盉益盍盐
+ 监盒盔盖盗盘盛盜盟盡監盤盨盪目盱盲直相盼盾省眄眇眉看眙真眠眦眩眵眷眸
+ 眺眼眾着睇睐睛睡睢督睦睹睺睽睿瞒瞞瞥瞩瞬瞭瞻瞿矛矜矟矢矣知矩矫短矮矯
+ 石矶矾矿码砂砍研砖砚砧破砸砺砾础硕硖硬确硯碍碎碑碓碗碛碣碧碩碰確碼碾
+ 磁磊磋磐磔磕磨磬磴磻示礼社祀祁祇祈祐祖祗祚祛祜祝神祠祥票祭祯祷祸祺祿
+ 禀禁禄禅禋禍禎福禛禧禪禮禱禹离禽禾秀私秉秋种科秕秘租秣秦秩积称移秽秾
+ 稀稅程稍税稚稠種稱稳稷稹稻稼稽稿穀穆積穎穡穰穴究穷穹空穿突窃窄窈窍窕
+ 窗窜窟窠窣窥窦窩窭窮竈立竑竖站竞竟章童竦竭端競竹竺竿笃笈笋笑笔笙笛笠
+ 符第笳笺笼筆等筋筌筍筏筐筑筒答策筚筝筠筱筴筵筹签简箇箍箐箔箕算箜管箧
+ 箫箭箱箴箸節篁範篆篇築篌篡篤篥篦篮篱簇簋簌簟簠簡簧簪簾簿籀籁籃籍籠籤
+ 米类粉粒粗粘粝粟粪粮粱粲粳精糊糒糕糖糙糜糟糠糧系糾紀約紅紆紈紋納純紙
+ 級紛素紡索紧紫紬紮累細紹終組結絕絜絡絣給絮統絲絳絶絺綌綏經続綜綠綦綬
+ 維綱網綴綵綺綽綿緊線緣編緩縛縝縠縣縫縱縻總績繁繇織繞繡繩繪繼纂續纏纓
+ 纔纟纠纡红纤纥约级纨纩纪纫纬纯纱纲纳纵纶纷纸纹纺纽线练组绅细织终绍绎
+ 经绑结绕绘给绛络绝绞统绡绢绣继绩绪续绮绰绳维绵绶综绿缀缄缅缈缊缎缓缔
+ 缕编缘缙缚缜缝缟缠缥缨缩缮缰缴缶缺罌罍网罔罕罗罘罚罡罢罥罪置罰署罳罴
+ 罷罽羁羅羈羊羌美羔羚羝羞羡羣群義羯羲羸羹羼羽羿翁翅翊翎習翔翘翟翠翡翥
+ 翦翩翫翰翱翳翻翼耀老考者耆而耐耒耕耗耘耨耳耶耸耻耽耿聂聆聊职联聖聘聚
+ 聞聪聯聲聳職聽聿肃肅肆肇肉肌肖肘肚肝肠股肢肤肥肩肪肯肱育肴肺肾肿胀胁
+ 胃胄胆背胎胖胜胝胞胡胤胥胭胶胸能脁脂脆脉脊脍脏脑脓脚脫脯脱脸脾腊腐腔
+ 腕腥腦腰腳腴腸腹腻腾腿膏膑膚膛膜膝膨膳膺臂臆臉臊臣臥臧臨自臭至致臺臻
+ 臼臾舅舆與興舉舊舌舍舒舛舜舞舟航舫般舰船艇艘艮良艰色艳艷艺艾节芋芍芒
+ 芙芜芝芥芦芬芭花芳芸芹芽芾苇苍苏苑苒苓苔苕苗苞苟若苦英苹苾茂范茄茅茉
+ 茕茗茜茧茨茫茭茱茲茵茶茹荀荃荆荇草荊荏荐荒荔荟荠荡荣荤荦荩荪荫药荷荻
+ 荼莂莉莊莎莓莫莱莲获莹莺莽菁菊菌菏菜菠菡菩華菱菲菼萃萄萋萌萍萏萝萤营
+ 萦萧萨萬萱萸落葉著葛葡董葦葬葭葱葳葵蒋蒙蒜蒲蒸蒹蒺蒼蒿蓂蓄蓉蓋蓐蓑蓓
+ 蓖蓝蓟蓬蓮蔓蔗蔚蔡蔥蔬蔭蔷蔺蔻蔼蔽蕃蕅蕉蕖蕙蕤蕨蕩蕪蕭蕴薄薇薑薛薜薦
+ 薪薮薰藁藉藍藏藐藓藕藜藝藤藥藩藻藿蘅蘇蘖蘧蘭蘸虎虏虐虑虔處虚虛虞號虢
+ 虧虫虬虹虺虻虽虾蚁蚊蚕蛄蛇蛉蛋蛑蛟蛤蛭蛮蛰蛾蜀蜂蜊蜒蜓蜕蜚蜜蜞蜡蜻蜾
+ 蜿蝉蝌蝎蝗蝙蝠蝤蝥蝴蝶蝼螂螃融螟螢螭螳螺螻蟆蟛蟠蟪蟬蟲蟹蟻蟾蠃蠕蠟蠡
+ 蠲蠻血衄行衍衒術衔街衛衝衞衡衢衣衤补表衫衮衰衷衾袁袂袅袆袈袋袍袖袛袜
+ 被袭袷袿裁裂装裆裏裔裕裘裙補裝裟裡裤裱裳裴裸裹製裾複褊褒褚褥褶襃襄襟
+ 襦襲西要覃覅覆見規視親覺覽觀见观规觅视览觉觌角觚觞解觥触觴觶言訂訇計
+ 訊討訓託記訪設許訴註訾詈詐詒詔詞詠詢試詩話該詳詹誅誉誊誌認誐誓誕誘誚
+ 語誠誡誤說説誰誼調談請論諠諧諫諭諸諾謀謂謊謙講謝謠謹證譏識譜警譬譯議
+ 護譽讀變讒讓讚计订认讥讨让讫训议讯记讲讳讴讵讷许讹论讼讽设访诀证诂诃
+ 评识诈诉词诏译诒试诗诘诚诛话诞诠诡询诣诤该详诬语诮误诰诱诲诳说诵请诸
+ 诺读课谁调谄谈谊谋谎谏谑谒谓谕谗谙谛谟谢谣谤谥谦谨谪谬谭谱谶谷谿豆豈
+ 豎豐豔豕豚象豪豫豳豸豹豺貂貊貌貒貓貔貞負財貢販責貳貴貶買貺費貽賀資賈
+ 賊賑賓賜賞賢賣賤賦質賴贈贏贖贝贞负贡财责贤败账货质贩贪贫贬购贮贯贱贲
+ 贴贵贸费贺贻贼贾资赅赈赊赋赌赎赏赐赓赖赛赞赠赡赢赤赦赫赭走赳赴赵赶起
+ 趁超越趋趕趙趟趣趯足趴趺跂跃跋跌跎跏跑跖跛距跟跡跢跨跪路跳践踉踊踌踏
+ 踐踞踟踢踩踪踵蹄蹇蹈蹉蹋蹌蹑蹙蹟蹤蹬蹰蹲蹴躁躇躍身躬躯躲躺車軍軟軨軸
+ 軻軼軾較載輔輕輛輜輝輦輩輪輯輶輸輹輿轂轅轉轘轟车轨轩转轮软轰轲轴轶轻
+ 轼载较辄辅辆辇辈辉辋辍辐辑输辔辕辗辙辚辛辜辞辟辦辨辩辭辰辱農边辽达迁
+ 迄迅过迈迎运近返还这进远违连迟迢迤迥迦迨迪迫迭迮述迳迴迷迸迹追退送适
+ 逃逆选逊逍透逐递途逗這通逛逝逞速造逡逢連逥逦逮逯週進逵逶逸逻逼逾遁遂
+ 遇遊運遍過遏遐遑道達違遗遙遝遞遠遣遥遨適遭遮遴遵遷選遺遼遽避邀邃還邇
+ 邈邊邐邑邓邕邙邛那邦邪邬邮邱邵邸邹邺邻郁郊郎郑郙郜郝郡郢部郭郵都郾郿
+ 鄂鄄鄉鄙鄞鄢鄧鄭鄰鄹酉酋酌配酒酣酤酥酪酬酵酶酷酸酺酿醅醇醉醍醐醒醜醪
+ 醫醯醴釀采释釋里重野量金釘釜針釣釿鈃鈕鈞鈴鈹鉄鉅鉞鉤鉦鉴銀銅銘銮銳銷
+ 鋒鋤鋪鋭鋼錄錢錦錬鍑鍾鎖鎧鎮鎳鏃鏈鏊鏐鐃鐏鐓鐘鐙鐵鐸鑄鑑鑒鑣鑫鑲针钉
+ 钓钗钜钝钞钟钢钤钥钦钧钩钮钱钴钵钺钻钿铁铃铄铅铎铙铜铢铨铭铮银铸铺链
+ 销锁锄锅锋锐错锡锤锥锦键锯锳锴锺镀镇镌镜镠镦镬镰長长門閃閉開閏閑閒間
+ 関閣閦閱閶闆闇闊闔闕闖關门闪闭问闯闰闱闲间闷闹闺闻闼闽闾阁阅阇阊阎阐
+ 阑阔阖阗阙阜阝队阪阮防阳阴阵阶阻阿陀附际陆陇陈陋陌降限陔陕陛陟陡院陣
+ 除陨险陪陰陲陳陵陶陷陸険陽隅隆隈隊隋階随隐隑隔隗隘隙障隨險隱隳隴隶隷
+ 隸隹隻难雀雁雄雅集雉雋雌雍雏雕雖雙雜雞離難雦雨雪雲雳零雷雹電雾需霁霄
+ 霆震霉霍霏霑霓霖霜霞霧霭露霸霹霾靄靈靑青靓靖静靜非靠靡面靥革靳靴鞋鞍
+ 鞘鞞鞠鞭鞮韋韓韡韦韩韬韭音韵韻響頁頂頃項順須頌預頑頒頓頗領頞頫頭顆題
+ 顏顔顗願顙顛類顧顫顯顰顱页顶顷项顺须顽顾顿颀颁颂预领颇颈颉颍颐频颔颖
+ 颗题颜额颠颡颢颦風颻飄飆飈风飒飕飖飘飙飛飞食飢飧飫飮飯飲飽飾養餍餐餓
+ 餘館饈饒饗饥饪饫饭饮饯饰饱饶饷饿馀馆馈馐馑馔首香馨馬馮馱馳馺駅駒駕駝
+ 駟駣駬駭駵駿騄騎騏騑騰騶騾驅驊驗驚驛驟驢驤驥驩驪马驭驮驰驱驳驴驷驹驻
+ 驼驾驿骁骂骄骅骆骇骊骋验骏骑骓骖骗骘骚骝骞骢骤骥骧骨骸骾髅髑髓體高髡
+ 髣髮髯髴髻鬃鬆鬓鬘鬟鬣鬥鬧鬨鬱鬲鬼魂魄魅魏魑魔魚魯鮫鮮鱗鱼鲁鲍鲜鲤鲳
+ 鲵鲷鲸鳅鳌鳞鳥鳳鳴鴉鴻鵝鵾鷹鸟鸠鸡鸣鸥鸦鸭鸯鸰鸳鸵鸷鸽鸾鸿鹁鹂鹃鹄鹅
+ 鹉鹊鹏鹗鹙鹜鹡鹤鹦鹧鹫鹭鹰鹳鹹鹽鹿麒麓麗麝麟麥麦麻麼麾黃黄黍黎黑黔默
+ 黛黜點黨黪黯黻黼黾鼇鼉鼍鼎鼐鼓鼕鼙鼠鼯鼻齊齐齿龄龍龐龙龚龛龟!()
+ *+,-./0123456789:;?[]~・
+ ¥🍺0123456789aáāàAbBcCdDeéēèěEfFgGhHiıíìIjJkKlLmMnNoóòOpPqQrRsStTuúùüUvVwWxXyÿYzZ$•©–°…□■★─—′↵│”’“‘
+  
+   ⇓⟸⟺⟹⇑⇕↓⤓⇵↧⥡⇃⥙⥑⥠↿⥘⟵⟷⟶⥯⥝⇂⥕⥏⥜↾⥔↑⤒⇅↕⥮↥÷·×⇌⇋⇐⇔⇒⥐⥞↽⥖⥟⇁⥗←⇤⇆↔⥎↤⥚↼⥒↙↘→⇥⇄↦⥛⇀⥓↖↗∀⥰
+
+```
+"""]]

Added a comment
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_1_cb06e8424f277a4062133b1e126fa520._comment b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_1_cb06e8424f277a4062133b1e126fa520._comment
new file mode 100644
index 000000000..e65360bdc
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395/comment_1_cb06e8424f277a4062133b1e126fa520._comment
@@ -0,0 +1,20 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 1"
+ date="2024-03-11T04:56:52Z"
+ content="""
+I found the following unique characters in the file names:
+```
+()_-.
+、《》「」一三上不与丛东中临之乐九习书事二于五些交京人仁介代令件价似体何作侄修债值兒入全八公六其具典养再写农出分划刘別剧劣励勇化北十千华南博卿历原参及变叠古句台史号名吳吴周命和品唐商問器回図国图國圖在地培基堯塔士复夏多大天太女如姪媒子字孟学孫宋宗宝实客家寫寶小少局居屋属屿岛峽州工布帖常干年幽序底庵廣建异式录心忠惯感成所打扫找技把投拳换支政效散数文料方日时明曲書月有期本术杂李杜杨松构枚果架标校梅梦棠棣極楷楼歙止武殳毓比毛氏气水永汉江河治法波注泽洛流测济海測游湾滄漢漫潘澍激点牆片版牝猫献玄王现理用甫电画登白百的目盲真石研硯碑礼社神秦程稱究章童笑笔第筆简算篆籍类紙素經網編红约纪细经结络网罗美翻老考聲臣臨自舟般艺节苔若茅荒著藏蘭虎虚蜜蟹行衛表袁複要觀视言記訪試詩誌語记论试诠语说谷賦质资赋趙路車轼辭还送通過邺部里重野量钓關间附陈院陳陵陸隔雅集音頫题颜風首馬魯鱼鸣鸰鹡黑默齐(),:0125aBcdeFgGhHiklmnorstWyz
+```
+and the following in the file content:
+
+```
+!@#%^&*()_-+=~`{[}]|\<>.,;\"?'/:	
+  ´īūƃǎǐǒǔǝɐɑɔɕəɟɡɥɦɪɯɹɾʇʌʍʎʔʞʰ˥˦˧˨˩̃ᴀᴇ―‧ⅠⅡⅢⅣⅤⅥⅦⅧⅨ↚↛↜↝↞↟↠↡↢↣↨↩↪↫↬↭↮↯↰↱↲↳↴↶↷↸↹↺↻⇇⇈⇉⇊⇍⇎⇏⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟⇠⇡⇢⇣⇦⇧⇨⇩⇪⇫⇬⇭⇮⇯⇰⇱⇲⇳⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬┏┓└├☚☛☜☝☞☟✌✔✪❶❷❸➔➘➙➚➛➜➝➞➟➠➡➢➣➤➥➦➧➨➩➪➫➬➭➮➯➱➲➳➴➵➶➷➸➹➺➻➼➽➾⟰⟱⟲⟳⟴⟻⟼⟿⤀⤁⤂⤃⤄⤅⤆⤇⤈⤉⤊⤋⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤙⤚⤛⤜⤝⤞⤟⤠⤡⤢⤣⤤⤥⤦⤧⤨⤩⤪⤫⤬⤭⤮⤯⤰⤱⤲⤳⤴⤵⤶⤷⤸⤹⤺⤻⤼⤽⤾⤿⥀⥁⥂⥃⥄⥅⥆⥇⥈⥉⥊⥋⥌⥍⥢⥣⥤⥥⥦⥧⥨⥩⥪⥫⥬⥭⥱⥲⥳⥴⥵⥶⥷⥸⥹⥺⥻⥼⥽⥾⥿⬀⬁⬂⬃⬄⬅⬆⬇⬈⬉⬊⬋⬌⬍⬎⬏⬐⬑⬰⬱⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭅⭆⭇⭈⭉⭊⭋⭌⿰、。〈〉《》「」『』【】〔〕あいうえおかがきくけこごさしすずそただちっつてでとなにのはばぶべまみむめもよらるれんアイウェエカクコゴシジスズタダッテトドナニハビピブペボムョラリルレワン・ー䪖一丁七万丈三上下不与丑专且丕世丘丙业丛东丝丞丟丢两严並丧个中丰串临丶丸丹为主丽举乂乃久么义之乌乍乎乏乐乔乖乘乙九乞也习乡书买乱乳乾亀亂了予争事二于亏云互五井亘亚些亞亡亢交亥亦产亨亩享京亭亮亲人亿什仁仅仆仇今介仍从仑仓仔仕他仗付仙仞仡代令以仪们仰仲件价任份仿企伊伍伎伏伐休众优会伛伝伟传伤伦伪伫伯估伴伶伸伺似伽但佇佈佉位低住佐佑体何佗余佚佛作佟你佩佳併佶佺使侃侄來侈例侍供依侠価侣侥侦侧侨侬侮侯侵便係促俄俊俗俘俜保俞俟俠信俦俨俭修俯俱俶俸倉個倍倏們倒倓倖候倚倜借倡倦倨倩倪倫倬倭债值倾偃假偈偉偎偏偕做停健側偵偶偷偻偿傀傅傍傑傒備傥储催傲傳傷傾像僕僚僥僧僮僵價僻儀儂億儉儋儒儕儘儡優儼儿兀允元兄充兆兇先光克免兑兒兔兕党兜兢入內全兩八公六兮兰共关兴兵其具典兹养兼兽冀内円冈冉冊册再冒冕冗写军农冠冢冤冥冫冬冯冰冲决况冷冻净凄准凉凊凋凌凍减凑凛凝几凡凤凫凭凯凰凱凳凶凸凹出击函凿刀刁刃分切刈刊刍刑划列刘则刚创初删判別利刪别刮到制刷券刹刺刻剂剃則削剋剌前剑剔剖剛剜剝剡剥剧剩剪副割剿劇劈劉劍力劝办功加务劣动助努劫劭励劲劳势勁勃勇勉勋勒動勘務勝勞募勤勰勵勸勾勿匀包匆匈匏匕化北匜匝匠匡匪匮匹区医匾匿區十千卅升午半卍华协卑卒卓協单卖南単博卜卞卟占卡卢卣卦卧卫卯印危即却卵卷卻卿厂厄厅历厉压厌厘厚原厢厥厦厨厭厮厲去县参參又叉及友双反发叔取受变叙叛叟叠叢口古句另叩只叫召叭叮可台史右叵叶号司叹吁吃各吅吆合吉吊同名后吏吐向吒吓吕吗君吝吞吟吠否吧吩含听吭吮启吳吴吸吹吼吽吾呀呂呆呈呉告呎呕员呙呜呢呦周呬味呵呻呼命呾呿咀咆和咏咒咖咨咬咯咸咽哀品哄哆哇哈哉响哑哗員哥哦哩哪哭哮哲哳哽唇唎唐唤唧售唯唱唳唵唾啄商啊啍問啕啖啞啟啦啭啮啰啸啼啾喃善喇喉喊喚喜喝喧喪單喷喻嗅嗇嗎嗔嗚嗜嗟嗡嗣嗥嗦嘆嘈嘉嘗嘘嘯嘱嘲嘴嘶噎噜器噩噪噫噶嚇嚎嚣嚩嚯嚴嚶嚼囂囊囍囕囗囘四回因团囥囧囬园困図围固国图囿圃圆圈圉國圍園圓圖團土圣在圭地场圾址均坊坎坏坐坑块坚坛坞坟坠坡坤坦坨坻坼垂垃型垒垓垢垣埃埋城埏埔域埠埵執培基堂堅堆堕堞堡堤堪堮堯報場堵塊塌塑塔塗塘塞填塵墀境墅墉墊墓増墙增墟墨墩墳壁壅壇壑壓壘壞壟士壬壮壯声壳壶壹壺壽处备复夏夐夔夕外夙多夜够夠夢大天太夫夭央失头夷夸夹夺夾奄奇奈奉奋奎奏契奔奖套奘奚奠奢奥奪奮女奴奸她好如妃妄妆妇妍妒妓妖妙妝妣妤妥妨妹妻妾姆姊始姑姓委姚姜姤姥姨姪姬姻姿威娃娄娇娉娑娘娜娟娥娩娱娲娶婀婆婉婕婚婢婦婴婵婷婺婿媒媚媛媲媽嫁嫉嫋嫌嫔嫠嫡嫦嫩嬉嬌嬙嬪嬰孃子孔字存孙孜孝孟季孤学孩孫孮孰學宁它宅宇守安宋完宍宏宓宕宗官宙定宛宜宝实宠审客宣室宦宪宫宮宰害宴宵家宸容宽宾宿寀寂寄寅密寇富寐寒寓寔寘寝寞察寡寤寥實寧寨審寫寬寮寰寵寶寸对寺寻导寿封射将將專尉尊尋對導小少尔尖尘尚尝尤尧就尸尹尺尼尽尾尿局层居屈届屋屍屎屏屐展属屠屡層履屬屯山屹屺屿岁岂岌岐岑岗岘岙岚岛岩岫岭岱岳岸峃峄峡峤峥峦峨峭峯峰島峻峽崇崑崔崖崗崙崛崦崧崩嵇嵊嵋嵘嵩嵬嵯嶷嶺嶼嶽巅巍巒巖巘川州巡巢工左巧巨巩巫差己已巳巴巷巻巾币市布帅帆师希帏帐帖帘帙帚帛帝帥带帧師席帮帰帳帶帷常帻帽幄幅幌幕幟幡幢幫干平年并幷幸幹幻幼幽幾广広庄庆庇床序庐库应底店庙庚府庞废庠度座庫庭庵庶康庸庾廉廊廓廖廟廢廣廪延廷建廻廽廿开弁异弃弄弊弋式弓弔引弗弘弟张弥弦弧弩弭弯弱張強弹强弼彌彎归当录彗彙彝彡形彦彩彪彬彭彰影彷役彻彼彿往征徂径待徇很徊律後徐徒従徕得徘徙從御徨復循徭微徴徵德徹徽心必忆忉忌忍忒志忘忙忝忠忤忧快忱念忼忽忿怀态怂怅怆怎怒怕怖怛怜思怠怡急性怨怪怯总恁恃恆恉恋恍恐恒恕恚恢恣恤恥恨恩恪恬恭息恰恳恶恺恻恼恽恿悄悅悉悔悕悖悚悟悠患悦您悪悬悭悯悲悴悶悸悼悽情惆惇惊惋惑惘惛惜惟惠惡惧惨惫惭惮惯惰想惶惹惺惻愀愁愈愍意愚愛感愤愦愧愴愿慈態慌慎慑慕慘慢慧慨慮慰慵慶慷慼憂憍憎憑憔憤憨憩憶憾懂懈應懋懐懒懷懸懼懿戈戉戊戌戍戎戏成我戒戕或战戚戟截戬戮戰戲戳戴戶户戾房所扁扃扇扉手扌才扎扑打扔托扣执扩扪扫扬扭扰扶批扼找承技抄抉把抑抒抓投抖抗折抚抢护报披抬抱抵抹押抽拂担拆拉拋拍拏拒拓拔拖拗拘拙招拜拟拢拣拥拦拨择括拭拱拳拼拽拾拿持挂指按挎挑挖挟挠挡挥挨挫振挲挹挺挽挾捃捆捉捋捕损换捣捧捨据捲捶捷捺捻掃掇授掉掌掎排掖掗掘掛掠探掣接控推掩措掬掷掺掾揄揆描提插揖揚換握揣揭揮援揽搂搅搇搏搔搖搛搜搞搭携摄摆摇摈摊摘摜摧摩摭摸摹摺撇撑撒撕撤撥播撰撲撷撼擁擂擅擇擊擋操擎擒擔擘據擠擡擦擬擾攀攒攘攜攝攞攤攫攬支收攸改攻放政故效敌敏救敕敖敗敘教敛敝敞敢散敦敬数敲整敵敷數斂文斋斌斎斐斑斕斗料斛斜斝斡斤斥斧斩斫斬断斯新斷方於施旁旃旄旅旆旋旌族旒旗无既日旦旧旨早旬旭旰旱时旷旼昂昃昆昉昊昌明昏易昔昕昙星映春昧昨昪昭是昶昼昽显晁時晃晉晋晏晓晔晕晖晚晝晦晨普景晰晴晶智暂暇暈暉暑暖暗暝暮暴曆曉曙曚曛曜曝曠曦曩曰曲曳更曷書曹曼曾替最會朆月有朋服朔朕朗望朝期木未末本札术朱朴朵机朽杀杂权杆杉杌李杏材村杖杙杜杞束条来杨杪杭杯杰東杲杳杵杷松板极构枇枉析枕林枚果枝枢枣枥枪枫枯枳架枷柄柏某染柔柚柞查柬柯柰柱柳柴査栀标栈栊栋栎树栖栗校株样核根格栾桂桃框案桌桐桑桓桢档桥桩桷梁梅梆梓梗條梢梦梧梨梭梯械梳梵检棋棍棒棓棘棚棠棣森棱棹棻植椎椒楂楊楚楞楠楫業楯極楷楸楹楼楽概榆榕榖榜榭榮榴榻槃槊構槌槍槎槐槛槥槽槿樂樊樓標樞模樣権横樯樱樵樸樹樽樾橋橐橘橙機橫檀檄檐檔檗檢檻櫆櫓欄權欒欠次欢欣欤欧欲欺款歇歈歉歋歌歐歔歙歛歡止正此步武歧歪歲歷歸死歼殁殃殆殉殊残殒殖殘殳段殷殺殿毀毁毂毅毋母每毒毓比毕毖毗毙毛毡毫毳氈氏氐民气氛氢氣水氵永汀汁求汇汉汊汏汗汝江池污汤汨汪汰汲決汽汾沁沃沈沉沌沐沒沓沖沙沚沛沟没沤沦沧沪沫沬沮沱河沸油治沼沽沾沿況泄泉泊泌泐法泗泛泠泡波泣泥注泪泯泰泷泻泼泽泾洁洄洇洋洎洒洗洙洛洞津洪洮洲洵洹活洽派流浅浆浇浊测济浏浑浒浓浔浙浚浣浦浩浪浮浴海浸涂涅涇消涉涌涎涓涕涛涣涤润涧涨涩涯液涵涼淀淄淆淋淌淑淘淚淡淨淩淫淮深淳淵混淸淹淺添淼清渊渌渎渐渔渕渗渙渚減渠渡渣渧温測渭港渴游渺渾湍湓湖湘湛湣湯湾湿溃溅源準溜溝溟溢溥溧溪溫溯溶溺溼滁滂滄滅滋滌滑滓滔滚滞滟满滥滨滩滴滸滾滿漂漆漏漓演漠漢漫漱漳漸漾潇潔潘潛潜潢潤潦潭潮潷潸潺潼潽澀澂澄澆澈澍澗澜澤澳澶澹激濁濃濑濟濡濤濮濯濱瀉瀏瀑瀚瀛瀴灌灏灑灘灞灣火灭灯灰灵灶灼災灾炉炊炎炙炜炫炬炭炮炯炳炸点為炼炽烁烂烈烊烏烛烜烝烟烦烧烬热烹烽焉焕焘焚無焦焰然煊煌煎煒煕煙煜煠照煩煮熄熊熏熔熙熟熬熱熹燃燈燎燒燕營燥燭燮燾爆爇爍爨爪爬爭爰爱爲爵父爹爺爽爾爿牆片版牋牌牍牒牖牘牙牛牝牟牡牢牧物牲牵特牽犀犁犊犍犒犢犬犯状犹狂狄狐狒狗狙狠狩独狭狮狱狷狸狹狻狼猊猎猕猖猗猛猜猩猫猬献猱猴猶猷猿獄獎獗獨獲獵獸獻玄率玉王玑玘玛玩环现玲玳玷玺玻珂珅珈珊珍珑珞珠珣珥珪班珰珶現球琅理琉琐琚琛琥琦琪琬琮琰琳琴琵琶琼瑀瑁瑅瑆瑕瑗瑙瑚瑛瑜瑞瑟瑢瑰瑶璀璃璇璊璋璎璐璚璜璟璠璣璧璫環瓌瓘瓜瓢瓣瓦瓯瓶瓿甑甗甘甚生產用甫田由甲申电男甸町画畅畋界畏畔留畜畝畢略番畫畬異畴當疆疇疊疏疑疗疙疟疠疣疫疮疯疱疲疴疵疾病症痈痒痕痛痰痴瘀瘁瘋瘗瘦瘩瘴瘿癌癡癲癸登發白百的皆皇皈皋皎皓皦皮皱皴盂盈盉益盍盐监盒盔盖盗盘盛盜盟盡監盤盨盪目盱盲直相盼盾省眄眇眉看眙真眠眦眩眵眷眸眺眼眾着睇睐睛睡睢督睦睹睺睽睿瞒瞞瞥瞩瞬瞭瞻瞿矛矜矟矢矣知矩矫短矮矯石矶矾矿码砂砍研砖砚砧破砸砺砾础硕硖硬确硯碍碎碑碓碗碛碣碧碩碰確碼碾磁磊磋磐磔磕磨磬磴磻示礼社祀祁祇祈祐祖祗祚祛祜祝神祠祥票祭祯祷祸祺祿禀禁禄禅禋禍禎福禛禧禪禮禱禹离禽禾秀私秉秋种科秕秘租秣秦秩积称移秽秾稀稅程稍税稚稠種稱稳稷稹稻稼稽稿穀穆積穎穡穰穴究穷穹空穿突窃窄窈窍窕窗窜窟窠窣窥窦窩窭窮竈立竑竖站竞竟章童竦竭端競竹竺竿笃笈笋笑笔笙笛笠符第笳笺笼筆等筋筌筍筏筐筑筒答策筚筝筠筱筴筵筹签简箇箍箐箔箕算箜管箧箫箭箱箴箸節篁範篆篇築篌篡篤篥篦篮篱簇簋簌簟簠簡簧簪簾簿籀籁籃籍籠籤米类粉粒粗粘粝粟粪粮粱粲粳精糊糒糕糖糙糜糟糠糧系糾紀約紅紆紈紋納純紙級紛素紡索紧紫紬紮累細紹終組結絕絜絡絣給絮統絲絳絶絺綌綏經続綜綠綦綬維綱網綴綵綺綽綿緊線緣編緩縛縝縠縣縫縱縻總績繁繇織繞繡繩繪繼纂續纏纓纔纟纠纡红纤纥约级纨纩纪纫纬纯纱纲纳纵纶纷纸纹纺纽线练组绅细织终绍绎经绑结绕绘给绛络绝绞统绡绢绣继绩绪续绮绰绳维绵绶综绿缀缄缅缈缊缎缓缔缕编缘缙缚缜缝缟缠缥缨缩缮缰缴缶缺罌罍网罔罕罗罘罚罡罢罥罪置罰署罳罴罷罽羁羅羈羊羌美羔羚羝羞羡羣群義羯羲羸羹羼羽羿翁翅翊翎習翔翘翟翠翡翥翦翩翫翰翱翳翻翼耀老考者耆而耐耒耕耗耘耨耳耶耸耻耽耿聂聆聊职联聖聘聚聞聪聯聲聳職聽聿肃肅肆肇肉肌肖肘肚肝肠股肢肤肥肩肪肯肱育肴肺肾肿胀胁胃胄胆背胎胖胜胝胞胡胤胥胭胶胸能脁脂脆脉脊脍脏脑脓脚脫脯脱脸脾腊腐腔腕腥腦腰腳腴腸腹腻腾腿膏膑膚膛膜膝膨膳膺臂臆臉臊臣臥臧臨自臭至致臺臻臼臾舅舆與興舉舊舌舍舒舛舜舞舟航舫般舰船艇艘艮良艰色艳艷艺艾节芋芍芒芙芜芝芥芦芬芭花芳芸芹芽芾苇苍苏苑苒苓苔苕苗苞苟若苦英苹苾茂范茄茅茉茕茗茜茧茨茫茭茱茲茵茶茹荀荃荆荇草荊荏荐荒荔荟荠荡荣荤荦荩荪荫药荷荻荼莂莉莊莎莓莫莱莲获莹莺莽菁菊菌菏菜菠菡菩華菱菲菼萃萄萋萌萍萏萝萤营萦萧萨萬萱萸落葉著葛葡董葦葬葭葱葳葵蒋蒙蒜蒲蒸蒹蒺蒼蒿蓂蓄蓉蓋蓐蓑蓓蓖蓝蓟蓬蓮蔓蔗蔚蔡蔥蔬蔭蔷蔺蔻蔼蔽蕃蕅蕉蕖蕙蕤蕨蕩蕪蕭蕴薄薇薑薛薜薦薪薮薰藁藉藍藏藐藓藕藜藝藤藥藩藻藿蘅蘇蘖蘧蘭蘸虎虏虐虑虔處虚虛虞號虢虧虫虬虹虺虻虽虾蚁蚊蚕蛄蛇蛉蛋蛑蛟蛤蛭蛮蛰蛾蜀蜂蜊蜒蜓蜕蜚蜜蜞蜡蜻蜾蜿蝉蝌蝎蝗蝙蝠蝤蝥蝴蝶蝼螂螃融螟螢螭螳螺螻蟆蟛蟠蟪蟬蟲蟹蟻蟾蠃蠕蠟蠡蠲蠻血衄行衍衒術衔街衛衝衞衡衢衣衤补表衫衮衰衷衾袁袂袅袆袈袋袍袖袛袜被袭袷袿裁裂装裆裏裔裕裘裙補裝裟裡裤裱裳裴裸裹製裾複褊褒褚褥褶襃襄襟襦襲西要覃覅覆見規視親覺覽觀见观规觅视览觉觌角觚觞解觥触觴觶言訂訇計訊討訓託記訪設許訴註訾詈詐詒詔詞詠詢試詩話該詳詹誅誉誊誌認誐誓誕誘誚語誠誡誤說説誰誼調談請論諠諧諫諭諸諾謀謂謊謙講謝謠謹證譏識譜警譬譯議護譽讀變讒讓讚计订认讥讨让讫训议讯记讲讳讴讵讷许讹论讼讽设访诀证诂诃评识诈诉词诏译诒试诗诘诚诛话诞诠诡询诣诤该详诬语诮误诰诱诲诳说诵请诸诺读课谁调谄谈谊谋谎谏谑谒谓谕谗谙谛谟谢谣谤谥谦谨谪谬谭谱谶谷谿豆豈豎豐豔豕豚象豪豫豳豸豹豺貂貊貌貒貓貔貞負財貢販責貳貴貶買貺費貽賀資賈賊賑賓賜賞賢賣賤賦質賴贈贏贖贝贞负贡财责贤败账货质贩贪贫贬购贮贯贱贲贴贵贸费贺贻贼贾资赅赈赊赋赌赎赏赐赓赖赛赞赠赡赢赤赦赫赭走赳赴赵赶起趁超越趋趕趙趟趣趯足趴趺跂跃跋跌跎跏跑跖跛距跟跡跢跨跪路跳践踉踊踌踏踐踞踟踢踩踪踵蹄蹇蹈蹉蹋蹌蹑蹙蹟蹤蹬蹰蹲蹴躁躇躍身躬躯躲躺車軍軟軨軸軻軼軾較載輔輕輛輜輝輦輩輪輯輶輸輹輿轂轅轉轘轟车轨轩转轮软轰轲轴轶轻轼载较辄辅辆辇辈辉辋辍辐辑输辔辕辗辙辚辛辜辞辟辦辨辩辭辰辱農边辽达迁迄迅过迈迎运近返还这进远违连迟迢迤迥迦迨迪迫迭迮述迳迴迷迸迹追退送适逃逆选逊逍透逐递途逗這通逛逝逞速造逡逢連逥逦逮逯週進逵逶逸逻逼逾遁遂遇遊運遍過遏遐遑道達違遗遙遝遞遠遣遥遨適遭遮遴遵遷選遺遼遽避邀邃還邇邈邊邐邑邓邕邙邛那邦邪邬邮邱邵邸邹邺邻郁郊郎郑郙郜郝郡郢部郭郵都郾郿鄂鄄鄉鄙鄞鄢鄧鄭鄰鄹酉酋酌配酒酣酤酥酪酬酵酶酷酸酺酿醅醇醉醍醐醒醜醪醫醯醴釀采释釋里重野量金釘釜針釣釿鈃鈕鈞鈴鈹鉄鉅鉞鉤鉦鉴銀銅銘銮銳銷鋒鋤鋪鋭鋼錄錢錦錬鍑鍾鎖鎧鎮鎳鏃鏈鏊鏐鐃鐏鐓鐘鐙鐵鐸鑄鑑鑒鑣鑫鑲针钉钓钗钜钝钞钟钢钤钥钦钧钩钮钱钴钵钺钻钿铁铃铄铅铎铙铜铢铨铭铮银铸铺链销锁锄锅锋锐错锡锤锥锦键锯锳锴锺镀镇镌镜镠镦镬镰長长門閃閉開閏閑閒間関閣閦閱閶闆闇闊闔闕闖關门闪闭问闯闰闱闲间闷闹闺闻闼闽闾阁阅阇阊阎阐阑阔阖阗阙阜阝队阪阮防阳阴阵阶阻阿陀附际陆陇陈陋陌降限陔陕陛陟陡院陣除陨险陪陰陲陳陵陶陷陸険陽隅隆隈隊隋階随隐隑隔隗隘隙障隨險隱隳隴隶隷隸隹隻难雀雁雄雅集雉雋雌雍雏雕雖雙雜雞離難雦雨雪雲雳零雷雹電雾需霁霄霆震霉霍霏霑霓霖霜霞霧霭露霸霹霾靄靈靑青靓靖静靜非靠靡面靥革靳靴鞋鞍鞘鞞鞠鞭鞮韋韓韡韦韩韬韭音韵韻響頁頂頃項順須頌預頑頒頓頗領頞頫頭顆題顏顔顗願顙顛類顧顫顯顰顱页顶顷项顺须顽顾顿颀颁颂预领颇颈颉颍颐频颔颖颗题颜额颠颡颢颦風颻飄飆飈风飒飕飖飘飙飛飞食飢飧飫飮飯飲飽飾養餍餐餓餘館饈饒饗饥饪饫饭饮饯饰饱饶饷饿馀馆馈馐馑馔首香馨馬馮馱馳馺駅駒駕駝駟駣駬駭駵駿騄騎騏騑騰騶騾驅驊驗驚驛驟驢驤驥驩驪马驭驮驰驱驳驴驷驹驻驼驾驿骁骂骄骅骆骇骊骋验骏骑骓骖骗骘骚骝骞骢骤骥骧骨骸骾髅髑髓體高髡髣髮髯髴髻鬃鬆鬓鬘鬟鬣鬥鬧鬨鬱鬲鬼魂魄魅魏魑魔魚魯鮫鮮鱗鱼鲁鲍鲜鲤鲳鲵鲷鲸鳅鳌鳞鳥鳳鳴鴉鴻鵝鵾鷹鸟鸠鸡鸣鸥鸦鸭鸯鸰鸳鸵鸷鸽鸾鸿鹁鹂鹃鹄鹅鹉鹊鹏鹗鹙鹜鹡鹤鹦鹧鹫鹭鹰鹳鹹鹽鹿麒麓麗麝麟麥麦麻麼麾黃黄黍黎黑黔默黛黜點黨黪黯黻黼黾鼇鼉鼍鼎鼐鼓鼕鼙鼠鼯鼻齊齐齿龄龍龐龙龚龛龟!()*+,-./0123456789:;?[]~・¥🍺0123456789aáāàAbBcCdDeéēèěEfFgGhHiıíìIjJkKlLmMnNoóòOpPqQrRsStTuúùüUvVwWxXyÿYzZ$•©–°…□■★─—′↵│”’“‘ ⇓⟸⟺⟹⇑⇕↓⤓⇵↧⥡⇃⥙⥑⥠↿⥘⟵⟷⟶⥯⥝⇂⥕⥏⥜↾⥔↑⤒⇅↕⥮↥÷·×⇌⇋⇐⇔⇒⥐⥞↽⥖⥟⇁⥗←⇤⇆↔⥎↤⥚↼⥒↙↘→⇥⇄↦⥛⇀⥓↖↗∀⥰
+```
+Does anything look bad?
+
+"""]]

done
diff --git a/doc/todo/include_page_variable_in_base_templates.mdwn b/doc/todo/include_page_variable_in_base_templates.mdwn
index 1aed79683..33363e7bd 100644
--- a/doc/todo/include_page_variable_in_base_templates.mdwn
+++ b/doc/todo/include_page_variable_in_base_templates.mdwn
@@ -45,3 +45,24 @@ you're not alone: I think this is very similar to [[forum/how_to_put_a_permalink
 
 I agree! Perhaps a subroutine that enumerated them all and a plugin to expose it or something.
 I definitely wold find that useful too. *­— [[Jon]], 2020-07-21*
+
+---
+
+[[done]]. To address [[forum/how_to_put_a_permalink_on_each_post]], I'm considering
+something like this, rather than a separate plugin approach, but I'm not settled on
+the name 'permalink' for it:
+
+```
+--- a/IkiWiki/Render.pm
++++ b/IkiWiki/Render.pm
+@@ -123,6 +123,8 @@ sub genpage ($$) {
+ 
+ 	$template->param(
+ 		page => $page,
++		permalink => urlto($page,"",1),
+ 		title => $page eq 'index' 
+ 			? $config{wikiname} 
+ 			: pagetitle(basename($page)),
+```
+
+ *­— [[Jon]], 2024-03-08*

download: organize the BSD section.
diff --git a/doc/download.mdwn b/doc/download.mdwn
index 4e54326ca..602715d10 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -28,12 +28,16 @@ own RPM.
 
 ## BSD ports
 
-NetBSD, Mac OS X, Solaris, and many other platforms: [pkgsrc](http://www.pkgsrc.org/) has an [ikiwiki package](http://pkgsrc.se/www/ikiwiki).
+NetBSD, Mac OS X, Solaris, and many other platforms:
+[pkgsrc](http://www.pkgsrc.org/) has an [ikiwiki package](http://pkgsrc.se/www/ikiwiki).
+`make install` to build from source, or on platforms with binary packages available:
 
-pkg install -U ikiwiki
+        pkg_add ikiwiki
 
 FreeBSD has ikiwiki in its
-[ports collection](http://www.freshports.org/www/ikiwiki/).
+[ports collection](http://www.freshports.org/www/ikiwiki/):
+
+        pkg install -U ikiwiki
 
 ## Other packages
 

Update maintainers, use a template
Update the list of maintainers. Thank you Simon McVittie for all your
work on IkiWiki!
Define a [[template/maintainers]] template; include it on [[contact]]
and [[security]] to avoid repeating ourselves.
diff --git a/doc/contact.mdwn b/doc/contact.mdwn
index 5ac6d4d2e..e348fc697 100644
--- a/doc/contact.mdwn
+++ b/doc/contact.mdwn
@@ -11,9 +11,5 @@ You could also drop by the IRC channel `#ikiwiki` on
 
 However, if you find a new security vulnerability, please email the maintainers
 privately instead of raising it in a public medium, so that we can
-arrange for coordinated disclosure when a fix is available. The maintainers
-are [[Joey Hess|joey]] (<joey@kitenet.net>),
-[[Simon McVittie|smcv]] (<smcv@debian.org>),
-[[Amitai Schleier|schmonz]] (<schmonz-web-ikiwiki@schmonz.com>)
-and
-[[Jonathan Dowland|jon]] (<jmtd@debian.org>).
+arrange for coordinated disclosure when a fix is available.
+[[!template id=maintainers]]
diff --git a/doc/security.mdwn b/doc/security.mdwn
index fcc33fd48..1d33c0005 100644
--- a/doc/security.mdwn
+++ b/doc/security.mdwn
@@ -6,10 +6,8 @@ to be kept in mind.
 
 If you find a new security vulnerability, please email the maintainers
 privately instead of listing it in a public bug tracker, so that we can
-arrange for coordinated disclosure when a fix is available. The maintainers
-are [[Joey Hess|joey]] (<joey@kitenet.net>),
-[[Simon McVittie|smcv]] (<smcv@debian.org>)
-and [[Amitai Schleier|schmonz]] (<schmonz-web-ikiwiki@schmonz.com>).
+arrange for coordinated disclosure when a fix is available.
+[[!template id=maintainers]]
 
 [[!toc levels=2]]
 
diff --git a/doc/templates/maintainers.mdwn b/doc/templates/maintainers.mdwn
new file mode 100644
index 000000000..19da7fceb
--- /dev/null
+++ b/doc/templates/maintainers.mdwn
@@ -0,0 +1,6 @@
+The maintainers
+are [[Joey Hess|joey]] (<joey@kitenet.net>),
+[[Amitai Schleier|schmonz]] (<schmonz-web-ikiwiki@schmonz.com>)
+and
+[[Jonathan Dowland|jon]] (<jmtd@debian.org>).
+

add reviewed patch count
diff --git a/doc/patch.mdwn b/doc/patch.mdwn
index 1941bf806..4d19de416 100644
--- a/doc/patch.mdwn
+++ b/doc/patch.mdwn
@@ -15,7 +15,7 @@ There are [[!pagecount pages="""
 (todo/* or bugs/*) and link(patch) and !link(bugs/done) and
 !link(todo/done) and !link(reviewed) and !*/Discussion
 """
-]] unreviewed patches:
+]] unreviewed patches and [[!pagecount pages="tagged(reviewed)"]] [[reviewed patches|reviewed]].
 
 [[!inline pages="(todo/* or bugs/*) and link(patch) and !link(bugs/done) and
 !link(todo/done) and !link(reviewed) and !*/Discussion" rootpage="todo" archive="yes"]]

add page count
diff --git a/doc/reviewed.mdwn b/doc/reviewed.mdwn
index 4c4db1eb8..a25bf25e4 100644
--- a/doc/reviewed.mdwn
+++ b/doc/reviewed.mdwn
@@ -3,4 +3,10 @@ shows up here, the ball is back in your court, to respond to the review and
 deal with whatever is preventing it from being merged into ikiwiki. Once
 you do, remove the "reviewed" tag.
 
+There are [[!pagecount pages="tagged(reviewed)"]] reviewed [[patch]]es and [[!pagecount pages="""
+(todo/* or bugs/*) and link(patch) and !link(bugs/done) and
+!link(todo/done) and !link(reviewed) and !*/Discussion
+"""
+]] [[unreviewed patches|patch]]
+
 [[!inline pages="tagged(reviewed)" show=0 archive=yes]]

bugs/done seems to be a done marker as well, add counts
diff --git a/doc/users/anarcat.mdwn b/doc/users/anarcat.mdwn
index d9391eafc..5eff5ac89 100644
--- a/doc/users/anarcat.mdwn
+++ b/doc/users/anarcat.mdwn
@@ -1,41 +1,35 @@
 See <https://anarc.at/>. I have home pages like this on tons of other wikis including [MoinMoin](https://moinmo.in/TheAnarcat), [Wikipedia](https://en.wikipedia.org/wiki/User:TheAnarcat) and [Koumbit](https://wiki.koumbit.net/TheAnarcat).
 
-[[!toc]]
+[[!toc levels=2]]
 
-Submitted patches
-=================
+# Submitted patches ([[!pagecount pages="tagged(patch) and link(users/anarcat) and !link(bugs/done) and !link(todo/done)"]])
 
-[[!inline pages="tagged(patch) and link(users/anarcat) and !link(todo/done)" sort=mtime feeds=no actions=yes archive=yes show=0]]
+[[!inline pages="tagged(patch) and link(users/anarcat) and !link(bugs/done) and !link(todo/done)" sort=mtime feeds=no actions=yes archive=yes show=0]]
 
-## Done
+## Done ([[!pagecount pages="tagged(patch) and link(users/anarcat) and (link(todo/done) or link(bugs/done))"]])
 
-[[!inline pages="tagged(patch) and link(users/anarcat) and link(todo/done)" sort=mtime feeds=no actions=yes archive=yes show=0]]
+[[!inline pages="tagged(patch) and link(users/anarcat) and (link(todo/done) or link(bugs/done))" sort=mtime feeds=no actions=yes archive=yes show=0]]
 
-
-My todos
-========
+# My todos ([[!pagecount  pages="todo/* and !todo/done and !link(todo/done) and link(users/anarcat) and !todo/*/* and !tagged(patch)"]])
 
 ... or the ones I commented it, to be more precise.
 
 [[!inline pages="todo/* and !todo/done and !link(todo/done) and
 link(users/anarcat) and !todo/*/* and !tagged(patch)" sort=mtime feeds=no actions=yes archive=yes show=0]]
 
-Done
-----
+## Done ([[!pagecount pages="todo/* and !todo/done and link(todo/done) and link(users/anarcat) and !todo/*/* and !tagged(patch)"]])
 
 [[!inline pages="todo/* and !todo/done and link(todo/done) and
 link(users/anarcat) and !todo/*/* and !tagged(patch)" feeds=no actions=yes archive=yes show=0]]
 
-My bugs
-=======
+# My bugs ([[!pagecount  pages="bugs/* and !bugs/done and !link(bugs/done) and link(users/anarcat) and !bugs/*/* and !tagged(patch)"]])
 
 ... same.
 
 [[!inline pages="bugs/* and !bugs/done and !link(bugs/done) and
 link(users/anarcat) and !bugs/*/* and !tagged(patch)" sort=mtime feeds=no actions=yes archive=yes show=0]]
 
-Fixed
------
+## Fixed ([[!pagecount pages="bugs/* and !bugs/done and link(bugs/done) and link(users/anarcat) and !bugs/*/* and !tagged(patch)"]])
 
 [[!inline pages="bugs/* and !bugs/done and link(bugs/done) and
 link(users/anarcat) and !bugs/*/* and !tagged(patch)" feeds=no actions=yes archive=yes show=0]]

remove link to my homepage for a patch i didn't write (thanks for the heads up though!), comment
diff --git a/doc/bugs/Commonmark_support.mdwn b/doc/bugs/Commonmark_support.mdwn
index 01c38e16a..c2f66c200 100644
--- a/doc/bugs/Commonmark_support.mdwn
+++ b/doc/bugs/Commonmark_support.mdwn
@@ -38,7 +38,17 @@ Patch: <https://github.com/jmtd/ikiwiki/commit/c76eeac8152604ce3d7d1672fe404c8ee
 >    available, would take precedence. Is this reasonable?
 > 2. Should one be able to explicitly force Commonmark, like one can with multimarkdown and Discount?
 > 3. I'd not use `gettext` in the debug print now.
-> 4. I need to double check why I've used `->` instead of `::` (thanks [[users/anarcat]])
+> 4. I need to double check why I've used `->` instead of `::` (thanks anarcat)
 > 5. Per [[smcv]]'s comment above, what's the status of the Commonmark library in Debian now?
 >
 > &mdash; *[[Jon]], 2024-02-22*
+
+> > I'd say:
+> > 
+> > 1. yes, new implementations should be deprioritised unless a strong rationale is given.
+> > 2. That would be great, but I wouldn't make that a blocker.
+> > 3. no opinion
+> > 4. nod
+> > 5. as far as I can tell from my [magic script](https://gitlab.com/anarcat/scripts/-/blob/a6dbda602d8d8e9c0ef810d308e35a09ff538836/in-debian), neither `libcmark` or `libperl-commonmark` are packaged. There isn't even a WNPP bug. I do wonder if that's a criteria for inclusion though; I wouldn't keep code away merely because it's not in Debian. (What *is* our criterion, actually? I'd say "unit tests and integration in CI", but, while we have the former, we don't have the latter, and not having Debian package might make testing this harder.... )
+> > 
+> > -- anarcat

download: mention Homebrew Tap
diff --git a/doc/download.mdwn b/doc/download.mdwn
index 777cd326c..4e54326ca 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -42,3 +42,5 @@ Gentoo has an [ebuild](http://bugs.gentoo.org/show_bug.cgi?id=144453) in its bug
 The [openSUSE Build Service](http://software.opensuse.org/search?baseproject=ALL&p=1&q=ikiwiki) has packages for openSUSE
 
 A [PKGBUILD for Arch Linux](https://aur.archlinux.org/packages/ikiwiki/) is in the AUR.
+
+A basic [Homebrew](https://brew.sh) Tap is available at <https://github.com/naosnz/homebrew-ikiwiki> ([[discussion|forum/Can someone add Ikiwiki in Homebrew?]])

remove broken links to ancient Debian/Ubuntu backports
diff --git a/doc/download.mdwn b/doc/download.mdwn
index 3890df9f2..777cd326c 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -19,13 +19,6 @@ To install with [apt](http://www.debian.org/doc/manuals/debian-reference/ch02.en
 
 Or download the deb from <http://packages.debian.org/unstable/web/ikiwiki>.
 
-There is a backport of a recent version of ikiwiki for Debian 5.0 at
-<http://packages.debian.org/lenny-backports/ikiwiki>.
-
-There is also an unofficial backport of ikiwiki for Ubuntu Jaunty, provided by
-[[Paweł_Tęcza|users/ptecza]],
-at [http://gpa.net.icm.edu.pl/ubuntu/](http://gpa.net.icm.edu.pl/ubuntu/index-en.html).
-
 ## RPM packages
 
 Fedora versions 8 and newer have RPMs of ikiwiki available.

mention Fedora package
diff --git a/doc/setup.mdwn b/doc/setup.mdwn
index 8b2334508..2d3b54139 100644
--- a/doc/setup.mdwn
+++ b/doc/setup.mdwn
@@ -5,7 +5,10 @@ This tutorial will walk you through setting up a wiki with ikiwiki.
 ## Install ikiwiki
 
 If you're using Debian or Ubuntu, ikiwiki is an <code><a href="http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_basic_package_management_operations">apt-get</a> install ikiwiki</code> away.
-If you're not, see the [[download]] and [[install]] pages.
+
+For those using Fedora, [IkiWiki is available as Fedora package](https://packages.fedoraproject.org/pkgs/ikiwiki/ikiwiki/).
+
+Otherwise, see the [[download]] and [[install]] pages.
 
 You may also want to try out IkiWiki in a [[container|containers]].
 

review meta data / Date::Manip patch
diff --git a/doc/todo/more_flexibility_in_the_date_parameter_for_the_meta_plugin.mdwn b/doc/todo/more_flexibility_in_the_date_parameter_for_the_meta_plugin.mdwn
index 643e2ff1a..4f8974516 100644
--- a/doc/todo/more_flexibility_in_the_date_parameter_for_the_meta_plugin.mdwn
+++ b/doc/todo/more_flexibility_in_the_date_parameter_for_the_meta_plugin.mdwn
@@ -35,3 +35,22 @@ luke@schierer@opus001:~/src/ikiwiki/ikiwiki$
 
 [[!tag patch]]
 
+> Thanks for the patch! I've [[!taglink reviewed]] it, and here's what I think.
+>
+> I can see the value of accepting more date formats for the field. But, I'd
+> like to see some concrete examples of useful forms that are not currently
+> accepted: both in terms of user-facing documentation (update
+> [[ikiwiki/directive/meta]]; in particular references to [[!cpan TimeDate]])
+> and test coverage (`./t/meta.pl`).
+> 
+> The cost of this feature is an additional dependency on the relevant Perl
+> module Debian package `libdate-manip-perl`, ~11.7MiB). Therefore, part of
+> evaluating the patch is weighing up the costs and benefits. Spelling out the
+> benefits better would help me.
+>
+> If/when that's done, that new [[!cpan Date::Manip]] dependency should be
+> recorded explicitly in the right places, which raises the question: what are
+> the right places? I think `Bundle/Ikiwiki.pm` needs updating, perhaps other
+> places (ignore `ikiwiki.spec` and `debian/*` for now).
+> 
+>  *&mdash; [[Jon]], 2024-03-07*

fixed running tests (user error). LGTM
diff --git a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
index 3b6720fbe..aab4efd33 100644
--- a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
+++ b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
@@ -27,3 +27,7 @@ not ok 126
 > I'm going to look at this a little closer as I'd like to merge it, perhaps I can resolve
 > this problem.
 > (existing test 119 fails for me on master, too) *&mdash; [[Jon]], 2024-03-06*
+>> Ah, wrong `PERL5LIB`. I've verified your new tests fail in `master`; pass in your
+>> branch rebased on current master and also pass on top of Buster's ikiwiki/po4a
+>> version. Since that's now `oldoldstable`, if this is the lower boundary of "works",
+>> I'm OK with that. Applied, thank you! [[done]]. *&mdash; [[Jon]], 2024-03-06*

respond: tested, a problem
diff --git a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
index f6603e33c..3b6720fbe 100644
--- a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
+++ b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
@@ -8,3 +8,22 @@ This branch adds a test case that fails on current `master`.
 That test case passes from my branch on Debian sid with po4a 0.55 (Buster), 0.62 (Bullseye), and 0.66 (sid).
 
 [[!template id=gitbranch branch=intrigeri/po-fix-utf8 author="[[intrigeri]]"]]
+
+> Testing these patches on current master with po4a 0.69 and the second new test fails for me
+
+```
+not ok 126
+#   Failed test at t/po.t line 533.
+#                   '<p>Tails takes  hour to install</p>
+# '
+#     doesn't match '(?^usx:
+# 	.*
+# 	L'installation\sde\sTails\sdure\s\sheure
+# 	.*
+# )'
+1..126
+```
+
+> I'm going to look at this a little closer as I'd like to merge it, perhaps I can resolve
+> this problem.
+> (existing test 119 fails for me on master, too) *&mdash; [[Jon]], 2024-03-06*

Add myself to contact.mdwn
diff --git a/doc/contact.mdwn b/doc/contact.mdwn
index afcc67765..5ac6d4d2e 100644
--- a/doc/contact.mdwn
+++ b/doc/contact.mdwn
@@ -13,5 +13,7 @@ However, if you find a new security vulnerability, please email the maintainers
 privately instead of raising it in a public medium, so that we can
 arrange for coordinated disclosure when a fix is available. The maintainers
 are [[Joey Hess|joey]] (<joey@kitenet.net>),
-[[Simon McVittie|smcv]] (<smcv@debian.org>)
-and [[Amitai Schleier|schmonz]] (<schmonz-web-ikiwiki@schmonz.com>).
+[[Simon McVittie|smcv]] (<smcv@debian.org>),
+[[Amitai Schleier|schmonz]] (<schmonz-web-ikiwiki@schmonz.com>)
+and
+[[Jonathan Dowland|jon]] (<jmtd@debian.org>).

done
diff --git a/doc/todo/add_geo_uri_scheme.mdwn b/doc/todo/add_geo_uri_scheme.mdwn
index 5491dbb6e..665d04790 100644
--- a/doc/todo/add_geo_uri_scheme.mdwn
+++ b/doc/todo/add_geo_uri_scheme.mdwn
@@ -18,3 +18,5 @@ modified   IkiWiki/Plugin/htmlscrubber.pm
 """]]
 
 -- [[anarcat]]
+
+> [[done]]! *&mdash; [[Jon]], 2024-03-05*

done
diff --git a/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn b/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn
index 37f69fbcc..defdd7a81 100644
--- a/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn
+++ b/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn
@@ -1,3 +1,5 @@
 [[!template  id=gitbranch branch=anarcat/recent-changes-plain-url author="[[anarcat]]"]]
 
 After turning off CGI on my wiki, I was surprised to find out that the RSS feed was basically broken. I was relying on the feed to fetch the list of recently changed pages to feed into a link checker, an archiver, and so on, but now I only get links to anchors inside the recent changes page. Boooring. ;) Here's a patch to restore this functionality which was dropped, possibly mistakenly, in 2008 (!). -- [[anarcat]]
+
+> This looks good to me. [[done]]. *&mdash; [[Jon]], 2024-03-05*

Revert "Revert "whoops, bug already fixed.""
I've finished confusing myself.
A different, but similar bug was fixed and shipped in 3.20200202.3.
(4d06df95).
This bug was separately fixed in 2021 with 9ea3f9df (as the comment
reads). This has not yet shipped.
This reverts commit b498ed552c061b55c1d6496be0a4a1fe42b6d2e3.
diff --git a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
index 78887264b..6fd931da9 100644
--- a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
+++ b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
@@ -37,3 +37,6 @@ index 04c554a..e70817b 100644
 > This patch is safe for (at least) version 3.41 in Debian stable, (dating from
 > 2017-12-09) which has both symbols. I think it's safe for inclusion in
 > IkiWiki. *&mdash; [[Jon]], 2024-03-04*
+>> Ah wait, it's fixed in master, with 9ea3f9dfe7c0341f4e002b48728b8139293e19d0
+>> which branches on the API major version, so should be safer for even older
+>> highlight versions. [[done]]. *&mdash; [[Jon]], 2024-03-04*

Revert "whoops, bug already fixed."
I'm mixing up the already-committed fix for changes to
getFiletypesConfPath/getConfDir and the uncommitted fix for
searchDataDir/initSearchDirectories.
This reverts commit 0615f292357a5a4ef3b9930ab740c30edd3581a3.
diff --git a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
index 6fd931da9..78887264b 100644
--- a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
+++ b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
@@ -37,6 +37,3 @@ index 04c554a..e70817b 100644
 > This patch is safe for (at least) version 3.41 in Debian stable, (dating from
 > 2017-12-09) which has both symbols. I think it's safe for inclusion in
 > IkiWiki. *&mdash; [[Jon]], 2024-03-04*
->> Ah wait, it's fixed in master, with 9ea3f9dfe7c0341f4e002b48728b8139293e19d0
->> which branches on the API major version, so should be safer for even older
->> highlight versions. [[done]]. *&mdash; [[Jon]], 2024-03-04*

whoops, bug already fixed.
diff --git a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
index 78887264b..6fd931da9 100644
--- a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
+++ b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
@@ -37,3 +37,6 @@ index 04c554a..e70817b 100644
 > This patch is safe for (at least) version 3.41 in Debian stable, (dating from
 > 2017-12-09) which has both symbols. I think it's safe for inclusion in
 > IkiWiki. *&mdash; [[Jon]], 2024-03-04*
+>> Ah wait, it's fixed in master, with 9ea3f9dfe7c0341f4e002b48728b8139293e19d0
+>> which branches on the API major version, so should be safer for even older
+>> highlight versions. [[done]]. *&mdash; [[Jon]], 2024-03-04*

patch safe for IkiWiki, works with version from 2017 onwards
diff --git a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
index 189b432d5..78887264b 100644
--- a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
+++ b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
@@ -33,3 +33,7 @@ index 04c554a..e70817b 100644
  		$data_dir=undef;
  	}
 ```
+
+> This patch is safe for (at least) version 3.41 in Debian stable, (dating from
+> 2017-12-09) which has both symbols. I think it's safe for inclusion in
+> IkiWiki. *&mdash; [[Jon]], 2024-03-04*

response: please provide some debugging data
diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn
index 93044be00..7a87967bc 100644
--- a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn
@@ -44,3 +44,9 @@ sub decode_git_file ($$) {
 ```
 
 Any idea how to fix the issue? My site uses CJK characters in file names and Git commit messages. Would it be OK?
+
+> Are the CJK characters you are using Unicode characters?
+> Would you be able to share some of the recent git commit messages, or
+> the filenames of recently added or modified files (aiming to select the
+> ones that are most likely to have triggered this bug)? That would be
+> a big help in debugging this. Thanks *&mdash; [[Jon]], 2024-03-04*

diff --git a/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn
new file mode 100644
index 000000000..93044be00
--- /dev/null
+++ b/doc/forum/site_build_time_error:_Wide_character_at___47__opt__47__pkg__47__lib__47__perl5__47__vendor__95__perl__47__5.38.0__47__IkiWiki__47__Plugin__47__git.pm_line_395.mdwn
@@ -0,0 +1,46 @@
+Wide character at /opt/pkg/lib/perl5/vendor_perl/5.38.0/IkiWiki/Plugin/git.pm line 395
+
+```
+using Ikiwiki setup file /Users/gt/website.setup ...
+rebuilding Ikiwiki instance...
+generating wrappers..
+rebuilding wiki..
+Wide character at /opt/pkg/lib/perl5/vendor_perl/5.38.0/IkiWiki/Plugin/git.pm line 395.
+rebuilding calendar for diary/*
+```
+
+
+```
+$ ikiwiki --version
+ikiwiki version 3.20200202.3
+```
+
+At the line 395 of the git.pm file, there is the following function:
+
+```
+sub decode_git_file ($$) {
+	my $dir=shift;
+	my $file=shift;
+
+	# git does not output utf-8 filenames, but instead
+	# double-quotes them with the utf-8 characters
+	# escaped as \nnn\nnn.
+	if ($file =~ m/^"(.*)"$/) {
+		($file=$1) =~ s/\\([0-7]{1,3})/chr(oct($1))/eg;
+	}
+
+	# strip prefix if in a subdir
+	if (! defined $prefix_cache{$dir}) {
+		($prefix_cache{$dir}) = run_or_die_in($dir, 'git', 'rev-parse', '--show-prefix');
+		if (! defined $prefix_cache{$dir}) {
+			$prefix_cache{$dir}="";
+		}
+	}
+	$file =~ s/^\Q$prefix_cache{$dir}\E//;
+
+	return decode("utf8", $file);
+}
+}
+```
+
+Any idea how to fix the issue? My site uses CJK characters in file names and Git commit messages. Would it be OK?

update intrigeri's git repo URI, gitbranch template po/utf8 bug
The older git URI listed no longer has DNS entries so is presumed
defunct. Update it to reflect the URI intrigeri posted when reporting
their patch for bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn,
and add the gitbranch template to that page.
diff --git a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
index 5915def19..f6603e33c 100644
--- a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
+++ b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
@@ -6,3 +6,5 @@ I've prepared a branch to fix this: https://gitlab.tails.boum.org/tails/ikiwiki/
 
 This branch adds a test case that fails on current `master`.
 That test case passes from my branch on Debian sid with po4a 0.55 (Buster), 0.62 (Bullseye), and 0.66 (sid).
+
+[[!template id=gitbranch branch=intrigeri/po-fix-utf8 author="[[intrigeri]]"]]
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 0e2647225..4a3c6408e 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -29,7 +29,7 @@ think about merging them. This is recommended. :-)
   Open push localization branch used for <http://l10n.ikiwiki.info/>
 * [[smcv]] `git://git.pseudorandom.co.uk/git/smcv/ikiwiki.git`
   ([browse](http://git.pseudorandom.co.uk/smcv/ikiwiki.git))
-* [[intrigeri]] `git://gaffer.ptitcanardnoir.org/ikiwiki.git`
+* [[intrigeri]] `https://gitlab.tails.boum.org/tails/ikiwiki.git`
 * [[gmcmanus]] `git://github.com/gmcmanus/ikiwiki.git`
 * [[jelmer]] `git://git.samba.org/jelmer/ikiwiki.git`
 * [[jon]] `git://github.com/jmtd/ikiwiki.git`

highlight plugin broken+patch from Debian BTS
diff --git a/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
new file mode 100644
index 000000000..189b432d5
--- /dev/null
+++ b/doc/bugs/highlight_plugin_broken_with_highlight_4.x.mdwn
@@ -0,0 +1,35 @@
+[Reported to Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050377):
+
+> The latest upload of highlight effectively breaks any ikiwiki install
+> using the highlight plugin, since the plugin crashes trying to run the
+> searchDataDir() method.
+> 
+> The attached patch switches to calling initSearchDirectories, per
+> upstream's migration guide. It seems to work on my site.
+
+[[!taglink patch]]:
+
+```
+From: David Bremner <bremner@debian.org>
+Date: Wed, 23 Aug 2023 14:54:34 -0300
+Subject: Migrate highlight plugin to highlight 4.0
+
+Highlight upstream has changed the API as of highlight 4.0
+---
+ IkiWiki/Plugin/highlight.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/IkiWiki/Plugin/highlight.pm b/IkiWiki/Plugin/highlight.pm
+index 04c554a..e70817b 100644
+--- a/IkiWiki/Plugin/highlight.pm
++++ b/IkiWiki/Plugin/highlight.pm
+@@ -54,7 +54,7 @@ sub checkconfig () {
+ 	eval q{use highlight};
+ 	if (highlight::DataDir->can('new')) {
+ 		$data_dir=new highlight::DataDir();
+-		$data_dir->searchDataDir("");
++		$data_dir->initSearchDirectories("");
+ 	} else {
+ 		$data_dir=undef;
+ 	}
+```

correct date of my last comment
diff --git a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
index 6c7b576bb..e7c091672 100644
--- a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
+++ b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
@@ -6,4 +6,4 @@ The following error is displayed when trying to include a `jpg` image:
 
 > marking [[!taglink done]] (invalid) for now, I think this is some kind of user-error.
 > feel free to untag done if you return to this and answer my Q above. Thanks!
-> &mdash; *[[Jon]], 2023-12-05*
+> &mdash; *[[Jon]], 2024-02-26*

mark done (invalid) for now
diff --git a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
index e9a175f8c..6c7b576bb 100644
--- a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
+++ b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
@@ -3,3 +3,7 @@ The following error is displayed when trying to include a `jpg` image:
 `[[!img Error: failed to read filename.jpg: Exception 435: unable to open image 'jpeg:/path/to/source/folder/filename.jpg[0]': No such file or directory @ error/blob.c/OpenBlob/3569]]`
 
 > I routinely include JPEGs via img. Can you share a) exactly the directive you've tried to use to generate that error and b), if possible, the source image? &mdash; *[[Jon]], 2023-12-05*
+
+> marking [[!taglink done]] (invalid) for now, I think this is some kind of user-error.
+> feel free to untag done if you return to this and answer my Q above. Thanks!
+> &mdash; *[[Jon]], 2023-12-05*

use explicit 'tag reviewed' for inclusion on [[reviewed]]
diff --git a/doc/todo/support_dark_mode_in_antitheme.mdwn b/doc/todo/support_dark_mode_in_antitheme.mdwn
index 11030e003..968969c20 100644
--- a/doc/todo/support_dark_mode_in_antitheme.mdwn
+++ b/doc/todo/support_dark_mode_in_antitheme.mdwn
@@ -19,7 +19,7 @@ mode, in my testing, is the styling around [[RecentChanges]].)
 
 —­[[Jon]], *2022-12-12*
 
-> [[reviewed]]: more work is needed before this should be considered. For the
+> [[!tag reviewed]] more work is needed before this should be considered. For the
 > anti-theme, several plugins and features have CSS with hardcoded color values
 > that might not make sense in a dark mode: some are easy to fix (any `border:
 > black` can have the color spec removed; black is the default in light-mode,

patch: add an unreviewed patch count
similar to that on [[bugs]].
diff --git a/doc/patch.mdwn b/doc/patch.mdwn
index 800748873..1941bf806 100644
--- a/doc/patch.mdwn
+++ b/doc/patch.mdwn
@@ -11,5 +11,11 @@ please consider publishing a [[git]] [[branch|branches]].
 Patches that have been reviewed and need changes before they are merged
 are listed separately, on the [[reviewed]] list.
 
+There are [[!pagecount pages="""
+(todo/* or bugs/*) and link(patch) and !link(bugs/done) and
+!link(todo/done) and !link(reviewed) and !*/Discussion
+"""
+]] unreviewed patches:
+
 [[!inline pages="(todo/* or bugs/*) and link(patch) and !link(bugs/done) and
 !link(todo/done) and !link(reviewed) and !*/Discussion" rootpage="todo" archive="yes"]]

review: needs more work
diff --git a/doc/todo/support_dark_mode_in_antitheme.mdwn b/doc/todo/support_dark_mode_in_antitheme.mdwn
index 2e1597796..11030e003 100644
--- a/doc/todo/support_dark_mode_in_antitheme.mdwn
+++ b/doc/todo/support_dark_mode_in_antitheme.mdwn
@@ -18,3 +18,20 @@ required CSS to let it be enabled.
 mode, in my testing, is the styling around [[RecentChanges]].)
 
 —­[[Jon]], *2022-12-12*
+
+> [[reviewed]]: more work is needed before this should be considered. For the
+> anti-theme, several plugins and features have CSS with hardcoded color values
+> that might not make sense in a dark mode: some are easy to fix (any `border:
+> black` can have the color spec removed; black is the default in light-mode,
+> and a better choice will be made for dark-mode) but others will require more
+> work (recentchanges and changelog force black-on-white with `!important`, and
+> before removing that I need to answer why).
+> 
+> Then we get onto the themes supplied by IkiWiki: they will need surveying since
+> they will inherit the settings from `doc/style.css`.
+> 
+> And finally we should think about the impact this would have on downstream users
+> and custom themes not supplied in IkiWiki; at the very least we would need to be
+> clear in release notes that this might be a problem, and how to avoid it.
+> 
+> — [[Jon]], *2024-02-26*

untag patch: this todo is a change request for ikiwiki.info
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
index 84e83cea7..66d9182c5 100644
--- 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
@@ -9,7 +9,7 @@ With both engines adding the "site:ikiwiki.info" string to the search terms limi
 > I've had a first stab at implementing this. It's in [my fork on
 > GitHub](https://github.com/jmtd/ikiwiki/tree/duckduckgo), specifically [branch
 > duckduckgo](https://github.com/jmtd/ikiwiki/tree/duckduckgo).
-> It's also live on <https://jmtd.net/>. — [[Jon]] (2019) [[!tag patch]]
+> It's also live on <https://jmtd.net/>. — [[Jon]] (2019)
 
 >> I've just updated this branch to not require JavaScript (I learned about a hidden parameter to
 >> the search form for specifying the URLs to search under). In case this wasn't clear already, I
@@ -23,3 +23,6 @@ With both engines adding the "site:ikiwiki.info" string to the search terms limi
 >>> every time (I don't let it save the cookie). (2)
 >>> 
 >>> (1) is no doubt a pre-requisite for (2). Are either under consideration? *—[[Jon]], 2021-02-07*
+
+>>>> Untagging 'patch': _this_ TODO is specifically a request to change <https://ikiwiki.info/>,
+>>>> and not the inclusion of the duckduckgo patch. &mdash; *[[Jon]], 2024-02-22*

pubdate bug fixed
diff --git a/doc/bugs/pubdate_not_valid_for_html5.mdwn b/doc/bugs/pubdate_not_valid_for_html5.mdwn
index fe956c521..9bc4a9c1a 100644
--- a/doc/bugs/pubdate_not_valid_for_html5.mdwn
+++ b/doc/bugs/pubdate_not_valid_for_html5.mdwn
@@ -9,3 +9,5 @@ Patch: <https://github.com/jmtd/ikiwiki/commit/a137103d3004cc8cec42459205684ec48
 *—[[Jon]], 2020-10-06*
 
 > LGTM. In [[bugs/charset_attribute_on_the_script_element_is_obsolete]], I found that `itemprop="datePublished"` was another way to do this, but it seems like there is no real standard way to do this anymore, so I'm happy with anything that doesn't break validators. :) *--[[anarcat]], 2022-09-06*
+
+[[done]]. Thanks for the ACK &mdash; *[[Jon]], 2024-02-22*

done
diff --git a/doc/todo/report_on_specific_markdown_implementation_used.mdwn b/doc/todo/report_on_specific_markdown_implementation_used.mdwn
index 7efaca1d8..5e1e5bf0f 100644
--- a/doc/todo/report_on_specific_markdown_implementation_used.mdwn
+++ b/doc/todo/report_on_specific_markdown_implementation_used.mdwn
@@ -12,6 +12,11 @@ Patch: <https://github.com/jmtd/ikiwiki/commit/79297a0879e4f05f421b560bbbc74c227
 >> I should have done something like `"mdwn: ".gettext("using ")."Text::Markdown::markdown"`.
 >> I bow to the superior gettext knowledge of just about anyone. *— [[Jon]], 2021-11-10* 
 
+>>> I dropped the `gettext` in the end: the only localizable bit of the strings was 'using'
+>>> so there wasn't much point. Thanks! &mdash; *[[Jon]], 2024-02-22*
+
 [[!tag patch]]
 [[!template id=gitbranch branch=jon/mdwn-debug-log-chosen-impl author="[[Jon]]"]]
 
+> [[done]]: <http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=4996866181cbcce15ebb98f9c9142af26f2e80e7>
+> &mdash; *[[Jon]], 2024-02-22*

some review notes for this patch
diff --git a/doc/bugs/Commonmark_support.mdwn b/doc/bugs/Commonmark_support.mdwn
index cd1bd90f8..01c38e16a 100644
--- a/doc/bugs/Commonmark_support.mdwn
+++ b/doc/bugs/Commonmark_support.mdwn
@@ -27,3 +27,18 @@ to do.
 Patch: <https://github.com/jmtd/ikiwiki/commit/c76eeac8152604ce3d7d1672fe404c8ee8ef2dd8>
 [[!tag patch]]
 [[!template id=gitbranch branch=jon/commonmark author="[[Jon]]"]]
+
+> I'm starting to review outstanding IkiWiki patches, and this one was an
+> early candidate because it's so trivial, but I have some questions to resolve.
+>
+> 1. In order of preference, I've inserted this after multimarkdown and
+>    Discount, but those are only enabled if they are explicitly selected;
+>    Commonmark is ahead of the remaining implementations that are checked
+>    for (`Text::Markdown`, `Markdown`, `/usr/bin/markdown`), and so if
+>    available, would take precedence. Is this reasonable?
+> 2. Should one be able to explicitly force Commonmark, like one can with multimarkdown and Discount?
+> 3. I'd not use `gettext` in the debug print now.
+> 4. I need to double check why I've used `->` instead of `::` (thanks [[users/anarcat]])
+> 5. Per [[smcv]]'s comment above, what's the status of the Commonmark library in Debian now?
+>
+> &mdash; *[[Jon]], 2024-02-22*

Added a comment: Basic Homebrew Tap for ikiwiki
diff --git a/doc/forum/Can_someone_add_Ikiwiki_in_Homebrew__63__/comment_5_3e59857673112de1bd9a47e42bdff8ac._comment b/doc/forum/Can_someone_add_Ikiwiki_in_Homebrew__63__/comment_5_3e59857673112de1bd9a47e42bdff8ac._comment
new file mode 100644
index 000000000..c53f31691
--- /dev/null
+++ b/doc/forum/Can_someone_add_Ikiwiki_in_Homebrew__63__/comment_5_3e59857673112de1bd9a47e42bdff8ac._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="ewen"
+ avatar="http://cdn.libravatar.org/avatar/842f85937fe6a92934d188f1c86109e6"
+ subject="Basic Homebrew Tap for ikiwiki"
+ date="2024-02-05T02:58:58Z"
+ content="""
+Since no one else had done it, I've created a basic Homebrew Tap (ie non-core Formula) for ikiwiki, now that Homebrew has support for external (ie, non-core) Formulas developed by end users:
+
+[https://github.com/naosnz/homebrew-ikiwiki](https://github.com/naosnz/homebrew-ikiwiki)
+
+Only tested on macOS 13 (Ventura) so far, and only with very basic ikiwiki features from the command line which is pretty much all I need for my purpose.  (Lots of the more advanced ikiwiki features/plugins will need more Perl modules installed, which anyone who needs them will need to figure out; there are some examples of having Homebrew install ikiwiki Perl \"resources\" in the formula for essential Perl modules which might be a guide how to add more.)
+"""]]

Add urosm's personal git repository
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 17a44d2c8..0e2647225 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -65,6 +65,8 @@ think about merging them. This is recommended. :-)
 * [[hefee]] `https://salsa.debian.org/hefee/ikiwiki.git/` ([[browse|https://salsa.debian.org/hefee/ikiwiki]])
 * bsv `https://bico.media/1EZF5WfG6t35iwFpyVVptxT1MB4DKt6G2U`
   bsv blockchain repo using ([[git-remote-bsv|https://github.com/xloem/git-remote-bsv]])
+* urosm `https://git.kompot.si/urosm/ikiwiki.git`
+
 ## branches
 
 Current branches of ikiwiki are listed on [[branches]].

remove spammer test page
diff --git a/doc/test_page_space_allowed.mdwn b/doc/test_page_space_allowed.mdwn
deleted file mode 100644
index 87ebc62ae..000000000
--- a/doc/test_page_space_allowed.mdwn
+++ /dev/null
@@ -1,2 +0,0 @@
-tada!
-Hello

revert rename of recentchanges by insane person (which broke build)
diff --git a/doc/json.tl.ph.mdwn b/doc/recentchanges.mdwn
similarity index 100%
rename from doc/json.tl.ph.mdwn
rename to doc/recentchanges.mdwn

diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 0eac0fa0e..4915b57ac 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -1,4 +1,4 @@
-General information
+General Information
 ===================
 
 Feel free to add your own ikiwiki site! In case you have created a custom theme consider adding it to [the theme list](http://ikiwiki.info/themes/)

diff --git a/doc/test_page_space_allowed.mdwn b/doc/test_page_space_allowed.mdwn
index c8f912322..87ebc62ae 100644
--- a/doc/test_page_space_allowed.mdwn
+++ b/doc/test_page_space_allowed.mdwn
@@ -1 +1,2 @@
 tada!
+Hello

reply
diff --git a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
index 00eec1405..e9a175f8c 100644
--- a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
+++ b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
@@ -1,3 +1,5 @@
 The following error is displayed when trying to include a `jpg` image: 
 
 `[[!img Error: failed to read filename.jpg: Exception 435: unable to open image 'jpeg:/path/to/source/folder/filename.jpg[0]': No such file or directory @ error/blob.c/OpenBlob/3569]]`
+
+> I routinely include JPEGs via img. Can you share a) exactly the directive you've tried to use to generate that error and b), if possible, the source image? &mdash; *[[Jon]], 2023-12-05*

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index edf0c055d..9492c4bb6 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -278,3 +278,5 @@ Install ikiwiki
 If you're using Debian or Ubuntu, ikiwiki is an apt-get install ikiwiki away. If you're not, see the download and install pages.
 
 You may also want to try out IkiWiki in a container.
+
+This line was added using the web interface.

diff --git a/doc/sandbox/Number.MAXIMUM_VALUE.mdwn b/doc/sandbox/Number.MAXIMUM_VALUE.mdwn
new file mode 100644
index 000000000..9daeafb98
--- /dev/null
+++ b/doc/sandbox/Number.MAXIMUM_VALUE.mdwn
@@ -0,0 +1 @@
+test

test
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 8fd68f4c4..edf0c055d 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -1,3 +1,5 @@
+[[Number.MAXIMUM_VALUE]]
+
 ### testing graph directive...
 
 [[!graph   src=""""

Update branch location
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 fbdccc5b2..2616e3281 100644
--- a/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
+++ b/doc/todo/_Add_ikiwiki_PO-Plugin_to_ignore_languages.mdwn
@@ -6,7 +6,7 @@ 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>
+See also downstream bug report in tails: <https://gitlab.tails.boum.org/tails/tails/-/issues/15355>
 
 > From the downstream bug report it appears this branch is not yet
 > considered ready (as of February 2019), so I haven't attempted to
@@ -22,7 +22,7 @@ See also downstream bug report in tails: <https://labs.riseup.net/code/issues/15
 > --[[smcv]]
 
 >> I've put this branch into a shape that I now dare submitting:
->> https://salsa.debian.org/tails-team/ikiwiki/tree/feature/15355-po-plugin-disable-languages.
+>> https://gitlab.tails.boum.org/tails/ikiwiki/-/tree/feature/15355-po-plugin-disable-languages.
 >> It adds a little bit test coverage in the form of integration tests
 >> for the proposed feature, that incidentally exercise the rest of the
 >> basic functionality of the PO plugin.

Update branch location
diff --git a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
index 3d231cf3c..5915def19 100644
--- a/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
+++ b/doc/bugs/po:_buggy_UTF-8_support_with_po4a_0.58+.mdwn
@@ -2,7 +2,7 @@
 
 With po4a 0.58+, the po plugin incorrectly extracts UTF-8 strings from source pages.
 
-I've prepared a branch to fix this: https://salsa.debian.org/tails-team/ikiwiki/-/tree/po-fix-utf8
+I've prepared a branch to fix this: https://gitlab.tails.boum.org/tails/ikiwiki/-/tree/po-fix-utf8
 
 This branch adds a test case that fails on current `master`.
 That test case passes from my branch on Debian sid with po4a 0.55 (Buster), 0.62 (Bullseye), and 0.66 (sid).

Add notqmail.org
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index d39769bca..0eac0fa0e 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -52,6 +52,7 @@ Projects & Organizations
   * [Børneuniversitetet](http://support.borneuni.dk/) ([source](http://source.borneuni.dk/))
 * [CampusGrün Hamburg](http://www.campusgruen.org/)
 * The [awesome window manager homepage](http://awesome.naquadah.org/)
+* [notqmail](https://notqmail.org)
 * [vcs-home](http://vcs-home.madduck.net)
 * [Public Domain collection of Debian related tips & tricks](http://dabase.com/tips/) - please add any tips too
 * [Finnish Debian community](http://debian.fi)

diff --git a/doc/news/version_3.20190207.mdwn b/doc/news/version_3.20190207.mdwn
index bd8f33fe8..b9baffb73 100644
--- a/doc/news/version_3.20190207.mdwn
+++ b/doc/news/version_3.20190207.mdwn
@@ -32,9 +32,3 @@ ikiwiki 3.20190207 released with [[!toggle text="these changes"]]
      Thanks, Alexandre Oliva
    * poll: Added postlink and posttrail options for better multi-page polls.
    * Fix permalink to comments."""]]
-
-
-
-
-
-[[!img favicon.svg align="right" size="" alt=""]]

diff --git a/doc/news/version_3.20190207.mdwn b/doc/news/version_3.20190207.mdwn
index 8e5696ffd..bd8f33fe8 100644
--- a/doc/news/version_3.20190207.mdwn
+++ b/doc/news/version_3.20190207.mdwn
@@ -31,4 +31,10 @@ ikiwiki 3.20190207 released with [[!toggle text="these changes"]]
    * aggregate: Fix aggregation of posts without a title.
      Thanks, Alexandre Oliva
    * poll: Added postlink and posttrail options for better multi-page polls.
-   * Fix permalink to comments."""]]
\ No newline at end of file
+   * Fix permalink to comments."""]]
+
+
+
+
+
+[[!img favicon.svg align="right" size="" alt=""]]

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 2b768c8ce..8fd68f4c4 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -1,17 +1,16 @@
 ### testing graph directive...
 
 [[!graph   src=""""
-google [ href="http://google.com/" ]
+google [ href="http://google.com/"]
 sandbox [ href=[[SandBox]] ]
-help [ href=[[ikiwiki/formatting]] ]
-newpage [ href=[[NewPage]] ]
+help [ href=[[ikiwiki/formatting]]]
+newpage [ href=[[NewPage]]]
 
 google -> sandbox -> help -> newpage -> help -> google;
 """"]]
 
 ### Is this a heading?
 
-Why doesn't the following work?..
 [[!color  foreground=white background=#ff0000 text="White text on red background"]]
 
 Sure it is.

diff --git a/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
new file mode 100644
index 000000000..00eec1405
--- /dev/null
+++ b/doc/bugs/__91____33__img__93____93___directive_does_not_work_with_jpg_images.mdwn
@@ -0,0 +1,3 @@
+The following error is displayed when trying to include a `jpg` image: 
+
+`[[!img Error: failed to read filename.jpg: Exception 435: unable to open image 'jpeg:/path/to/source/folder/filename.jpg[0]': No such file or directory @ error/blob.c/OpenBlob/3569]]`

trace of match_ispage/pagetype
diff --git a/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn b/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn
index 4964f4af1..41a9c7bc2 100644
--- a/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn
+++ b/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn
@@ -31,3 +31,14 @@ The second is empty. Expected behaviour:
 (with [[plugins/txt]] not enabled)
 
 *&mdash; [[Jon]], 2023-09-06*
+
+> here's a trace of what happens to `ispage()` when applied to the above example.
+> 
+> * `match_ispage` gets called with argument "a/foo"
+> * it calls `Ikiwiki::pagetype` with that argument unmodified
+> * the first branch checks for a period, so fails
+> * base is calculated to be "foo"
+> * the next branch fails as $hooks{htmlize}{foo} is false
+> * the function returns undefined.
+> 
+> *&mdash; [[Jon]], 2023-09-06*

uninitialized value warning with attachment plugin
diff --git a/doc/bugs/filecheck.pm:_warnings_about_division_with_uninitialized_value.mdwn b/doc/bugs/filecheck.pm:_warnings_about_division_with_uninitialized_value.mdwn
new file mode 100644
index 000000000..dff77a00d
--- /dev/null
+++ b/doc/bugs/filecheck.pm:_warnings_about_division_with_uninitialized_value.mdwn
@@ -0,0 +1,20 @@
+If you enable [[plugins/filecheck]] *and* [[plugins/attachment]], then IkiWiki (e.g. via wrapper) will throw a lot of the following errors on stderr
+
+    Use of uninitialized value $size in division (/) at /.../filecheck.pm line 73.
+
+73 is
+
+```
+sub humansize ($) {
+	my $size=shift;
+
+	foreach my $unit (reverse sort { $units{$a} <=> $units{$b} || $b cmp $a } keys %units) {
+		if ($size / $units{$unit} > 0.25) {
+			return (int($size / $units{$unit} * 10)/10).$unit;
+		}
+	}
+	return $size; # near zero, or negative
+}
+```
+
+Disabling *attachment* is sufficient to stop this. *&mdash; [[Jon]] 2023-09-06*

ispage() does not seem to work as expected
diff --git a/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn b/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn
new file mode 100644
index 000000000..4964f4af1
--- /dev/null
+++ b/doc/bugs/ispage__40____41___does_not_work_as_expected.mdwn
@@ -0,0 +1,33 @@
+In a few places, it is recommended to try the `ispage()` pagespec, described at [[ikiwiki/pagespec/attachment]] but provided by the (supposedly independent) plugin [[plugins/filecheck]].
+
+I've had trouble getting it to work so put together a minimal test-case. Very basic wiki with filecheck enabled (but attachment not).
+
+File structure as follows
+
+```
+index.mdwn
+a/foo.mdwn
+a/bar.txt
+a/pic.png
+```
+
+index containing
+
+```
+\[[!map pages="a/*"]]
+\[[!map pages="a/* and ispage()"]]
+```
+
+The first map expands, as expected, to
+
+ *  bar.txt
+ *  foo
+ *  pic.png
+
+The second is empty. Expected behaviour:
+
+ * foo
+
+(with [[plugins/txt]] not enabled)
+
+*&mdash; [[Jon]], 2023-09-06*

response
diff --git a/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn b/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn
index f3706174d..7e70836e1 100644
--- a/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn
+++ b/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn
@@ -1 +1,5 @@
 How to integrate ikiwiki on wordpress site?
+
+> Your question is a little bit too vague, there may be some way to achieve
+> it in some very specific circumstances, but I think the general answer is:
+> you can't. *&mdash; [[Jon]], 2023-06-07*

response, workaround
diff --git a/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn b/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn
index 275857c38..38f30d897 100644
--- a/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn
+++ b/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn
@@ -2,3 +2,13 @@ I have been browsing the `templates` directory and the css files to understand w
 
 Thanks,
 Frederik
+
+> I don't think it is possible to reposition the feedlink
+> buttons that are generated by the inline plugin. This is a reasonable enhancement
+> request: Alas no one is working on IkiWiki at the moment.
+> 
+> Instead, you could hide those
+> ones altogether (by e.g. specifying a templatedir in your setup that contains an
+> empty feedlink.tmpl file) and use another method to include some in the location
+> you want, such as just plain old HTML (the content is static enough).
+>  &mdash; *[[Jon]], 2023-06-07*

diff --git a/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn b/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn
new file mode 100644
index 000000000..275857c38
--- /dev/null
+++ b/doc/forum/How_to_move_RSS_button_to_bottom_of_page__63__.mdwn
@@ -0,0 +1,4 @@
+I have been browsing the `templates` directory and the css files to understand where the placement of the feedbuttons is determined, but can't seem to figure it out fully. They appear to be generated by line 388 in `inline.pm` for a blog setup, which reads in `feedlink.tmpl`. Is there a way to configure where they are rendered on the page in `page.tmpl` or through some crafty CSS?
+
+Thanks,
+Frederik

diff --git a/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn b/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn
new file mode 100644
index 000000000..f3706174d
--- /dev/null
+++ b/doc/forum/How_to_integrate_ikiwiki_on_wordpress_site__63__.mdwn
@@ -0,0 +1 @@
+How to integrate ikiwiki on wordpress site?

fix mdash
diff --git a/doc/users/spalax/discussion.mdwn b/doc/users/spalax/discussion.mdwn
index c0cac78ee..a9e08fa25 100644
--- a/doc/users/spalax/discussion.mdwn
+++ b/doc/users/spalax/discussion.mdwn
@@ -1,2 +1,2 @@
 > htaccess
->> Just to write, this is something I've considered writing to for the [opinionated-ikiwiki](https://github.com/jmtd/opinionated-ikiwiki) [[containers]], in order to have one account DB shared between IkiWiki CGI and Git CGI. &emdash; *[[Jon]], 2023-04-03*
+>> Just to write, this is something I've considered writing to for the [opinionated-ikiwiki](https://github.com/jmtd/opinionated-ikiwiki) [[containers]], in order to have one account DB shared between IkiWiki CGI and Git CGI. &mdash; *[[Jon]], 2023-04-03*

htaccess - me too
diff --git a/doc/users/spalax/discussion.mdwn b/doc/users/spalax/discussion.mdwn
new file mode 100644
index 000000000..c0cac78ee
--- /dev/null
+++ b/doc/users/spalax/discussion.mdwn
@@ -0,0 +1,2 @@
+> htaccess
+>> Just to write, this is something I've considered writing to for the [opinionated-ikiwiki](https://github.com/jmtd/opinionated-ikiwiki) [[containers]], in order to have one account DB shared between IkiWiki CGI and Git CGI. &emdash; *[[Jon]], 2023-04-03*

Spalax's (unmaintained) plugins have a new home
diff --git a/doc/plugins/contrib/addtag.mdwn b/doc/plugins/contrib/addtag.mdwn
index 5b9461d28..6b84b1077 100644
--- a/doc/plugins/contrib/addtag.mdwn
+++ b/doc/plugins/contrib/addtag.mdwn
@@ -70,4 +70,4 @@ the following code to your CSS.
 
 ## Code
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Addtag]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/addtag]].
diff --git a/doc/plugins/contrib/compile.mdwn b/doc/plugins/contrib/compile.mdwn
index d3139e900..72dfee6cd 100644
--- a/doc/plugins/contrib/compile.mdwn
+++ b/doc/plugins/contrib/compile.mdwn
@@ -225,4 +225,4 @@ displaying it on your website, you can use as a template:
 
 # Download
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Compile]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/compile]].
diff --git a/doc/plugins/contrib/created_in_future.mdwn b/doc/plugins/contrib/created_in_future.mdwn
index 95793e12a..7e82eefc2 100644
--- a/doc/plugins/contrib/created_in_future.mdwn
+++ b/doc/plugins/contrib/created_in_future.mdwn
@@ -25,5 +25,5 @@ It can be used to display a list of upcoming events.
 
 ## Code
 
-Code and documentation this way: [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Created_in_future]].
+Code and documentation this way: [[https://spalax.frama.io/gresille-ikiwiki/created_in_future]].
 """]]
diff --git a/doc/plugins/contrib/datetime_cmp.mdwn b/doc/plugins/contrib/datetime_cmp.mdwn
index 47eaffaec..baeee2d4e 100644
--- a/doc/plugins/contrib/datetime_cmp.mdwn
+++ b/doc/plugins/contrib/datetime_cmp.mdwn
@@ -85,4 +85,4 @@ It can be used to display a list of upcoming events.
 
 ## Code
 
-Code and documentation this way: [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/datetime_cmp]].
+Code and documentation this way: [[https://spalax.frama.io/gresille-ikiwiki/datetime_cmp]].
diff --git a/doc/plugins/contrib/jscalendar.mdwn b/doc/plugins/contrib/jscalendar.mdwn
index 8123b3132..acbaec724 100644
--- a/doc/plugins/contrib/jscalendar.mdwn
+++ b/doc/plugins/contrib/jscalendar.mdwn
@@ -45,6 +45,6 @@ options of the directive.
 
 You can see this plugin in action on [[our website|http://www.gresille.org]].
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Jscalendar]]
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/jscalendar]]
 
 -- Louis
diff --git a/doc/plugins/contrib/monthcalendar.mdwn b/doc/plugins/contrib/monthcalendar.mdwn
index c21be0abe..b00e49d0f 100644
--- a/doc/plugins/contrib/monthcalendar.mdwn
+++ b/doc/plugins/contrib/monthcalendar.mdwn
@@ -124,4 +124,4 @@ plugin.
 
 ## Code
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Monthcalendar]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/monthcalendar]].
diff --git a/doc/plugins/contrib/pageversion.mdwn b/doc/plugins/contrib/pageversion.mdwn
index 0d86f0f0a..b3089ef73 100644
--- a/doc/plugins/contrib/pageversion.mdwn
+++ b/doc/plugins/contrib/pageversion.mdwn
@@ -86,4 +86,4 @@ Directive ``\[[!redirect]]`` (from the [[redirect]] plugin) can be used together
 
 # Download and Install
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/PageVersion]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/pageVersion]].
diff --git a/doc/plugins/contrib/parenttag.mdwn b/doc/plugins/contrib/parenttag.mdwn
index 5dc01c7c5..233d24b4f 100644
--- a/doc/plugins/contrib/parenttag.mdwn
+++ b/doc/plugins/contrib/parenttag.mdwn
@@ -11,4 +11,4 @@ The `taglink` directive is changed as well: instead of displaying the leaf of th
 
 ## Code
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Parenttag]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/parenttag]].
diff --git a/doc/plugins/contrib/poetry.mdwn b/doc/plugins/contrib/poetry.mdwn
index aed2e420a..7e6dc2b2b 100644
--- a/doc/plugins/contrib/poetry.mdwn
+++ b/doc/plugins/contrib/poetry.mdwn
@@ -104,4 +104,4 @@ website](http://barricades.int.eu.org/repertoire/bread_and_roses/).
 
 ## Code
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Poetry]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/poetry]].
diff --git a/doc/plugins/contrib/redirect.mdwn b/doc/plugins/contrib/redirect.mdwn
index 4bf315ae6..d632349e0 100644
--- a/doc/plugins/contrib/redirect.mdwn
+++ b/doc/plugins/contrib/redirect.mdwn
@@ -32,4 +32,4 @@ This directive accepts no setup options.
 
 # Download and install
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Redirect]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/redirect]].
diff --git a/doc/plugins/contrib/sidebar2.mdwn b/doc/plugins/contrib/sidebar2.mdwn
index 5c169bfd4..062b20c0c 100644
--- a/doc/plugins/contrib/sidebar2.mdwn
+++ b/doc/plugins/contrib/sidebar2.mdwn
@@ -93,4 +93,4 @@ handled by this plugin.
 
 # Download and install
 
-Code and documentation: [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Sidebar2]].
+Code and documentation: [[https://spalax.frama.io/gresille-ikiwiki/sidebar2]].
diff --git a/doc/plugins/contrib/taskreport.mdwn b/doc/plugins/contrib/taskreport.mdwn
index 377c9ed39..67da41b32 100644
--- a/doc/plugins/contrib/taskreport.mdwn
+++ b/doc/plugins/contrib/taskreport.mdwn
@@ -58,6 +58,6 @@ To allow CSS customization, the following classes are used.
 
 ## Download and install
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Taskreport]]
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/taskreport]]
 
 -- [[Louis|spalax]]
diff --git a/doc/plugins/contrib/verboserpc.mdwn b/doc/plugins/contrib/verboserpc.mdwn
index 09446fef5..d5617e98c 100644
--- a/doc/plugins/contrib/verboserpc.mdwn
+++ b/doc/plugins/contrib/verboserpc.mdwn
@@ -80,4 +80,4 @@ I am not sure that this plugin is the solution to the problem of debugging exter
 
 # Download and install
 
-Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/VerboseRPC]].
+Code and documentation can be found here : [[https://spalax.frama.io/gresille-ikiwiki/verboserpc]].
diff --git a/doc/users/spalax.mdwn b/doc/users/spalax.mdwn
index 52b538b22..ee8811f74 100644
--- a/doc/users/spalax.mdwn
+++ b/doc/users/spalax.mdwn
@@ -1,10 +1,10 @@
 [[!meta title="Louis Paternault"]]
 
-User of IkiWiki (my [professional website](http://ababsurdo.fr), among others).
+[[Former user|forum/Some_thoughts_about_Ikiwiki]] of IkiWiki.
 
 # Plugins
 
-I wrote and maintain a few plugins, which are available here: [[https://atelier.gresille.org/projects/gresille-ikiwiki]].
+I wrote and maintain a few plugins, which are available here: [[https://framagit.org/spalax/gresille-ikiwiki]].
 
 [[!map pages="plugins/contrib/* and ! plugins/contrib/*/* and author(spalax)"]]
 

a little annoyance when CGIURL is down
diff --git a/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn b/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn
new file mode 100644
index 000000000..37f69fbcc
--- /dev/null
+++ b/doc/todo/proper_links_in_recentchanges_without_CGI.mdwn
@@ -0,0 +1,3 @@
+[[!template  id=gitbranch branch=anarcat/recent-changes-plain-url author="[[anarcat]]"]]
+
+After turning off CGI on my wiki, I was surprised to find out that the RSS feed was basically broken. I was relying on the feed to fetch the list of recently changed pages to feed into a link checker, an archiver, and so on, but now I only get links to anchors inside the recent changes page. Boooring. ;) Here's a patch to restore this functionality which was dropped, possibly mistakenly, in 2008 (!). -- [[anarcat]]

if resurrect, let's drop php
diff --git a/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn b/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn
index facc8b231..9cf2318a6 100644
--- a/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn
+++ b/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn
@@ -11,3 +11,10 @@ I have tried to use the sparkline plugin today and it failed with:
 But really, maybe, the sparkline Perl library should be examined again. Surely it's not *that* bad that we need PHP around here, do we? It looks like [SVG::Sparkline](https://metacpan.org/pod/SVG::Sparkline) could be a good candidate although there's also [Text::Sparkline](https://metacpan.org/pod/Text::Sparkline).
 
 Or maybe sparklines are dead... <http://sparkline.org> doesn't even resolve... Time flies, doesn't it? -- [[anarcat]]
+
+> I hit this a little while ago and ended up ditching the sparkline plugin. But, if it
+> is to be resurrected, I would agree with ditching PHP here, too. For my use-case the
+> data changes so infrequently ([this graph](https://jmtd.net/log/all/500x-graph.png) of
+> blog posts by year, not including the current year) that I manually generate something
+> in LibreCalc annually, and copy the resulting picture in.
+> *— [[Jon]], 2023-01-20*

some success
diff --git a/doc/todo/mastodon_comments.mdwn b/doc/todo/mastodon_comments.mdwn
index 1100552c8..cd9aaa145 100644
--- a/doc/todo/mastodon_comments.mdwn
+++ b/doc/todo/mastodon_comments.mdwn
@@ -7,3 +7,9 @@ I'm not sure how to do this in ikiwiki: how can we access page-specific data in
 Or maybe i just need to make a new template and insert it in my blog posts... pondering. --[[anarcat]]
 
 > I have tried to make a template, and that (obviously) fails because the `<script>` stuff gets sanitized. It seems I would need to split the javascript out of the template into a base template and then make the page template refer to a function in there. It's kind of horrible and messy. I wish there was a way to just access page metadata from the page template itself... I see that the [[plugins/meta]] plugin passes along its metadata, but that's not extensible, so i'd need to either patch that or make yet another plugin. Ugh.
+
+>> Update: I did it. I have something that kind of works that's a combination of a `page.tmpl` patch and a plugin. The plugin adds a `[[!mastodon]]` directive that feeds the `page.tmpl` with the right stuff, and adds comments through Javascript and the API. It's not pretty, but it works. You need [this page.tmpl](https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat/-/blob/01524241a1346211bad2d681f0ed634af29d5c38/templates/page.tmpl) (or at least [this patch](https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat/-/commit/491dd6bfba3bee3ce702545e7f445e227dc66b30) and [that one](https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat/-/commit/c0abd79e53b8fee60cf4582971df35e6feb957fd)) and the [mastodon.pm plugin](https://gitlab.com/anarcat/ikiwiki/-/blob/2400baee8f5bc06f810b5ed96395ee84b05943ed/IkiWiki/Plugin/mastodon.pm) from my [mastodon-plugin](https://gitlab.com/anarcat/ikiwiki/-/tree/mastodon-plugin) branch.
+>>
+>> I'm not even sure this is a good idea. The first test I did was a "test comment" which led to half a dozen "test reply" and then I realized i couldn't redact individual posts from there. Ugh. I don't even know if, when I mute a user, it actually gets hidden from everyone else too...
+>>
+>> So I'll test this for a while, I guess.

failing, so far
diff --git a/doc/todo/mastodon_comments.mdwn b/doc/todo/mastodon_comments.mdwn
index 487b37953..1100552c8 100644
--- a/doc/todo/mastodon_comments.mdwn
+++ b/doc/todo/mastodon_comments.mdwn
@@ -5,3 +5,5 @@ So. I'm considering ditching ikiwiki comments altogether and I'm turning towards
 I'm not sure how to do this in ikiwiki: how can we access page-specific data in [[templates]]?
 
 Or maybe i just need to make a new template and insert it in my blog posts... pondering. --[[anarcat]]
+
+> I have tried to make a template, and that (obviously) fails because the `<script>` stuff gets sanitized. It seems I would need to split the javascript out of the template into a base template and then make the page template refer to a function in there. It's kind of horrible and messy. I wish there was a way to just access page metadata from the page template itself... I see that the [[plugins/meta]] plugin passes along its metadata, but that's not extensible, so i'd need to either patch that or make yet another plugin. Ugh.

diff --git a/doc/todo/mastodon_comments.mdwn b/doc/todo/mastodon_comments.mdwn
new file mode 100644
index 000000000..487b37953
--- /dev/null
+++ b/doc/todo/mastodon_comments.mdwn
@@ -0,0 +1,7 @@
+I'm getting truly fed up with spam in my wiki. At this point, all comments are manually approved and I still get trouble: now it's scammers spamming the registration form with dummy accounts, which bounce back to me when I make new posts, or just generate backscatter for the confirmation email. It's really bad. I have hundreds of users registered on my blog, and I don't know which are spammy, which aren't.
+
+So. I'm considering ditching ikiwiki comments altogether and I'm turning towards Mastodon as a commenting platforms. Others (JAK) have implemented this [as a server](https://github.com/julian-klode/mastodon-comments) but a more interesting approach for me is to simply load them dynamically from the server, which is what [this person has done](https://carlschwan.eu/2020/12/29/adding-comments-to-your-static-blog-with-mastodon/). They are using Hugo, however, so they can easily embed page metadata in the template to load the right server with the right comment ID.
+
+I'm not sure how to do this in ikiwiki: how can we access page-specific data in [[templates]]?
+
+Or maybe i just need to make a new template and insert it in my blog posts... pondering. --[[anarcat]]

diff --git a/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn b/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn
new file mode 100644
index 000000000..facc8b231
--- /dev/null
+++ b/doc/bugs/sparkline_fails_to_generate_graphs_in_debian_bullseye.mdwn
@@ -0,0 +1,13 @@
+I have tried to use the sparkline plugin today and it failed with:
+
+    remote: PHP Fatal error:  Cannot use 'Object' as class name as it is reserved in /usr/share/php/sparkline/Object.php on line 71        
+
+... at built time. I have tried to follow the instructions in [[plugins/sparkline]] but those *also* failed with because php5 is long gone from Debian, of course. The `libdigest-sha1-perl` package also seems gone, so I have tried this:
+
+    apt install libsparkline-php php-gd php-cli
+
+... but that is how I ended up with the above failures. I suspect the embedded PHP code in ikiwiki needs to be ported to PHP 7 (or 8 now?)...
+
+But really, maybe, the sparkline Perl library should be examined again. Surely it's not *that* bad that we need PHP around here, do we? It looks like [SVG::Sparkline](https://metacpan.org/pod/SVG::Sparkline) could be a good candidate although there's also [Text::Sparkline](https://metacpan.org/pod/Text::Sparkline).
+
+Or maybe sparklines are dead... <http://sparkline.org> doesn't even resolve... Time flies, doesn't it? -- [[anarcat]]

testing graph directive
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 24e6c9f20..2b768c8ce 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -1,3 +1,14 @@
+### testing graph directive...
+
+[[!graph   src=""""
+google [ href="http://google.com/" ]
+sandbox [ href=[[SandBox]] ]
+help [ href=[[ikiwiki/formatting]] ]
+newpage [ href=[[NewPage]] ]
+
+google -> sandbox -> help -> newpage -> help -> google;
+""""]]
+
 ### Is this a heading?
 
 Why doesn't the following work?..

add link to patch for darkmode support in anti-theme
diff --git a/doc/todo/support_dark_mode_in_antitheme.mdwn b/doc/todo/support_dark_mode_in_antitheme.mdwn
index 801ff2507..2e1597796 100644
--- a/doc/todo/support_dark_mode_in_antitheme.mdwn
+++ b/doc/todo/support_dark_mode_in_antitheme.mdwn
@@ -1,4 +1,5 @@
-[[!tag wishlist]]
+[[!tag wishlist patch]]
+[[!template id=gitbranch branch=jon/default-style-support-dark-mode author="[[Jon]]"]]
 
 Modern OSes and browsers can now report a user's preference for a "dark mode"
 setting. See <https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/>

new wishlist item: support dark mode in antitheme
diff --git a/doc/todo/support_dark_mode_in_antitheme.mdwn b/doc/todo/support_dark_mode_in_antitheme.mdwn
new file mode 100644
index 000000000..801ff2507
--- /dev/null
+++ b/doc/todo/support_dark_mode_in_antitheme.mdwn
@@ -0,0 +1,19 @@
+[[!tag wishlist]]
+
+Modern OSes and browsers can now report a user's preference for a "dark mode"
+setting. See <https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/>
+for some background on technical specifics.
+
+The default IkiWiki anti-theme leaves most styling decisions up to the browser.
+Nevertheless, the anti-theme will always be rendered as Light, regardless of a
+user's preference for dark-mode, as a site's css needs to explicitly indicate
+that it *can* support dark-mode in order for it to be available.
+
+IkiWiki's anti-theme almost entirely supports dark-mode out of the box by virtue
+of delegating the style decisions to browser defaults. We should add the minimum
+required CSS to let it be enabled.
+
+(The only example of default theme which does not appear to look good in dark
+mode, in my testing, is the styling around [[RecentChanges]].)
+
+—­[[Jon]], *2022-12-12*

revert spam
This reverts commit 41dd34c030be3c0c3ad98e696117ed6a4d2ca73a
diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index 21ef42728..56f78a4e8 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -34,7 +34,7 @@ gnomes will convert them to css files..)
 
 * **[[02_Template.css]]**, contributed and adapted by [maxx](http://martin.wuertele.net/), [original](http://www.openwebdesign.org/viewdesign.phtml?id=3057)
   designed by [jarico](http://www.openwebdesign.org/userinfo.phtml?user=jcarico) 
-  (License: [public domain](https://simthanhdat.net)). You'll need a modified page.tmpl
+  (License: public domain). You'll need a modified page.tmpl
   **[[css_market/02_Template.tmpl]]**. If you prefer 
   [my header image](http://martin.wuertele.net/images/header.png) you can 
   use it under the terms of the MIT License (see png comment).

diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index 56f78a4e8..21ef42728 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -34,7 +34,7 @@ gnomes will convert them to css files..)
 
 * **[[02_Template.css]]**, contributed and adapted by [maxx](http://martin.wuertele.net/), [original](http://www.openwebdesign.org/viewdesign.phtml?id=3057)
   designed by [jarico](http://www.openwebdesign.org/userinfo.phtml?user=jcarico) 
-  (License: public domain). You'll need a modified page.tmpl
+  (License: [public domain](https://simthanhdat.net)). You'll need a modified page.tmpl
   **[[css_market/02_Template.tmpl]]**. If you prefer 
   [my header image](http://martin.wuertele.net/images/header.png) you can 
   use it under the terms of the MIT License (see png comment).

Revert spam edit.
This reverts commit 420381a226fbd0a19c8a0bc5125c572ab4ad775d.
diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index 6f282949d..56f78a4e8 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -34,7 +34,7 @@ gnomes will convert them to css files..)
 
 * **[[02_Template.css]]**, contributed and adapted by [maxx](http://martin.wuertele.net/), [original](http://www.openwebdesign.org/viewdesign.phtml?id=3057)
   designed by [jarico](http://www.openwebdesign.org/userinfo.phtml?user=jcarico) 
-  (License: [public domain](https://simthanhdat.net/)). You'll need a modified page.tmpl
+  (License: public domain). You'll need a modified page.tmpl
   **[[css_market/02_Template.tmpl]]**. If you prefer 
   [my header image](http://martin.wuertele.net/images/header.png) you can 
   use it under the terms of the MIT License (see png comment).

diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index 56f78a4e8..6f282949d 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -34,7 +34,7 @@ gnomes will convert them to css files..)
 
 * **[[02_Template.css]]**, contributed and adapted by [maxx](http://martin.wuertele.net/), [original](http://www.openwebdesign.org/viewdesign.phtml?id=3057)
   designed by [jarico](http://www.openwebdesign.org/userinfo.phtml?user=jcarico) 
-  (License: public domain). You'll need a modified page.tmpl
+  (License: [public domain](https://simthanhdat.net/)). You'll need a modified page.tmpl
   **[[css_market/02_Template.tmpl]]**. If you prefer 
   [my header image](http://martin.wuertele.net/images/header.png) you can 
   use it under the terms of the MIT License (see png comment).

Review of disclaimer.
diff --git a/doc/plugins/contrib/opengraph/discussion.mdwn b/doc/plugins/contrib/opengraph/discussion.mdwn
new file mode 100644
index 000000000..8b6d0c79c
--- /dev/null
+++ b/doc/plugins/contrib/opengraph/discussion.mdwn
@@ -0,0 +1,3 @@
+Regarding the disclaimer "WARNING: Open Graph is modern spyware. You should use this if and only if you don't mind making the readers of your wiki/blog being tracked by evil corporations without their consent. By using this plugin you are being mean to the people who are reading your content. You have been warned."
+
+I have looked up how open graph is described to work, and don't see how this can be considered spyware. All it seems to do is enable to control how shared links are displayed on social networks that implement the protocol, and possibly on those platforms determine how many times a link to my site would be shared a little more easily, but there doesn't seem to be a way readers of my site would be tracked thanks to the metadata on the wiki. Even if they are users of social networks and logged in there, their browsing of my site won't be tracked after open graph metadata is included. Is that incorrect?

Revert spam
This reverts commit 48cb1a494577dc047c17f10364ecd217b01194ad
diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index 21ef42728..56f78a4e8 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -34,7 +34,7 @@ gnomes will convert them to css files..)
 
 * **[[02_Template.css]]**, contributed and adapted by [maxx](http://martin.wuertele.net/), [original](http://www.openwebdesign.org/viewdesign.phtml?id=3057)
   designed by [jarico](http://www.openwebdesign.org/userinfo.phtml?user=jcarico) 
-  (License: [public domain](https://simthanhdat.net)). You'll need a modified page.tmpl
+  (License: public domain). You'll need a modified page.tmpl
   **[[css_market/02_Template.tmpl]]**. If you prefer 
   [my header image](http://martin.wuertele.net/images/header.png) you can 
   use it under the terms of the MIT License (see png comment).

diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index 56f78a4e8..21ef42728 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -34,7 +34,7 @@ gnomes will convert them to css files..)
 
 * **[[02_Template.css]]**, contributed and adapted by [maxx](http://martin.wuertele.net/), [original](http://www.openwebdesign.org/viewdesign.phtml?id=3057)
   designed by [jarico](http://www.openwebdesign.org/userinfo.phtml?user=jcarico) 
-  (License: public domain). You'll need a modified page.tmpl
+  (License: [public domain](https://simthanhdat.net)). You'll need a modified page.tmpl
   **[[css_market/02_Template.tmpl]]**. If you prefer 
   [my header image](http://martin.wuertele.net/images/header.png) you can 
   use it under the terms of the MIT License (see png comment).

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index acf53e6a8..24e6c9f20 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -258,3 +258,11 @@ I must **emphasise** this.
       cout << "secondvalue is " << secondvalue << '\n';
       return 0;
     }
+
+testeteset
+
+Install ikiwiki
+
+If you're using Debian or Ubuntu, ikiwiki is an apt-get install ikiwiki away. If you're not, see the download and install pages.
+
+You may also want to try out IkiWiki in a container.

Record yesterday's spam edits.
diff --git a/doc/spam_fighting.mdwn b/doc/spam_fighting.mdwn
index bb8bc904d..3a4856267 100644
--- a/doc/spam_fighting.mdwn
+++ b/doc/spam_fighting.mdwn
@@ -39,4 +39,5 @@ ca4d8fc and 17 more | 2015/01/12-14 | spalax. (note the trailing dot) | 122.173.
 1d05cf3 | 2015/05/20 | justine (OpenID) | ?
 697a0e4 and bc1b60b | 2019/12/21 | 360boom720@gmail.com | 99.203.143.171
 39c6ce3 and 13 more | 2020/06/04 | gogreenjogja1453@gmail.com | 114.142.169.63
+109d256 and 22 more | 2022/10/02 | jaysonbaldecanas1986@gmail.com | 193.150.70.77
 """]]

Revert "update for rename of recentchanges.mdwn to json.tl.ph.mdwn"
This reverts the most recent 23 commits, all with the same log message.
diff --git a/doc/bugs/RecentChanges_broken_with_empty_svnpath.mdwn b/doc/bugs/RecentChanges_broken_with_empty_svnpath.mdwn
index 1bfd8f3b3..c852df5e9 100644
--- a/doc/bugs/RecentChanges_broken_with_empty_svnpath.mdwn
+++ b/doc/bugs/RecentChanges_broken_with_empty_svnpath.mdwn
@@ -1,4 +1,4 @@
-The [[Json.tl.ph]] page is broken (doesn't show any history at all) when used with an empty svnpath in the ikiwiki.setup file.
+The [[RecentChanges]] page is broken (doesn't show any history at all) when used with an empty svnpath in the ikiwiki.setup file.
 
 Say you have the following configuration:
 
@@ -6,7 +6,7 @@ Say you have the following configuration:
     svnrepo => "ssh+svn://foo.bar.com/wiki",
     svnpath => "",
 
-In the above, $svnpath need to be either empty or "/" - both trigger the 'next unless' check in IkiWiki/Rcs/svn.pm:rcs_recentchanges() as shown in the patch below, thus causing all files to be ignored for [[Json.tl.ph]].
+In the above, $svnpath need to be either empty or "/" - both trigger the 'next unless' check in IkiWiki/Rcs/svn.pm:rcs_recentchanges() as shown in the patch below, thus causing all files to be ignored for [[RecentChanges]].
 
 I can not see why this check is needed in the first place, so here's a patch for removing it :)
 
diff --git a/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn b/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn
index cd6db2c9d..eb95e9992 100644
--- a/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn
+++ b/doc/bugs/RecentChanges_contains_invalid_XHTML.mdwn
@@ -1,6 +1,6 @@
 The final `</div>` in `recentchanges.tmpl` gets wrapped in a
 `<p>` tag for some reason, resulting in the following invalid XHTML at
-the end of the [[Json.tl.ph]] page
+the end of the [[RecentChanges]] page
 
     <p></div></p>
 
@@ -11,7 +11,7 @@ the end of the [[Json.tl.ph]] page
 Also, there is a problem with the `<img>` tags generated by the smiley
 plugin which end up wrapped in a `<pre>` tag in the inline diff output.
 `<img>` tags is not allowed within a `<pre>` block.  Maybe the smiley
-plugin should be disabled on [[Json.tl.ph]]?
+plugin should be disabled on [[RecentChanges]]?
 
 > See [[Smileys_in_the_block_code]], which is now fixed. --[[Joey]]
 
diff --git a/doc/bugs/RecentChanges_links_to_deleted_pages.mdwn b/doc/bugs/RecentChanges_links_to_deleted_pages.mdwn
index 4c0b4bfb6..0eaeafb0c 100644
--- a/doc/bugs/RecentChanges_links_to_deleted_pages.mdwn
+++ b/doc/bugs/RecentChanges_links_to_deleted_pages.mdwn
@@ -1,4 +1,4 @@
-[[Json.tl.ph]] should not link to pages that are being deleted. For as
+[[RecentChanges]] should not link to pages that are being deleted. For as
 example, see the change with the title 'add news item for ikiwiki 2.60'
 which includes the deletion of "news/version 2.52". Maybe it should be made
 clear in RecentChanges that the change to the file is it being deleted.
diff --git a/doc/bugs/cannot_revert_page_deletion.mdwn b/doc/bugs/cannot_revert_page_deletion.mdwn
index bc440de8a..651b4d0ec 100644
--- a/doc/bugs/cannot_revert_page_deletion.mdwn
+++ b/doc/bugs/cannot_revert_page_deletion.mdwn
@@ -1,4 +1,4 @@
-After deleting a page with the "remove" button, it seems that the page deletion cannot be reverted using the "revert" icon in [[Json.tl.ph]]. 
+After deleting a page with the "remove" button, it seems that the page deletion cannot be reverted using the "revert" icon in [[RecentChanges]]. 
 It ironically says that "Error: ?$pagename does not exist". See [[http://ikiwiki.info/ikiwiki.cgi?rev=860c2c84d98ea0a38a4f91dacef6d4e09f6e6c2e&do=revert]]. [[JeanPrivat]]
 
 > And it only gets that far if the remove plugin is enabled. Otherwise it
diff --git a/doc/bugs/comments_produce_broken_links_in_RecentChanges.mdwn b/doc/bugs/comments_produce_broken_links_in_RecentChanges.mdwn
index 14073e731..dae00857b 100644
--- a/doc/bugs/comments_produce_broken_links_in_RecentChanges.mdwn
+++ b/doc/bugs/comments_produce_broken_links_in_RecentChanges.mdwn
@@ -1,4 +1,4 @@
-Comments produce links like `sandbox/comment_1` in [[Json.tl.ph]], which,
+Comments produce links like `sandbox/comment_1` in [[RecentChanges]], which,
 when clicked, redirect to a page that does not exist.
 
 The `recentchanges` branch in my repository contains one possible [[patch]],
diff --git a/doc/bugs/discussion.mdwn b/doc/bugs/discussion.mdwn
index e385cf8ad..474e07564 100644
--- a/doc/bugs/discussion.mdwn
+++ b/doc/bugs/discussion.mdwn
@@ -8,7 +8,7 @@ the ikiwiki.cgi CGI wrapper. ..."
 
   Enable [[CGI]] mode. In cgi mode ikiwiki __runs as a cgi script__, and
   supports editing pages, signing in, registration, and displaying
-  [[Json.tl.ph]].
+  [[RecentChanges]].
 
   __To use ikiwiki as a [[CGI]] program you need to use --wrapper or --setup
   to generate a wrapper.__ The wrapper will generally need to run suid 6755
diff --git a/doc/bugs/firefox_doesn__39__t_want_to_load_updated_pages_at_ikiwiki.info.mdwn b/doc/bugs/firefox_doesn__39__t_want_to_load_updated_pages_at_ikiwiki.info.mdwn
index 852a0e37d..558eb90c8 100644
--- a/doc/bugs/firefox_doesn__39__t_want_to_load_updated_pages_at_ikiwiki.info.mdwn
+++ b/doc/bugs/firefox_doesn__39__t_want_to_load_updated_pages_at_ikiwiki.info.mdwn
@@ -1,4 +1,4 @@
-I'm using firefox-3.0.8-alt0.M41.1 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4pre) Gecko/2008100921 Firefox/3.0). I have noticed that quite often it shows an old state of a page at http://ikiwiki.info, e.g., [[json.tl.ph]] without my last edits, or the last page I edited (say, 50 min ago) in the state it was before I edited it.
+I'm using firefox-3.0.8-alt0.M41.1 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4pre) Gecko/2008100921 Firefox/3.0). I have noticed that quite often it shows an old state of a page at http://ikiwiki.info, e.g., [[recentchanges]] without my last edits, or the last page I edited (say, 50 min ago) in the state it was before I edited it.
 
 Only explicitly pressing "reload" helps.
 
diff --git a/doc/bugs/openid_no_longer_pretty-prints_OpenIDs.mdwn b/doc/bugs/openid_no_longer_pretty-prints_OpenIDs.mdwn
index a034fe541..85a206bc0 100644
--- a/doc/bugs/openid_no_longer_pretty-prints_OpenIDs.mdwn
+++ b/doc/bugs/openid_no_longer_pretty-prints_OpenIDs.mdwn
@@ -6,7 +6,7 @@ The git commit (in my `openid` branch) says it all:
     However, all we actually want is the (undocumented) DisplayOfURL function
     that is invoked by the display method, so try to use that.
 
-This bug affects ikiwiki.info (my commits show up in [[Json.tl.ph]] as http://smcv.pseudorandom.co.uk/ rather than smcv [pseudorandom.co.uk]).
+This bug affects ikiwiki.info (my commits show up in [[RecentChanges]] as http://smcv.pseudorandom.co.uk/ rather than smcv [pseudorandom.co.uk]).
 
 > Cherry picked, thanks. --[[Joey]]
 
diff --git a/doc/bugs/web_reversion_on_ikiwiki.info.mdwn b/doc/bugs/web_reversion_on_ikiwiki.info.mdwn
index 0159f5b77..6f18cfcba 100644
--- a/doc/bugs/web_reversion_on_ikiwiki.info.mdwn
+++ b/doc/bugs/web_reversion_on_ikiwiki.info.mdwn
@@ -1,5 +1,5 @@
 I created [[sandbox/revert me]] and then tried the revert button on
-[[json.tl.ph]], but I was not allowed to revert it. The specific error
+[[recentchanges]], but I was not allowed to revert it. The specific error
 was
 
     Error: you are not allowed to change sandbox/revert_me.mdwn
diff --git a/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn b/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn
index 71b8b06be..5f7450b79 100644
--- a/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn
+++ b/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn
@@ -3,6 +3,6 @@ in ikiwiki instances that don't reside in the git root directory (the only ones
 the expected behavior is to compensate for the modified root directory (i.e., show index instead of doc/index).
 
 > This seems to work OK now - commit 84c4ca33 and its reversion both
-> appear correctly in [[json.tl.ph]]. Looking at git history,
+> appear correctly in [[recentchanges]]. Looking at git history,
 > Joey [[fixed this|done]] in commit 1b6c1895 before 3.20120203.
 > --[[smcv]]
diff --git a/doc/contact.mdwn b/doc/contact.mdwn
index f85fcf2d9..afcc67765 100644
--- a/doc/contact.mdwn
+++ b/doc/contact.mdwn
@@ -3,7 +3,7 @@ and thus does not have a mailing list.  Anyone can create an account on
 ikiwiki's own wiki. ikiwiki provides a [[bug_tracker|bugs]], a
 [[TODO_list|TODO]], and "discussion" sub-pages for every page, as well as a
 [[forum]] for general questions and discussion. ikiwiki
-developers monitor [[Json.tl.ph]] closely, via the webpage, email,
+developers monitor [[RecentChanges]] closely, via the webpage, email,
 and IRC, and respond in a timely fashion.
 
 You could also drop by the IRC channel `#ikiwiki` on
diff --git a/doc/features.mdwn b/doc/features.mdwn
index 4dee6c2d8..61b23bb59 100644
--- a/doc/features.mdwn
+++ b/doc/features.mdwn
@@ -133,7 +133,7 @@ page being concurrently edited, regular commit conflict markers are
 shown in the file to resolve the conflict, so if you're already familiar
 with that there's no new commit marker syntax to learn.
 
-### [[Json.tl.ph]], editing pages in a web browser
+### [[RecentChanges]], editing pages in a web browser
 
 Nearly the definition of a wiki, although perhaps ikiwiki challenges how
 much of that web gunk a wiki really needs. These features are optional
diff --git a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment
index 071642ac0..2b6237bc4 100644
--- a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment
+++ b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment
@@ -4,5 +4,5 @@
  subject="comment 2"
  date="2011-12-20T15:13:48Z"
  content="""
-The [[Json.tl.ph]] page is a regular wiki page that inlines a few special pages with a special template. That content can be copied anywhere else in the wiki to get the same effect.
+The [[RecentChanges]] page is a regular wiki page that inlines a few special pages with a special template. That content can be copied anywhere else in the wiki to get the same effect.
 """]]
diff --git a/doc/forum/Spaces_in_wikilinks.mdwn b/doc/forum/Spaces_in_wikilinks.mdwn
index aa8bfef20..9326ac448 100644
--- a/doc/forum/Spaces_in_wikilinks.mdwn
+++ b/doc/forum/Spaces_in_wikilinks.mdwn
@@ -34,7 +34,7 @@ I'm playing around with various ways that I can use subversion with ikiwiki.
 > away without running the post-commit wrapper on commit, and all you lose
 > is the ability to send commit notification emails.
 
-> (And now that [[json.tl.ph]] includes rss, you can just subscribe to
+> (And now that [[recentchanges]] includes rss, you can just subscribe to
 > that, no need to worry about commit notification emails anymore.)
 
 * Is it possible / sensible to have ikiwiki share a subversion repository with other data (either completely unrelated files or another ikiwiki instance)?  This works in part but again the post-commit hook seems problematic.
diff --git a/doc/forum/Various_ways_to_use_Subversion_with_ikiwiki.mdwn b/doc/forum/Various_ways_to_use_Subversion_with_ikiwiki.mdwn
index d540d4b00..8eed30cd8 100644
--- a/doc/forum/Various_ways_to_use_Subversion_with_ikiwiki.mdwn
+++ b/doc/forum/Various_ways_to_use_Subversion_with_ikiwiki.mdwn
@@ -10,7 +10,7 @@ I'm playing around with various ways that I can use subversion with ikiwiki.
 > away without running the post-commit wrapper on commit, and all you lose
 > is the ability to send commit notification emails.
 
-> (And now that [[json.tl.ph]] includes rss, you can just subscribe to
+> (And now that [[recentchanges]] includes rss, you can just subscribe to
 > that, no need to worry about commit notification emails anymore.)
 
 * Is it possible / sensible to have ikiwiki share a subversion repository with other data (either completely unrelated files or another ikiwiki instance)?  This works in part but again the post-commit hook seems problematic.
diff --git a/doc/forum/web_service_API__44___fastcgi_support.mdwn b/doc/forum/web_service_API__44___fastcgi_support.mdwn
index dd57a8ded..84b227eef 100644
--- a/doc/forum/web_service_API__44___fastcgi_support.mdwn
+++ b/doc/forum/web_service_API__44___fastcgi_support.mdwn
@@ -1,6 +1,6 @@
 This is a half-baked thought of mine so I thought I would post it in forum for discussion.
 
-There are some things that ikiwiki.cgi is asked to do which do not involve changing the repository: these include form generation, handling logins, the "goto" from [[json.tl.ph]], edit previews, etc.

(Diff truncated)
update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment
index 2b6237bc4..071642ac0 100644
--- a/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment
+++ b/doc/forum/Recent_changes_on_main_site_or_on_a_sidebar/comment_2_927c11f18315baa39f08ca4982ed2ab1._comment
@@ -4,5 +4,5 @@
  subject="comment 2"
  date="2011-12-20T15:13:48Z"
  content="""
-The [[RecentChanges]] page is a regular wiki page that inlines a few special pages with a special template. That content can be copied anywhere else in the wiki to get the same effect.
+The [[Json.tl.ph]] page is a regular wiki page that inlines a few special pages with a special template. That content can be copied anywhere else in the wiki to get the same effect.
 """]]

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/rcs/git.mdwn b/doc/rcs/git.mdwn
index fa7a037ba..7dc8d836a 100644
--- a/doc/rcs/git.mdwn
+++ b/doc/rcs/git.mdwn
@@ -8,7 +8,7 @@ the Linux kernel. Ikiwiki supports storing a wiki in git.
 Ikiwiki can run as a git `post-update` hook to update a wiki
 whenever commits come in. When running as a [[cgi]],
 ikiwiki automatically commits edited pages, and uses the
-git history to generate the [[RecentChanges]] page.
+git history to generate the [[Json.tl.ph]] page.
 
 Normally you can just follow the instructions in [[setup]] to create
 the git repositories and get started. To understand the details, read on.

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/rcs/bzr.mdwn b/doc/rcs/bzr.mdwn
index 19a7ae395..6ca197477 100644
--- a/doc/rcs/bzr.mdwn
+++ b/doc/rcs/bzr.mdwn
@@ -5,4 +5,4 @@ bzr repository.
 Ikiwiki can run as a post-update hook to update a wiki whenever commits
 come in. When running as a [[cgi]] with bzr, ikiwiki automatically
 commits edited pages, and uses the bzr history to generate the
-[[RecentChanges]] page.
+[[Json.tl.ph]] page.

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/news/no_more_email_notifications.mdwn b/doc/news/no_more_email_notifications.mdwn
index 18a70557e..f07cc5006 100644
--- a/doc/news/no_more_email_notifications.mdwn
+++ b/doc/news/no_more_email_notifications.mdwn
@@ -1,12 +1,12 @@
 ikiwiki.info has upgraded to the not yet released ikiwiki 2.30. This
 version of ikiwiki drops support for subscribing to commit mail
 notifications for pages. The idea is that you can subscribe to the new
-[[RecentChanges]] feed instead. (Or create your own custom feed of only the
+[[Json.tl.ph]] feed instead. (Or create your own custom feed of only the
 changes you're interested in, and subscribe to that.)
 
 So if you were subscribed to mail notifications on here, you'll need to
 change how you keep track of changes. Please let me know if there are any
-missing features in the [[RecentChanges]] feeds.
+missing features in the [[Json.tl.ph]] feeds.
 
 Statically building the RecentChanges also has performance implications,
 I'll keep an eye on [[server_speed]]..

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/forum/web_service_API__44___fastcgi_support.mdwn b/doc/forum/web_service_API__44___fastcgi_support.mdwn
index 84b227eef..dd57a8ded 100644
--- a/doc/forum/web_service_API__44___fastcgi_support.mdwn
+++ b/doc/forum/web_service_API__44___fastcgi_support.mdwn
@@ -1,6 +1,6 @@
 This is a half-baked thought of mine so I thought I would post it in forum for discussion.
 
-There are some things that ikiwiki.cgi is asked to do which do not involve changing the repository: these include form generation, handling logins, the "goto" from [[recentchanges]], edit previews, etc.
+There are some things that ikiwiki.cgi is asked to do which do not involve changing the repository: these include form generation, handling logins, the "goto" from [[json.tl.ph]], edit previews, etc.
 
 For one thing I am working on slowly ([[todo/interactive todo lists]]), I've hit a situation where I am likely to need to implement doing markup evaluation for a subset of a page. The problem I face is, if a user edits content in the browser, markup, ikiwiki directives etc. need to be expanded. I could possibly do this with a round-trip through edit preview, but that would be for the whole content of a page, and I hit the problem with editing a list item.
 

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/security.mdwn b/doc/security.mdwn
index fcc33fd48..29cbab6be 100644
--- a/doc/security.mdwn
+++ b/doc/security.mdwn
@@ -22,7 +22,7 @@ _(The list of things to fix.)_
 ## commit spoofing
 
 Anyone with direct commit access can forge "web commit from foo" and
-make it appear on [[RecentChanges]] like foo committed. One way to avoid
+make it appear on [[Json.tl.ph]] like foo committed. One way to avoid
 this would be to limit web commits to those done by a certain user.
 
 ## other stuff to look at

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn b/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn
index 5f7450b79..71b8b06be 100644
--- a/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn
+++ b/doc/bugs/wrong_link_in_recentchanges_when_reverting_an_ikiwiki_outside_git_root.mdwn
@@ -3,6 +3,6 @@ in ikiwiki instances that don't reside in the git root directory (the only ones
 the expected behavior is to compensate for the modified root directory (i.e., show index instead of doc/index).
 
 > This seems to work OK now - commit 84c4ca33 and its reversion both
-> appear correctly in [[recentchanges]]. Looking at git history,
+> appear correctly in [[json.tl.ph]]. Looking at git history,
 > Joey [[fixed this|done]] in commit 1b6c1895 before 3.20120203.
 > --[[smcv]]

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/bugs/discussion.mdwn b/doc/bugs/discussion.mdwn
index 474e07564..e385cf8ad 100644
--- a/doc/bugs/discussion.mdwn
+++ b/doc/bugs/discussion.mdwn
@@ -8,7 +8,7 @@ the ikiwiki.cgi CGI wrapper. ..."
 
   Enable [[CGI]] mode. In cgi mode ikiwiki __runs as a cgi script__, and
   supports editing pages, signing in, registration, and displaying
-  [[RecentChanges]].
+  [[Json.tl.ph]].
 
   __To use ikiwiki as a [[CGI]] program you need to use --wrapper or --setup
   to generate a wrapper.__ The wrapper will generally need to run suid 6755

update for rename of recentchanges.mdwn to json.tl.ph.mdwn
diff --git a/doc/rcs/tla.mdwn b/doc/rcs/tla.mdwn
index 79eecd627..952000260 100644
--- a/doc/rcs/tla.mdwn
+++ b/doc/rcs/tla.mdwn
@@ -8,6 +8,6 @@ using ikiwiki with tla is not recommended.
 Ikiwiki can run as a [[post-commit]] hook to update a wiki whenever commits
 come in. When running as a [[cgi]] with tla, ikiwiki automatically
 commits edited pages to the Arch repostory, and uses the Arch
-log to generate the [[RecentChanges]] page.
+log to generate the [[Json.tl.ph]] page.
 
 Note that the tla support needs the [[!cpan MailTools]] perl module.