Recent changes to this wiki:

Add mention of Alpine Linux package.
diff --git a/doc/setup.mdwn b/doc/setup.mdwn
index 2d3b54139..2a0ef3889 100644
--- a/doc/setup.mdwn
+++ b/doc/setup.mdwn
@@ -8,6 +8,8 @@ If you're using Debian or Ubuntu, ikiwiki is an <code><a href="http://www.debian
 
 For those using Fedora, [IkiWiki is available as Fedora package](https://packages.fedoraproject.org/pkgs/ikiwiki/ikiwiki/).
 
+For those using Alpine Linux, [IkiWiki is available as an Alpine package](https://pkgs.alpinelinux.org/package/edge/community/x86_64/ikiwiki), thus installable via <code>apk add ikiwiki</code>.
+
 Otherwise, see the [[download]] and [[install]] pages.
 
 You may also want to try out IkiWiki in a [[container|containers]].

Add reply
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 33fab4f23..606c8d6f8 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -280,6 +280,7 @@ If you're using Debian or Ubuntu, ikiwiki is an apt-get install ikiwiki away. If
 You may also want to try out IkiWiki in a container.
 
 This line was added using the web interface
+> Indeed
 
 [[!table data="""
 Table|

Add table to sandbox
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 98f41593a..33fab4f23 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -280,3 +280,10 @@ If you're using Debian or Ubuntu, ikiwiki is an apt-get install ikiwiki away. If
 You may also want to try out IkiWiki in a container.
 
 This line was added using the web interface
+
+[[!table data="""
+Table|
+Wiki|Ikiwiki
+Compiler?|Yes
+Cool?|Indubitably
+"""]]

Pass image value as-is
diff --git a/doc/templates/episode.mdwn b/doc/templates/episode.mdwn
index 8be69c6ea..b18d32b21 100644
--- a/doc/templates/episode.mdwn
+++ b/doc/templates/episode.mdwn
@@ -2,7 +2,7 @@
 <div class="infobox">
 [[!table data="""
 **<TMPL_VAR title>**|
-[[!img img/<TMPL_VAR image> size=425x caption="<TMPL_VAR imagecaption>"]]|
+[[!img img/<TMPL_VAR raw_image> size=425x caption="<TMPL_VAR imagecaption>"]]|
 Season|<TMPL_VAR partOfSeason>
 Episode|<TMPL_VAR episodeNumber>
 Air date|<TMPL_VAR airDate>

Update comment
diff --git a/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn b/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn
index 18901383a..70b5318f0 100644
--- a/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn
+++ b/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn
@@ -68,6 +68,8 @@ and have it render like:
 >>> (both the table plugin and markdown) because the markup isn't processed
 >>> in the page context. What you describe regarding the processing order
 >>> should fix it.
+>>> Nevermind, it generally seems that footnotes aren't allowed in tables
+>>> and footnotes can't be referred to more than once in Markdown.
 >>> --[[adam|awesomeadam]]
 
 [[!debbug 487397]]

Clarify location of images
diff --git a/doc/templates/character.mdwn b/doc/templates/character.mdwn
index 971b51258..0cd230124 100644
--- a/doc/templates/character.mdwn
+++ b/doc/templates/character.mdwn
@@ -26,7 +26,7 @@ This template is used to create an infobox for a character of a TV show. It uses
 these parameters:
 
 * name - the name of the character
-* image - the file path of an image in the wiki
+* image - the file path of an image in the wiki, under the img directory
 * imagecaption - the image caption
 * aliases - the aliases of the character
 * relatives - the relatives of the character

Keep images in img directory
diff --git a/doc/templates/episode.mdwn b/doc/templates/episode.mdwn
index a82cff4cb..8be69c6ea 100644
--- a/doc/templates/episode.mdwn
+++ b/doc/templates/episode.mdwn
@@ -2,7 +2,7 @@
 <div class="infobox">
 [[!table data="""
 **<TMPL_VAR title>**|
-[[!img <TMPL_VAR image> size=425x caption="<TMPL_VAR imagecaption>"]]|
+[[!img img/<TMPL_VAR image> size=425x caption="<TMPL_VAR imagecaption>"]]|
 Season|<TMPL_VAR partOfSeason>
 Episode|<TMPL_VAR episodeNumber>
 Air date|<TMPL_VAR airDate>
@@ -19,7 +19,7 @@ This template is used to create an infobox for an episode of a TV show. It uses
 these parameters:
 
 * title - the title of the episode
-* image - the file path of an image in the wiki
+* image - the file path of an image in the wiki, under the img directory
 * imagecaption - the image caption
 * partOfSeason - the season number
 * episodeNumber - notes about the episode number

Add comment
diff --git a/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn b/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn
index 9f0a1d102..18901383a 100644
--- a/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn
+++ b/doc/bugs/wiki_links_still_processed_inside_code_blocks.mdwn
@@ -64,4 +64,10 @@ and have it render like:
 >>
 >> --[[isbear]]
 
+>>> I found a bug where footnotes can't be added inside tables
+>>> (both the table plugin and markdown) because the markup isn't processed
+>>> in the page context. What you describe regarding the processing order
+>>> should fix it.
+>>> --[[adam|awesomeadam]]
+
 [[!debbug 487397]]

Add character template
diff --git a/doc/templates/character.mdwn b/doc/templates/character.mdwn
new file mode 100644
index 000000000..971b51258
--- /dev/null
+++ b/doc/templates/character.mdwn
@@ -0,0 +1,44 @@
+[[!templatebody <<ENDBODY
+<div class="infobox">
+[[!table data="""
+**<TMPL_VAR name>**|
+[[!img img/<TMPL_VAR image> size=265x caption="<TMPL_VAR imagecaption>"]]|
+Aliases|<TMPL_VAR aliases>
+Relatives|<TMPL_VAR relatives>
+Affiliation|<TMPL_VAR affiliation>
+Occupation|<TMPL_VAR occupation>
+**Biographical Information**|
+Marital status|<TMPL_VAR marital>
+Date of birth|<TMPL_VAR birthDate>
+Place of birth|<TMPL_VAR birthPlace>
+**Physical Description**|
+Species|<TMPL_VAR species>
+Gender|<TMPL_VAR gender>
+**Appearances**|
+Portrayed by|<TMPL_VAR portrayedby>
+Appears in|<TMPL_VAR raw_appearsin>
+Debut|[[<TMPL_VAR raw_debut>]]
+"""]]
+</div>
+ENDBODY]]
+
+This template is used to create an infobox for a character of a TV show. It uses
+these parameters:
+
+* name - the name of the character
+* image - the file path of an image in the wiki
+* imagecaption - the image caption
+* aliases - the aliases of the character
+* relatives - the relatives of the character
+* affiliation - the affiliation of the character
+* occupation - the character's occupation
+* marital - the character's marital status
+* birthDate - the character's birth date
+* birthPlace - the character's birth place
+* species - the species of the character
+* gender - the gender of the character
+* portrayedby - the actors that portray the character
+* appearsin - notes about the episodes the character appears in
+* debut - the episode that debuts the character
+
+This template uses the [[table|plugins/table]] and [[img|plugins/img]] directives.

Fix HTML mangling of previous and next episode names
diff --git a/doc/templates/episode.mdwn b/doc/templates/episode.mdwn
index 0650a096c..a82cff4cb 100644
--- a/doc/templates/episode.mdwn
+++ b/doc/templates/episode.mdwn
@@ -10,7 +10,7 @@ Writer|<TMPL_VAR writer>
 Director|<TMPL_VAR director>
 Episode guide|
 Previous|Next
-[[<TMPL_VAR previousEpisode>]]|[[<TMPL_VAR nextEpisode>]]
+[[<TMPL_VAR raw_previousEpisode>]]|[[<TMPL_VAR raw_nextEpisode>]]
 """]]
 </div>
 ENDBODY]]

Remove extraneous space
diff --git a/doc/templates/episode.mdwn b/doc/templates/episode.mdwn
index a056128b8..0650a096c 100644
--- a/doc/templates/episode.mdwn
+++ b/doc/templates/episode.mdwn
@@ -4,7 +4,7 @@
 **<TMPL_VAR title>**|
 [[!img <TMPL_VAR image> size=425x caption="<TMPL_VAR imagecaption>"]]|
 Season|<TMPL_VAR partOfSeason>
-Episode|<TMPL_VAR episodeNumber> 
+Episode|<TMPL_VAR episodeNumber>
 Air date|<TMPL_VAR airDate>
 Writer|<TMPL_VAR writer>
 Director|<TMPL_VAR director>

Add links to used directives
diff --git a/doc/templates/episode.mdwn b/doc/templates/episode.mdwn
index 6c1a91911..a056128b8 100644
--- a/doc/templates/episode.mdwn
+++ b/doc/templates/episode.mdwn
@@ -29,4 +29,4 @@ these parameters:
 * previousEpisode - name of previous episode
 * nextEpisode - name of next episode
 
-This template uses the table and img directives.
+This template uses the [[plugins/table]] and [[plugins/img]] directives.

Add episode template
diff --git a/doc/templates/episode.mdwn b/doc/templates/episode.mdwn
new file mode 100644
index 000000000..6c1a91911
--- /dev/null
+++ b/doc/templates/episode.mdwn
@@ -0,0 +1,32 @@
+[[!templatebody <<ENDBODY
+<div class="infobox">
+[[!table data="""
+**<TMPL_VAR title>**|
+[[!img <TMPL_VAR image> size=425x caption="<TMPL_VAR imagecaption>"]]|
+Season|<TMPL_VAR partOfSeason>
+Episode|<TMPL_VAR episodeNumber> 
+Air date|<TMPL_VAR airDate>
+Writer|<TMPL_VAR writer>
+Director|<TMPL_VAR director>
+Episode guide|
+Previous|Next
+[[<TMPL_VAR previousEpisode>]]|[[<TMPL_VAR nextEpisode>]]
+"""]]
+</div>
+ENDBODY]]
+
+This template is used to create an infobox for an episode of a TV show. It uses
+these parameters:
+
+* title - the title of the episode
+* image - the file path of an image in the wiki
+* imagecaption - the image caption
+* partOfSeason - the season number
+* episodeNumber - notes about the episode number
+* airDate - the date the episode aired
+* writer - list of writers involved
+* director - list of directors involved
+* previousEpisode - name of previous episode
+* nextEpisode - name of next episode
+
+This template uses the table and img directives.

Add comment
diff --git a/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn b/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn
index ba4ddc558..50bb37c34 100644
--- a/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn
+++ b/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn
@@ -1 +1,3 @@
 I am going through the ikiwiki docs on this website, and I get confused by the docs' insistence of referring to markdown as "mdwn" files.  Mdwn files are normal markdown files, am I right?  Can ikiwiki understand and work with .md files, instead of mdwn?
+> Yes, ikiwiki can work with .md files just fine. The file extension is conventionally named after the plugin that parses the markup so that it's trivial to find it's name.
+> *&mdash; [[awesomeadam]], 2023-06-13*

Add placeholder page
diff --git a/doc/users/awesomeadam.mdwn b/doc/users/awesomeadam.mdwn
new file mode 100644
index 000000000..e965047ad
--- /dev/null
+++ b/doc/users/awesomeadam.mdwn
@@ -0,0 +1 @@
+Hello

linebreaks
diff --git a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
index 2bbc38ec5..111e55f6f 100644
--- a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
+++ b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
@@ -9,6 +9,8 @@ I think this patch is sufficient: <https://salsa.debian.org/jmtd/ikiwiki/-/commi
 *— [[Jon]], 2024-06-11*
 
 > I've pushed a Debian package update with a slightly more involved patch:
+>
 > <https://salsa.debian.org/debian/ikiwiki/-/blob/debian/master/debian/patches/0001-Adjustments-for-po4a-0.7.0.patch?ref_type=heads>
+>
 > I'm unavailable for a couple of weeks so I'll let it "soak" in Debian before committing it here.
 > *— [[Jon]], 2024-06-12*

patch (in Debian)
diff --git a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
index 5cc5d5597..2bbc38ec5 100644
--- a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
+++ b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
@@ -7,3 +7,8 @@ I think this patch is sufficient: <https://salsa.debian.org/jmtd/ikiwiki/-/commi
 [[!tag patch]]
 
 *— [[Jon]], 2024-06-11*
+
+> I've pushed a Debian package update with a slightly more involved patch:
+> <https://salsa.debian.org/debian/ikiwiki/-/blob/debian/master/debian/patches/0001-Adjustments-for-po4a-0.7.0.patch?ref_type=heads>
+> I'm unavailable for a couple of weeks so I'll let it "soak" in Debian before committing it here.
+> *— [[Jon]], 2024-06-12*

tag patch
diff --git a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
index 299a54d93..5cc5d5597 100644
--- a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
+++ b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
@@ -4,5 +4,6 @@ po plugin is broken.
 This was reported as a FTBFS bug in Debian: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072760>
 
 I think this patch is sufficient: <https://salsa.debian.org/jmtd/ikiwiki/-/commit/65f13f08901806a3b458cd625369e27bf19722e0>
+[[!tag patch]]
 
 *— [[Jon]], 2024-06-11*

debian ftbfs, upstream api, patch
diff --git a/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
new file mode 100644
index 000000000..299a54d93
--- /dev/null
+++ b/doc/bugs/po_plugin_broken_with_po4a_0.70.mdwn
@@ -0,0 +1,8 @@
+po4a version 0.70 and newer appear to have changed the API enough that the IkiWiki
+po plugin is broken.
+
+This was reported as a FTBFS bug in Debian: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072760>
+
+I think this patch is sufficient: <https://salsa.debian.org/jmtd/ikiwiki/-/commit/65f13f08901806a3b458cd625369e27bf19722e0>
+
+*— [[Jon]], 2024-06-11*

poll vote (other, including heavily modified versions of the above)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index 6e9b7501e..9f4309f33 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -2,8 +2,8 @@ Existing IkiWiki users: which [[themes]] do you use on your site?
 
 [[!poll 0 "antitheme (i.e., none)"
 1 "actiontabs"
-1 "blueview"
+0 "blueview"
 0 goldtype
 0 monochrome
-3 "other, including heavily modified versions of the above"
+4 "other, including heavily modified versions of the above"
 ]]

poll vote (blueview)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index 733119560..6e9b7501e 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -1,8 +1,8 @@
 Existing IkiWiki users: which [[themes]] do you use on your site?
 
 [[!poll 0 "antitheme (i.e., none)"
-2 "actiontabs"
-0 blueview
+1 "actiontabs"
+1 "blueview"
 0 goldtype
 0 monochrome
 3 "other, including heavily modified versions of the above"

poll vote (actiontabs)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index 2e924c8f2..733119560 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -1,7 +1,7 @@
 Existing IkiWiki users: which [[themes]] do you use on your site?
 
 [[!poll 0 "antitheme (i.e., none)"
-1 "actiontabs"
+2 "actiontabs"
 0 blueview
 0 goldtype
 0 monochrome

Remove concurrent editing test
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index be7d7a7a6..98f41593a 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -279,10 +279,4 @@ If you're using Debian or Ubuntu, ikiwiki is an apt-get install ikiwiki away. If
 
 You may also want to try out IkiWiki in a container.
 
-This line was added using the web interface.
-
-<<<<<<< HEAD
-This is concurrent edit #1.
-=======
-This is concurrent edit #2.
->>>>>>> 2144dad74c4a4cd027c47bda480f13c1b901df45
+This line was added using the web interface

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 128c3fcf8..be7d7a7a6 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -281,4 +281,8 @@ You may also want to try out IkiWiki in a container.
 
 This line was added using the web interface.
 
+<<<<<<< HEAD
 This is concurrent edit #1.
+=======
+This is concurrent edit #2.
+>>>>>>> 2144dad74c4a4cd027c47bda480f13c1b901df45

diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 9492c4bb6..128c3fcf8 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -280,3 +280,5 @@ If you're using Debian or Ubuntu, ikiwiki is an apt-get install ikiwiki away. If
 You may also want to try out IkiWiki in a container.
 
 This line was added using the web interface.
+
+This is concurrent edit #1.

poll vote (other, including heavily modified versions of the above)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index f9c06d84f..2e924c8f2 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -5,5 +5,5 @@ Existing IkiWiki users: which [[themes]] do you use on your site?
 0 blueview
 0 goldtype
 0 monochrome
-2 "other, including heavily modified versions of the above"
+3 "other, including heavily modified versions of the above"
 ]]

poll vote (actiontabs)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index 610b16407..f9c06d84f 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -1,7 +1,7 @@
 Existing IkiWiki users: which [[themes]] do you use on your site?
 
 [[!poll 0 "antitheme (i.e., none)"
-0 actiontabs
+1 "actiontabs"
 0 blueview
 0 goldtype
 0 monochrome

response: who would use a lightdark theme? other themes? 4.x roadmap
diff --git a/doc/todo/support_for_light_and_dark_mode.mdwn b/doc/todo/support_for_light_and_dark_mode.mdwn
index 85495608b..f3a9b09ff 100644
--- a/doc/todo/support_for_light_and_dark_mode.mdwn
+++ b/doc/todo/support_for_light_and_dark_mode.mdwn
@@ -94,3 +94,23 @@ is probably the best way to implement this.
 > 
 > If we add such a theme (name TBC), would you be happy to move `ikiwiki.info`
 > to it? — [[Jon]], *2024-03-18*
+
+>> I've been poking at this a little bit more over the last couple of weeks.
+>> Besides <https://ikiwiki.info>, I'm not sure anyone would use a new
+>> "lightdark" theme. I strongly suspect most people either use an existing
+>> theme or something custom (I started a [[forum/theme poll]] to try and
+>> gather some data). So I don't think it's worth much effort _unless_
+>> <https://ikiwiki.info> was going to use it.
+>> 
+>> There's a third strand of work not mentioned here or in
+>> [[support dark mode in antitheme]]: making the other existing themes
+>> support light-and-dark mode. That could be valuable, at least in the
+>> short term.
+>> 
+>> I concur that adjusting the antitheme to support light/dark mode could
+>> be regarded as a breaking change for existing users. I think we should
+>> consider putting that on the [[roadmap]] for a 4.x, and/or extending
+>> [[ikiwiki-transition]] to handle this case. Perhaps a "lightdark" theme
+>> could be enabled as part of a transition if we can detect where it
+>> introduces a problem (or perhaps mechanically detecting that is impractical).
+>> — [[Jon]], *2024-04-23*

poll vote (other, including heavily modified versions of the above)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index 44c5d97d8..610b16407 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -5,5 +5,5 @@ Existing IkiWiki users: which [[themes]] do you use on your site?
 0 blueview
 0 goldtype
 0 monochrome
-1 "other, including heavily modified versions of the above"
+2 "other, including heavily modified versions of the above"
 ]]

poll vote (other, including heavily modified versions of the above)
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index c22d0f80a..44c5d97d8 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -1,10 +1,9 @@
 Existing IkiWiki users: which [[themes]] do you use on your site?
 
-[[!poll
-0 "antitheme (i.e., none)"
+[[!poll 0 "antitheme (i.e., none)"
 0 actiontabs
 0 blueview
 0 goldtype
 0 monochrome
-0 "other, including heavily modified versions of the above"
+1 "other, including heavily modified versions of the above"
 ]]

fix syntax
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
index 945adf243..c22d0f80a 100644
--- a/doc/forum/theme_poll.mdwn
+++ b/doc/forum/theme_poll.mdwn
@@ -1,7 +1,7 @@
 Existing IkiWiki users: which [[themes]] do you use on your site?
 
 [[!poll
-0 "antitheme (i.e., none)
+0 "antitheme (i.e., none)"
 0 actiontabs
 0 blueview
 0 goldtype

attempt a theme poll
diff --git a/doc/forum/theme_poll.mdwn b/doc/forum/theme_poll.mdwn
new file mode 100644
index 000000000..945adf243
--- /dev/null
+++ b/doc/forum/theme_poll.mdwn
@@ -0,0 +1,10 @@
+Existing IkiWiki users: which [[themes]] do you use on your site?
+
+[[!poll
+0 "antitheme (i.e., none)
+0 actiontabs
+0 blueview
+0 goldtype
+0 monochrome
+0 "other, including heavily modified versions of the above"
+]]

Added a comment
diff --git a/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_3_2e0236f533e0016d41a5e7707fcad8bd._comment b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_3_2e0236f533e0016d41a5e7707fcad8bd._comment
new file mode 100644
index 000000000..473887706
--- /dev/null
+++ b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_3_2e0236f533e0016d41a5e7707fcad8bd._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/cae0ebd82377a48ef9f1f14ff23b3e0f"
+ subject="comment 3"
+ date="2024-04-16T14:06:32Z"
+ content="""
+> why was I able to remove joey's comment
+
+IkiWiki is (largely) a Wiki, and the base behaviour of a Wiki is everyone can edit it, and anything can be reverted (including your deletion)
+
+A related, unanswered question: [[forum/Everyone can remove comments]]. I reported this as a bug, too: [[bugs/logged in users can remove any comments]].
+
+On a related note, I'll assume [this edit](http://source.ikiwiki.branchable.com/?p=source.git;a=blobdiff;f=doc/security/discussion.mdwn;h=f510eb21780143dc3ad1f6c0d033f05e623885b4;hp=ddf61c5f8771c581a449fd07f106f62cc3d60026;hb=8ac1f2d18a99a10e9783500710ade73d833c01e8;hpb=eecb06e7e55d3a77e8567b59892de38b7e8d507c) of yours was accidental; please don't deliberately nuke any more useful pages. We have a [[sandbox]] for experiments.
+"""]]

Revert "removed"
This reverts commit a86be79e6ea26ba21b8e02271280dddfd69cfd65.
diff --git a/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_2a449c6017ecdb4f557963266fb4ec41._comment b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_2a449c6017ecdb4f557963266fb4ec41._comment
new file mode 100644
index 000000000..da6377607
--- /dev/null
+++ b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_2a449c6017ecdb4f557963266fb4ec41._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="http://joey.kitenet.net/"
+ nickname="joey"
+ subject="comment 1"
+ date="2011-05-20T14:12:38Z"
+ content="""
+It's fairly easy to make a copy of the mdwn plugin and s/mdwn/foo/ in it and get what you want. But I don't see value in providing this option in ikiwiki as it just reduces interoperability. Not all options are good options, and this would be a bad one.
+"""]]

Revert ""
This reverts commit 8ac1f2d18a99a10e9783500710ade73d833c01e8.
diff --git a/doc/security/discussion.mdwn b/doc/security/discussion.mdwn
index f510eb217..ddf61c5f8 100644
--- a/doc/security/discussion.mdwn
+++ b/doc/security/discussion.mdwn
@@ -1 +1,33 @@
-what
+Copied from an email I sent --[[Joey]]
+
+> Apart from restricting escape characters and characters with special
+> meanings to the filesystem (such as '/') or the version control system
+> (which may not cope with \n), why limit filenames at all?
+
+Suppose that git-add and git-commit a shell scripts:
+
+	#!/bin/sh
+	/opt/git/git commit $1
+
+	#!/bin/sh
+	/opt/git/git add $1
+
+Ok, that's crappy code, but git add and commit are only run by a trusted 
+user at the command line, so it's hardly a security hole. (And frankly, 
+I'm not all too impressed with the real shell code I've seen in git-* 
+..) 
+
+But there's no security problem until ikiwiki calls it on a filename 
+that a web user made up. Now, suppose that ikiwiki decided to allow
+spaces in filenames. Nothing else new, just spaces. Of course, the above 
+bad code will fail to add and commit such files.
+
+But it won't just fail, it can even expose private data. Suppose that $1
+is "foo.mdwn .ikiwiki/userdb foo.mdwn". Then the userdb, with its
+passwords and emails is committed, along with foo.mdwn.
+
+Moral: ikiwiki interfaces with code that was not necessarily written for the
+security context that ikiwiki runs in. Even the most innocuous filenames can do
+very unexpected things if you let the shell get ahold of them. Ikiwiki needs to
+sanitize the hell out of user inputted data before letting it anywhere near the
+shell.

diff --git a/doc/security/discussion.mdwn b/doc/security/discussion.mdwn
index ddf61c5f8..f510eb217 100644
--- a/doc/security/discussion.mdwn
+++ b/doc/security/discussion.mdwn
@@ -1,33 +1 @@
-Copied from an email I sent --[[Joey]]
-
-> Apart from restricting escape characters and characters with special
-> meanings to the filesystem (such as '/') or the version control system
-> (which may not cope with \n), why limit filenames at all?
-
-Suppose that git-add and git-commit a shell scripts:
-
-	#!/bin/sh
-	/opt/git/git commit $1
-
-	#!/bin/sh
-	/opt/git/git add $1
-
-Ok, that's crappy code, but git add and commit are only run by a trusted 
-user at the command line, so it's hardly a security hole. (And frankly, 
-I'm not all too impressed with the real shell code I've seen in git-* 
-..) 
-
-But there's no security problem until ikiwiki calls it on a filename 
-that a web user made up. Now, suppose that ikiwiki decided to allow
-spaces in filenames. Nothing else new, just spaces. Of course, the above 
-bad code will fail to add and commit such files.
-
-But it won't just fail, it can even expose private data. Suppose that $1
-is "foo.mdwn .ikiwiki/userdb foo.mdwn". Then the userdb, with its
-passwords and emails is committed, along with foo.mdwn.
-
-Moral: ikiwiki interfaces with code that was not necessarily written for the
-security context that ikiwiki runs in. Even the most innocuous filenames can do
-very unexpected things if you let the shell get ahold of them. Ikiwiki needs to
-sanitize the hell out of user inputted data before letting it anywhere near the
-shell.
+what

Added a comment
diff --git a/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_1727c384fe0f21798f7e6ce5bc1eea6d._comment b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_1727c384fe0f21798f7e6ce5bc1eea6d._comment
new file mode 100644
index 000000000..8da494c91
--- /dev/null
+++ b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_1727c384fe0f21798f7e6ce5bc1eea6d._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="StallmansFootFood"
+ avatar="http://cdn.libravatar.org/avatar/8c660ea87eee68646308adcb49383863"
+ subject="comment 1"
+ date="2024-04-15T13:34:00Z"
+ content="""
+why was I able to remove joey's comment that he had posted 10 years ago?  I should've been barred from doing that; I /was/ expecting to be barred from doing that.  Now, have I nuked joey's useful comment?
+"""]]

removed
diff --git a/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_2a449c6017ecdb4f557963266fb4ec41._comment b/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_2a449c6017ecdb4f557963266fb4ec41._comment
deleted file mode 100644
index da6377607..000000000
--- a/doc/forum/Is_it_possible_to_change_default_mdwn_suffix__63__/comment_1_2a449c6017ecdb4f557963266fb4ec41._comment
+++ /dev/null
@@ -1,8 +0,0 @@
-[[!comment format=mdwn
- username="http://joey.kitenet.net/"
- nickname="joey"
- subject="comment 1"
- date="2011-05-20T14:12:38Z"
- content="""
-It's fairly easy to make a copy of the mdwn plugin and s/mdwn/foo/ in it and get what you want. But I don't see value in providing this option in ikiwiki as it just reduces interoperability. Not all options are good options, and this would be a bad one.
-"""]]

populated the body
diff --git a/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn b/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn
new file mode 100644
index 000000000..ba4ddc558
--- /dev/null
+++ b/doc/forum/Why_does_ikiwiki_refer_to_markdown_files_as___34__mdwn__34__.mdwn
@@ -0,0 +1 @@
+I am going through the ikiwiki docs on this website, and I get confused by the docs' insistence of referring to markdown as "mdwn" files.  Mdwn files are normal markdown files, am I right?  Can ikiwiki understand and work with .md files, instead of mdwn?

diff --git a/doc/bugs/Please_change_admin_user_for_ikiwiki.info.mdwn b/doc/bugs/Please_change_admin_user_for_ikiwiki.info.mdwn
new file mode 100644
index 000000000..e7c2a7346
--- /dev/null
+++ b/doc/bugs/Please_change_admin_user_for_ikiwiki.info.mdwn
@@ -0,0 +1 @@
+Please change the admin user password for ikiwiki.info as this is too weak

further indent lines to monospace, escape character
diff --git a/doc/tips/auto_replace_some_string_with_a_signature.mdwn b/doc/tips/auto_replace_some_string_with_a_signature.mdwn
index a629a9a36..5b1c2f524 100644
--- a/doc/tips/auto_replace_some_string_with_a_signature.mdwn
+++ b/doc/tips/auto_replace_some_string_with_a_signature.mdwn
@@ -10,7 +10,7 @@ To set this up for a local clone:
 
 1. add this line to `.git/info/attributes`
 
-    *.mdwn filter=signature
+        *.mdwn filter=signature
 
    You could choose to add this to `.gitattributes` instead, and
    commit that to the repository as well. You could also adjust
@@ -20,7 +20,7 @@ To set this up for a local clone:
 2. Configure a "clean" filter for your local clone which performs
    the substitution, e.g.
 
-    git config filter.signature.clean 'sed "s#~~~~#*— [[Jon]], $(date +%Y-%m-%d)*#"'
+        git config filter.signature.clean 'sed "s#~~~~#*— \[[Jon]], $(date +%Y-%m-%d)*#"'
 
    "signature" here can be anything so long as it matches the name
    in the attributes file, above.

tips: auto-expand a signature when committing with Git
diff --git a/doc/tips/auto_replace_some_string_with_a_signature.mdwn b/doc/tips/auto_replace_some_string_with_a_signature.mdwn
new file mode 100644
index 000000000..a629a9a36
--- /dev/null
+++ b/doc/tips/auto_replace_some_string_with_a_signature.mdwn
@@ -0,0 +1,26 @@
+Some other wikis offer a feature where a particular string in your
+text is substituted for a _signature_, e.g., `~~~~` is expanded to
+something of your choosing.
+
+If you are using [[git]], you can achieve something similar, at
+least for edits in a local clone of your repository, by leveraging
+Git filters.
+
+To set this up for a local clone:
+
+1. add this line to `.git/info/attributes`
+
+    *.mdwn filter=signature
+
+   You could choose to add this to `.gitattributes` instead, and
+   commit that to the repository as well. You could also adjust
+   the path match to your settings/tastes. Here, we are only
+   applying this for edits to [[plugins/mdwn]] files.
+
+2. Configure a "clean" filter for your local clone which performs
+   the substitution, e.g.
+
+    git config filter.signature.clean 'sed "s#~~~~#*— [[Jon]], $(date +%Y-%m-%d)*#"'
+
+   "signature" here can be anything so long as it matches the name
+   in the attributes file, above.

done
diff --git a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
index f1038259a..f95fdc7a5 100644
--- a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
+++ b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
@@ -14,3 +14,6 @@ The WHATWG spec page above suggests the only valid value for the attribute is UT
 > I don't think we should keep the attribute at all. According to [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#accept-charset), it defaults to the page encoding, which seems fine to me, and much more reasonable than having to specify a (possibly different?!) charset everywhere... So I would just remove this. -- [[anarcat]]
 
 >> Thanks for the info! I've removed it in the linked branch. *&mdash; [[Jon]], 2024-04-05*
+
+>>> I've tested this out a little now and I think it's good to go.
+>>> [[done]]. *&mdash; [[Jon]], 2024-04-06*

response, agree; branch updated
diff --git a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
index 11aa3fbe7..f1038259a 100644
--- a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
+++ b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
@@ -12,3 +12,5 @@ The WHATWG spec page above suggests the only valid value for the attribute is UT
 *&mdash; [[Jon]], 2024-04-05*
 
 > I don't think we should keep the attribute at all. According to [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#accept-charset), it defaults to the page encoding, which seems fine to me, and much more reasonable than having to specify a (possibly different?!) charset everywhere... So I would just remove this. -- [[anarcat]]
+
+>> Thanks for the info! I've removed it in the linked branch. *&mdash; [[Jon]], 2024-04-05*

just remove the charset, IMHO
diff --git a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
index 7c76fdd2c..11aa3fbe7 100644
--- a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
+++ b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
@@ -10,3 +10,5 @@ IkiWiki generates `form` elements with `charset` attributes in a few places. The
 The WHATWG spec page above suggests the only valid value for the attribute is UTF-8. Is it superfluous? Or does the presence of the attribute change browser behaviour?
  
 *&mdash; [[Jon]], 2024-04-05*
+
+> I don't think we should keep the attribute at all. According to [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#accept-charset), it defaults to the page encoding, which seems fine to me, and much more reasonable than having to specify a (possibly different?!) charset everywhere... So I would just remove this. -- [[anarcat]]

tag patch, gitbranch
diff --git a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
index f6ae6aa2f..7c76fdd2c 100644
--- a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
+++ b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
@@ -1,3 +1,5 @@
+[[!template id=gitbranch branch=jon/form-attribute-accept-charset author="[[Jon]]"]][[!tag patch]]
+
 Originally reported to Debian in 2009 at <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523701>
 
 IkiWiki generates `form` elements with `charset` attributes in a few places. The Debian bug pointed at the "add comment" form, but there are other instances.

report bug attribute charset is not valid for form element
diff --git a/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
new file mode 100644
index 000000000..f6ae6aa2f
--- /dev/null
+++ b/doc/bugs/attribute_charset_is_not_valid_for_form_element.mdwn
@@ -0,0 +1,10 @@
+Originally reported to Debian in 2009 at <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523701>
+
+IkiWiki generates `form` elements with `charset` attributes in a few places. The Debian bug pointed at the "add comment" form, but there are other instances.
+
+`charset` is not a valid attribute for the form element in HTML(5). We probably want `accept-charset`, instead:
+<https://html.spec.whatwg.org/multipage/forms.html#attr-form-accept-charset>
+
+The WHATWG spec page above suggests the only valid value for the attribute is UTF-8. Is it superfluous? Or does the presence of the attribute change browser behaviour?
+ 
+*&mdash; [[Jon]], 2024-04-05*

done
diff --git a/doc/todo/really_generate_HTML5_by_default.mdwn b/doc/todo/really_generate_HTML5_by_default.mdwn
index 48c09457d..3865554b3 100644
--- a/doc/todo/really_generate_HTML5_by_default.mdwn
+++ b/doc/todo/really_generate_HTML5_by_default.mdwn
@@ -3,3 +3,5 @@
 It's been 10 years since the HTML5 option was added. At the time there was some concern about legacy support for IE8. I rather suspect that the number of IE8 ikiwiki users (or ikiwiki users concerned about IE8) approximates zero, today. But if not, perhaps we should [[todo/clarify what browser support is important for IkiWiki]].
 
 *— [[Jon]], 2020-12-30*
+
+> [[done]]. *— [[Jon]], 2024-04-02*

+tag patch
diff --git a/doc/todo/finish_html5_migration.mdwn b/doc/todo/finish_html5_migration.mdwn
index ffda0f984..d1d476f33 100644
--- a/doc/todo/finish_html5_migration.mdwn
+++ b/doc/todo/finish_html5_migration.mdwn
@@ -45,5 +45,5 @@ Steps 3 and 4 should happen in the same release.
 >> Fab, thanks for the ACK. I've pushed (1). I've written (2) (linked to this
 >> page via the gitbranch template) but I'm not sure whether to put out a
 >> minor release before committing that, and see what response we get first
->> (if any).
->> +*&mdash; [[Jon]], 2024-04-02*
+>> (if any).[[!tag patch]]
+>> *&mdash; [[Jon]], 2024-04-02*

pushed (1), committed (2)
diff --git a/doc/todo/finish_html5_migration.mdwn b/doc/todo/finish_html5_migration.mdwn
index b9198cff9..ffda0f984 100644
--- a/doc/todo/finish_html5_migration.mdwn
+++ b/doc/todo/finish_html5_migration.mdwn
@@ -1,3 +1,5 @@
+[[!template id=gitbranch branch=jon/finish-html5-migration author="[[Jon]]"]]
+
 We should get rid of the html5 config option, remove all the branching around
 it in the templates and unconditionally use the semantic container elements.
 The advantages are twofold: users will get the semantic containers by default
@@ -39,3 +41,9 @@ Steps 3 and 4 should happen in the same release.
 *&mdash; [[Jon]], 2024-04-01*
 
 > I'd love to see this happen. Theming ikiwiki is Hard, partly because Perl's templating is rather unusual compared to more modern alternatives (e.g. PHP, ERB, Jinja), but also because there's a lot of legacy lying around... -- [[anarcat]]
+
+>> Fab, thanks for the ACK. I've pushed (1). I've written (2) (linked to this
+>> page via the gitbranch template) but I'm not sure whether to put out a
+>> minor release before committing that, and see what response we get first
+>> (if any).
+>> +*&mdash; [[Jon]], 2024-04-02*

agreed
diff --git a/doc/todo/finish_html5_migration.mdwn b/doc/todo/finish_html5_migration.mdwn
index 45dfd6f31..b9198cff9 100644
--- a/doc/todo/finish_html5_migration.mdwn
+++ b/doc/todo/finish_html5_migration.mdwn
@@ -37,3 +37,5 @@ Steps 1/2 and 3/4 should take place in different releases.
 Steps 3 and 4 should happen in the same release.
 
 *&mdash; [[Jon]], 2024-04-01*
+
+> I'd love to see this happen. Theming ikiwiki is Hard, partly because Perl's templating is rather unusual compared to more modern alternatives (e.g. PHP, ERB, Jinja), but also because there's a lot of legacy lying around... -- [[anarcat]]

sign the page
diff --git a/doc/todo/finish_html5_migration.mdwn b/doc/todo/finish_html5_migration.mdwn
index 5daf62c88..45dfd6f31 100644
--- a/doc/todo/finish_html5_migration.mdwn
+++ b/doc/todo/finish_html5_migration.mdwn
@@ -35,3 +35,5 @@ We should take the following steps
 I think steps 1 and 2 could take place in the same release.
 Steps 1/2 and 3/4 should take place in different releases.
 Steps 3 and 4 should happen in the same release.
+
+*&mdash; [[Jon]], 2024-04-01*

todo: finish html5 migration, config option removal
diff --git a/doc/todo/finish_html5_migration.mdwn b/doc/todo/finish_html5_migration.mdwn
new file mode 100644
index 000000000..5daf62c88
--- /dev/null
+++ b/doc/todo/finish_html5_migration.mdwn
@@ -0,0 +1,37 @@
+We should get rid of the html5 config option, remove all the branching around
+it in the templates and unconditionally use the semantic container elements.
+The advantages are twofold: users will get the semantic containers by default
+and working with ikiwiki's templates will be greatly simplified.
+
+In 490a1eca (2014), we moved to always generating HTML (5) ([[cf|todo/generate_HTML5_by_default]])
+and the `html5` config option was re-purposed to control whether
+the template used newer HTML elements such as `section`, `footer`,
+etc. The option remained default to off, because ten years ago,
+a significant fraction of web users were using MSIE versions (≤ 8) that
+didn't support them.
+
+As of 2024, [caniuse report](https://caniuse.com/usage-table) IE8 usage at
+0.02%. There are no statistically signifiant browsers in use that do not
+support the elements we gate behind the `html5` config option.
+([cf](https://caniuse.com/html5semantic))
+
+We should take the following steps
+
+1. default `html5` config option to true. This would not
+   affect existing installations which have a fully-populated configuration
+   file, which will contain either the user's preference or the previous
+   default of 0. The exception is if the user has deleted the `html5` key
+   from the config file which is unlikely.
+
+2. Print a warning that the `html5` configuration option is deprecated if it is
+   set to 0, explaining that it will be removed in a future release. (Possibly
+   pointing at this page).
+
+3. Remove the template branching `<TMPL_IF HTML5>`, replacing it with the
+   true branch
+
+4. Remove the config option.
+
+I think steps 1 and 2 could take place in the same release.
+Steps 1/2 and 3/4 should take place in different releases.
+Steps 3 and 4 should happen in the same release.

my main focus
diff --git a/doc/users/jon.mdwn b/doc/users/jon.mdwn
index 0dad31f61..0e825b28d 100644
--- a/doc/users/jon.mdwn
+++ b/doc/users/jon.mdwn
@@ -7,9 +7,10 @@ since 2008, as well as a number of private instances.
 ## contributions
 
 I've worked on a few different issues and bugs over the years (they
-are probably linked in "Backlinks", below) but these days my main
-effort is the [Opinionated Ikiwiki](https://github.com/jmtd/opinionated-ikiwiki/)
-[[container|containers]].
+are probably linked in "Backlinks", below). I slowly maintain
+the [Opinionated Ikiwiki](https://github.com/jmtd/opinionated-ikiwiki/)
+[[container|containers]]. I have recently taken on the Debian packaging.
+My current focus is working upstream.
 
 ## historic
 

replace ref to old commit
diff --git a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
index 15cb4d1c9..75055fd87 100644
--- a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
+++ b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
@@ -50,5 +50,5 @@ further down the list, but of course then you are outside the hover region.
 >> The above works for me on ikiwiki.info which does not have `html5:1`
 >> so far as I can tell *— [[Jon]], 2020-04-21*
 
->>> [[!tag patch]]Patch in my repo, commit f051f84f632c3eaf86c5cff172692ce71ad5375d.
+>>> [[!tag patch]]Patch in my repo, branch `more-backlinks-details-tag`.
 >>> (I must say this looks *much* nicer, IMHO) *—[[Jon]], 2020-10-07*

duckduckgo search plugin
diff --git a/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn b/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn
new file mode 100644
index 000000000..12c7f5e28
--- /dev/null
+++ b/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn
@@ -0,0 +1,7 @@
+[[!template id=gitbranch branch=jon/duckduckgo-plugin author="[[Jon]]"]]
+
+The (external) [[plugins/search]] plugin uses Google. For those who have
+privacy concerns about Google, it would be nice to have a drop-in replacement.
+Such as on that used "duckduckgo" instead.
+
+(See also:  [[todo/Change the ikiwiki.info search box to not using Google]]

refresh users page, update patch branch for backlinks bug
diff --git a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
index 171714b3f..15cb4d1c9 100644
--- a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
+++ b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn
@@ -1,3 +1,5 @@
+[[!template id=gitbranch branch=jon/more-backlinks-details-tag author="[[Jon]]"]]
+
 I was just hovering over the '...' next to the backlinks on a page on
 <http://ikiwiki.info/>. In terms of the size of my browser window, this was
 towards the bottom-right of the screen.
@@ -49,5 +51,4 @@ further down the list, but of course then you are outside the hover region.
 >> so far as I can tell *— [[Jon]], 2020-04-21*
 
 >>> [[!tag patch]]Patch in my repo, commit f051f84f632c3eaf86c5cff172692ce71ad5375d.
->>> [[!template id=gitbranch branch=jon/more-backlinks-html5-use-details-tag author="[[Jon]]"]]
 >>> (I must say this looks *much* nicer, IMHO) *—[[Jon]], 2020-10-07*
diff --git a/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn b/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn
index 12c7f5e28..8ce3ec13d 100644
--- a/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn
+++ b/doc/todo/add_a_search_plugin_that_uses_duckduckgo.mdwn
@@ -4,4 +4,4 @@ The (external) [[plugins/search]] plugin uses Google. For those who have
 privacy concerns about Google, it would be nice to have a drop-in replacement.
 Such as on that used "duckduckgo" instead.
 
-(See also:  [[todo/Change the ikiwiki.info search box to not using Google]]
+(See also:  [[todo/Change the ikiwiki.info search box to not using Google]])
diff --git a/doc/users/jon.mdwn b/doc/users/jon.mdwn
index 06368154d..0dad31f61 100644
--- a/doc/users/jon.mdwn
+++ b/doc/users/jon.mdwn
@@ -2,6 +2,7 @@
 
 I've been using IkiWiki for [my personal site](https://jmtd.net/)
 since 2008, as well as a number of private instances.
+[[I joined the IkiWiki maintainers in 2024|contact]].
 
 ## contributions
 
@@ -19,3 +20,12 @@ was discussing IkiWiki in some technical detail and suggesting it as a good
 piece of software for this task.
 
  * slides at <http://www.staff.ncl.ac.uk/jon.dowland/unix/docs/>.
+
+## Review requested
+
+I prefer to have another pair of eyeballs ACK my own patches where
+possible. These are ready for a look:
+
+ * [[bugs/backlinks onhover thing can go weird]]
+ * [[todo/don't generate an empty parentlink span]]
+ * [[todo/add a search plugin that uses duckduckgo]]

don't generate an empty parentlinks span for the top-level page
diff --git a/doc/todo/don__39__t_generate_an_empty_parentlink_span.mdwn b/doc/todo/don__39__t_generate_an_empty_parentlink_span.mdwn
new file mode 100644
index 000000000..ceadfca5e
--- /dev/null
+++ b/doc/todo/don__39__t_generate_an_empty_parentlink_span.mdwn
@@ -0,0 +1,9 @@
+[[!template id=gitbranch branch=jmtd/no-empty-parentlinks-span author="[[Jon]]"]]
+
+For the top-level wiki page, the `<span class=parentlink` is generated but its empty.
+
+This was reported in Debian in 2009 <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523693>
+
+I actually closed it recently, because I disagreed with the suggested patch. However, there's a more agreeable fix: just wrap the parentlinks section in a test of HAS_PARENTLINKS. [[!tag patch]]
+
+*&mdash; [[Jon]], 2024-03-29*

update my git uri from github to salsa
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 4a3c6408e..29f0d37a8 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -32,7 +32,7 @@ think about merging them. This is recommended. :-)
 * [[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`
+* [[jon]] `https://salsa.debian.org/jmtd/ikiwiki.git`
 * [[jonas|JonasSmedegaard]] `git://source.jones.dk/ikiwiki-upstream`
 * [[arpitjain]] `git://github.com/arpitjain11/ikiwiki.git`
 * [[schmonz]] `git://github.com/schmonz/ikiwiki.git`

done
diff --git a/doc/todo/use_templates_for_the_img_plugin.mdwn b/doc/todo/use_templates_for_the_img_plugin.mdwn
index 1cee1b535..2610434ef 100644
--- a/doc/todo/use_templates_for_the_img_plugin.mdwn
+++ b/doc/todo/use_templates_for_the_img_plugin.mdwn
@@ -27,3 +27,7 @@ I've achieved this as follows
 It is not quite as I envisaged it: the explanatory text would probably make sense on the indexpics "gallery" page, but since that includes the page, the wrong trouser-leg of the conditional is used.  But it works quite well.  Introducing a new index picture involves creating an appropriate page under indexpics and the rest happens automatically.
 
 [1] lie #1: the pagespec is a lot more complex as it has to exclude raw image filetypes
+
+----
+
+marking this [[done]]; nothing further to do here. *&mdash; [[Jon]], 2024-03-29*

fix link to matrix bridge
diff --git a/doc/contact.mdwn b/doc/contact.mdwn
index e69221536..ab9cc8df8 100644
--- a/doc/contact.mdwn
+++ b/doc/contact.mdwn
@@ -7,7 +7,7 @@ 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
-[OFTC](http://www.oftc.net/) (`irc.oftc.net`). It can also be reached from Matrix on [#oftc_ikiwki:matrix.org](https://matrix.to/#/#oftc_ikiwki:matrix.org), but note that you will need your Matrix user to be registered on OFTC by talking first with [@_oftc_Nickserv:matrix.org](https://matrix.to/#/@_oftc_Nickserv:matrix.org) first.
+[OFTC](http://www.oftc.net/) (`irc.oftc.net`). It can also be reached from Matrix on [#_oftc_#ikiwiki:matrix.org](https://matrix.to/#/#_oftc_#ikiwiki:matrix.org), but note that you will need your Matrix user to be registered on OFTC by talking first with [@_oftc_Nickserv:matrix.org](https://matrix.to/#/@_oftc_Nickserv:matrix.org) first.
 
 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

diff --git a/doc/users/DataComputist.mdwn b/doc/users/DataComputist.mdwn
index 74aac92f0..2770cf814 100644
--- a/doc/users/DataComputist.mdwn
+++ b/doc/users/DataComputist.mdwn
@@ -8,4 +8,4 @@
 
 > Hello, and welcome here! :)
 >
-> Interesting that there's an unofficial Matrix room! There's actually a semi-official *IRC* channel which means it is also somewhat accessible over Matrix, in <https://matrix.to/#/#oftc_ikiwki:matrix.org>. This should really be documented better, but it's mentioned in [[news/irc_channel]]. :) -- [[anarcat]]
+> Interesting that there's an unofficial Matrix room! There's actually a semi-official *IRC* channel which means it is also somewhat accessible over Matrix, in <https://matrix.to/#/#oftc_ikiwki:matrix.org>. This should really be documented better, but it's mentioned in [[news/irc_channel]]. Actually, it is in [[contact]] so i added the link to the bridge there. :) -- [[anarcat]]

diff --git a/doc/users/DataComputist.mdwn b/doc/users/DataComputist.mdwn
index 5e31c3a19..74aac92f0 100644
--- a/doc/users/DataComputist.mdwn
+++ b/doc/users/DataComputist.mdwn
@@ -1,4 +1,4 @@
-* ~~unofficial Matrix chat room on ikiwiki: <https://matrix.to/#/%23ikiwiki:matrix.org>~~
+* ~~unofficial Matrix chat room on ikiwiki: <https://matrix.to/#/%23ikiwiki:matrix.org>~~ (How to delete it?)
 
 * official IRC chat room for ikiwiki via Matrix: <https://matrix.to/#/#_oftc_#ikiwiki:matrix.org>
 

diff --git a/doc/users/DataComputist.mdwn b/doc/users/DataComputist.mdwn
index 3119d0cc2..5e31c3a19 100644
--- a/doc/users/DataComputist.mdwn
+++ b/doc/users/DataComputist.mdwn
@@ -1,6 +1,6 @@
 * ~~unofficial Matrix chat room on ikiwiki: <https://matrix.to/#/%23ikiwiki:matrix.org>~~
 
-* official IRC chat room for ikiwiki via Matrix: https://matrix.to/#/#_oftc_#ikiwiki:matrix.org
+* official IRC chat room for ikiwiki via Matrix: <https://matrix.to/#/#_oftc_#ikiwiki:matrix.org>
 
 * Matrix protocol for real time communication: <https://en.wikipedia.org/wiki/Matrix_(protocol)>
 

diff --git a/doc/users/DataComputist.mdwn b/doc/users/DataComputist.mdwn
index 5e472309e..3119d0cc2 100644
--- a/doc/users/DataComputist.mdwn
+++ b/doc/users/DataComputist.mdwn
@@ -1,4 +1,6 @@
-* unofficial Matrix chat room on ikiwiki: <https://matrix.to/#/%23ikiwiki:matrix.org>
+* ~~unofficial Matrix chat room on ikiwiki: <https://matrix.to/#/%23ikiwiki:matrix.org>~~
+
+* official IRC chat room for ikiwiki via Matrix: https://matrix.to/#/#_oftc_#ikiwiki:matrix.org
 
 * Matrix protocol for real time communication: <https://en.wikipedia.org/wiki/Matrix_(protocol)>
 

mention matrix bridge
diff --git a/doc/contact.mdwn b/doc/contact.mdwn
index e348fc697..e69221536 100644
--- a/doc/contact.mdwn
+++ b/doc/contact.mdwn
@@ -7,7 +7,7 @@ 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
-[OFTC](http://www.oftc.net/) (`irc.oftc.net`).
+[OFTC](http://www.oftc.net/) (`irc.oftc.net`). It can also be reached from Matrix on [#oftc_ikiwki:matrix.org](https://matrix.to/#/#oftc_ikiwki:matrix.org), but note that you will need your Matrix user to be registered on OFTC by talking first with [@_oftc_Nickserv:matrix.org](https://matrix.to/#/@_oftc_Nickserv:matrix.org) first.
 
 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

mention existing irc/matrix channel
diff --git a/doc/users/DataComputist.mdwn b/doc/users/DataComputist.mdwn
index 7e11689e8..5e472309e 100644
--- a/doc/users/DataComputist.mdwn
+++ b/doc/users/DataComputist.mdwn
@@ -3,3 +3,7 @@
 * Matrix protocol for real time communication: <https://en.wikipedia.org/wiki/Matrix_(protocol)>
 
 * official web site of Matrix: <https://matrix.org/about/>
+
+> Hello, and welcome here! :)
+>
+> Interesting that there's an unofficial Matrix room! There's actually a semi-official *IRC* channel which means it is also somewhat accessible over Matrix, in <https://matrix.to/#/#oftc_ikiwki:matrix.org>. This should really be documented better, but it's mentioned in [[news/irc_channel]]. :) -- [[anarcat]]

diff --git a/doc/users/DataComputist.mdwn b/doc/users/DataComputist.mdwn
new file mode 100644
index 000000000..7e11689e8
--- /dev/null
+++ b/doc/users/DataComputist.mdwn
@@ -0,0 +1,5 @@
+* unofficial Matrix chat room on ikiwiki: <https://matrix.to/#/%23ikiwiki:matrix.org>
+
+* Matrix protocol for real time communication: <https://en.wikipedia.org/wiki/Matrix_(protocol)>
+
+* official web site of Matrix: <https://matrix.org/about/>

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_11_34d1beb33372b03185322d63ebe6ed3b._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_11_34d1beb33372b03185322d63ebe6ed3b._comment
new file mode 100644
index 000000000..f7e270cff
--- /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_11_34d1beb33372b03185322d63ebe6ed3b._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 11"
+ date="2024-03-28T09:39:23Z"
+ content="""
+The changes to `wiki_file_chars =>` and `exclude =>` was to include files that should be included and exclude the ones that should NOT be, however it's only a useful digression from the original question asked -- the error in the title.
+
+"""]]

done
diff --git a/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn b/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
index 864a5473b..ba63989af 100644
--- a/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
+++ b/doc/bugs/__39__search__39___plugin_causes_Error:_Exception:_Db_block_overwritten_-_are_there_multiple_writers__63__.mdwn
@@ -39,3 +39,5 @@ We're running ikiwiki version 3.20180228-1.
 >>
 >>> Updating appeared to fix it. Sorry for not trying that sooner. Thanks for the help.
 >>> -- jsewell
+
+[[done]]. — [[Jon]], 2024-03-25

Duplicated <script/> element for ikiwiki.js
diff --git a/doc/bugs/duplicate_script_element_for_ikiwiki.js.mdwn b/doc/bugs/duplicate_script_element_for_ikiwiki.js.mdwn
new file mode 100644
index 000000000..09bd482aa
--- /dev/null
+++ b/doc/bugs/duplicate_script_element_for_ikiwiki.js.mdwn
@@ -0,0 +1,11 @@
+Originally reported to Debian at <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598415>:
+
+> If both relativedate and toggle plugins are enabled and features of both
+> plugins are used on a wiki page, a <script> tag for ikiwiki.js is rendered
+> twice in the generated HTML for the page.
+
+At the time I'm reporting this here, the problem is evident at <https://ikiwiki.info/sandbox/>.
+
+Related: [[javascript resources placed after html tag]]
+
+*&mdash; [[Jon]], 2024-03-25*

done (I think)
diff --git a/doc/bugs/Eliminate_render-blocking_JavaScript.mdwn b/doc/bugs/Eliminate_render-blocking_JavaScript.mdwn
index 6a101786e..4dede74fc 100644
--- a/doc/bugs/Eliminate_render-blocking_JavaScript.mdwn
+++ b/doc/bugs/Eliminate_render-blocking_JavaScript.mdwn
@@ -11,3 +11,9 @@ I am a bit at a loss now. Any ideas?
 > Can't help with the specific question but you won't get higher rating than
 > 85 due to the local.css link.[img.kalleswork.net pagespeed
 > results](https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fimg.kalleswork.net) -[[kjs]]
+
+----
+
+I'm fairly certain this was addressed by
+[d16e34c736676256b7cd3ea12797313dc1332fc3](http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=d16e34c736676256b7cd3ea12797313dc1332fc3).
+[[done]]. *&mdash; [[Jon]], 2024-03-25*

Wishlist item: collapsing double slashes
diff --git a/doc/todo/detect_and_collapse_trailing_slashes.mdwn b/doc/todo/detect_and_collapse_trailing_slashes.mdwn
new file mode 100644
index 000000000..811db14ac
--- /dev/null
+++ b/doc/todo/detect_and_collapse_trailing_slashes.mdwn
@@ -0,0 +1,20 @@
+[This was originally reported to
+Debian.](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=600665)
+
+Specifying a setup `url` with a trailing slash (e.g. `url: https://example.org/`)
+results in feeds generated with double-slashes in them e.g. RSS:
+
+    <link>http://localhost//blog/donkey/</link>
+
+Atom
+
+    <id>http://localhost//blog/donkey/</id>
+
+The solution is not to specify `url` with a trailing slash. But if you have
+done, and later remove it, the newly-generated RSS/Atom feeds will have
+different IDs causing duplicate posts in feed aggregators.
+
+The request is to do one of
+
+ * detect trailing slash on `url` and remove it
+ * squash '//' to '/' in link-generation

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_10_b8defc4c8e5bb7baa2f6520c07069f2c._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_10_b8defc4c8e5bb7baa2f6520c07069f2c._comment
new file mode 100644
index 000000000..a370176b3
--- /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_10_b8defc4c8e5bb7baa2f6520c07069f2c._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/cae0ebd82377a48ef9f1f14ff23b3e0f"
+ subject="comment 10"
+ date="2024-03-20T10:11:56Z"
+ content="""
+Fantastic. Does setting `exclude` quieten the warnings?
+"""]]

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_9_136d56ae091a576316eac005a178ab83._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_9_136d56ae091a576316eac005a178ab83._comment
new file mode 100644
index 000000000..a3c912006
--- /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_9_136d56ae091a576316eac005a178ab83._comment
@@ -0,0 +1,22 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 9"
+ date="2024-03-19T19:53:49Z"
+ content="""
+Including more characters into `wiki_file_chars` did fix something, but I'm still deciding if all are fixed.
+
+That's why I wanted the reporting on `*.mdwn~` files which is the majority of the \"skipping bad filename XXX\" lines out of the way.
+
+I don't want `*.mdwn~` files to be built into the files deployed to the web site, but I do want to keep them in the source files so they are available as backups, i.e. their designed purpose for Emacs.
+
+I've found this setting that seem to be able to exclude file types:
+```
+exclude => '^(.*\\.bak|.*\\.[:alnum:]+~|#.*#)$',
+```
+
+Although it seems it requires single square brackets in `[:alnum:]` while the `wiki_file_chars` requires double square brackets. Isn't that odd?
+
+
+
+"""]]

added solution for Caddy (Thank you, Yonle)
diff --git a/doc/tips/dot_cgi.mdwn b/doc/tips/dot_cgi.mdwn
index b66406f66..d48f39323 100644
--- a/doc/tips/dot_cgi.mdwn
+++ b/doc/tips/dot_cgi.mdwn
@@ -160,3 +160,22 @@ Here's a [[complete site.conf|tips/nginx]] for nginx if that helps.
 Edit /etc/boa/boa.conf and make sure the following line is not commented:
 
     AddType application/x-httpd-cgi cgi
+
+# Caddy
+
+add a block to Caddyfile like this
+
+
+    www.myexample.net {
+        root * /home/ikiwiki/public_html/myexample
+        file_server
+
+        reverse_proxy /ikiwiki.cgi unix//var/run/fcgiwrap.socket {
+                transport fastcgi {
+                        root /home/ikiwiki/public_html/myexample
+                        env SCRIPT_FILENAME /home/ikiwiki/public_html/myexample/ikiwiki.cgi
+                }
+        }
+
+        encode zstd gzip
+    }

Remove spam post from example blog.
diff --git a/doc/examples/blog/posts/A_new_title:_The_US_and_the_global_economic_developement___40__by_Stanley_Fisher__41__.mdwn b/doc/examples/blog/posts/A_new_title:_The_US_and_the_global_economic_developement___40__by_Stanley_Fisher__41__.mdwn
deleted file mode 100644
index 1efb8f575..000000000
--- a/doc/examples/blog/posts/A_new_title:_The_US_and_the_global_economic_developement___40__by_Stanley_Fisher__41__.mdwn
+++ /dev/null
@@ -1 +0,0 @@
-I have had this sheet of paper be put on everybody's chair, and I will refer back to it from time to time.

correct my 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_8_1a3edf76b9b14c38d90ce94246a2167b._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_8_1a3edf76b9b14c38d90ce94246a2167b._comment
index 49b02bbbf..550d1e1bc 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/comment_8_1a3edf76b9b14c38d90ce94246a2167b._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_8_1a3edf76b9b14c38d90ce94246a2167b._comment
@@ -4,10 +4,10 @@
  subject="comment 8"
  date="2024-03-19T10:07:14Z"
  content="""
-If you didn't get the warnings about the emacs backup files before adding/changing `wiki_file_chars`, and since adding/changing `wiki_file_chars` has no fixed the main problem here (has it?), Why not just revert back to your old setting (unset, if that's what it was)?
+If you didn't get the warnings about the emacs backup files before adding/changing `wiki_file_chars`, and since adding/changing `wiki_file_chars` has not fixed the main problem here (has it?), Why not just revert back to your old setting (unset, if that's what it was)?
 
 > 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? 
 
 So you don't want to publish them, but you want to suppress the warning about not publishing them?
-If that's right, please file a [[wishlist]] item for that.
+If that's right, please file a [[todo]] item for that tagged [[wishlist]].
 """]]

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_8_1a3edf76b9b14c38d90ce94246a2167b._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_8_1a3edf76b9b14c38d90ce94246a2167b._comment
new file mode 100644
index 000000000..49b02bbbf
--- /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_8_1a3edf76b9b14c38d90ce94246a2167b._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/cae0ebd82377a48ef9f1f14ff23b3e0f"
+ subject="comment 8"
+ date="2024-03-19T10:07:14Z"
+ content="""
+If you didn't get the warnings about the emacs backup files before adding/changing `wiki_file_chars`, and since adding/changing `wiki_file_chars` has no fixed the main problem here (has it?), Why not just revert back to your old setting (unset, if that's what it was)?
+
+> 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? 
+
+So you don't want to publish them, but you want to suppress the warning about not publishing them?
+If that's right, please file a [[wishlist]] item for that.
+"""]]

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 &gt;= 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 &gt;= 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 &gt;= 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.