oddmu-notify - add links to changes.md, index.md, and hashtag pages
The "notify" subcommand takes all the page names provided (without the ".md" extension) and adds links to it from other pages.
A new link is added to the **changes** page in the current directory if it doesn't exist. The current date of the machine Oddmu is running on is used as the heading. If the requested link already exists on the changes page, it is moved up to the current date. If that leaves an old date without any links, that date heading is removed.
A page whose name starts with an ISO date (YYYY-MM-DD, e.g. "2023-10-28") is called a **blog** page.
A link is created from the **index** page in the current directory to blog pages if and only if the blog pages are from the current year. The idea is that the front page contains a lot of links to blog posts but eventually the blog post links are moved onto archive pages (one per year, for example), or simply deleted. As when editing older pages, links to those pages should not get added to the index as if those older pages were new again. A link on the changes page is enough.
For every **hashtag** used on the pages named, another link might be created. If a page named like the hashtag exists, a backlink is added to it. A hashtag consists of a number sign ('#') followed by Unicode letters, numbers or the underscore ('_'). Thus, a hashtag ends with punctuation or whitespace.
If a link already exists but it's title is no longer correct, it is updated.
New links added for blog pages are added at the top of the first unnumbered list using the asterisk ('*'). If no such list exists, a new one is started at the bottom of the page. This allows you to have a different unnumbered list further up on the page, as long as it uses the minus for items ('-').
After writing the file "2023-11-05-climate.md" containing the hashtag "#Climate", add links to it from "index.md", "changes.md", and "Climate.md" (if it exists):
oddmu notify 2023-11-05-climate
The changes file might look as follows:
# Changes This page lists all the changes made to the wiki. ## 2023-11-05
The index file might look as follows:
# Blog This page links to all the blog posts.
The hashtag file might look as follows:
# Climate This page links to all the blog posts tagged #Climate.
Maintained by Alex Schroeder alex@gnu.org.