I have converted the GNU Hurd's previous web pages and previous wiki pages to a ikiwiki system; and all that while preserving the previous content's history, which was stored in a CVS repository for the HTML web pages and a TWiki RCS repository for the wiki; see http://www.gnu.org/software/hurd/colophon.html.
Issues to Work On
Stability of Separate Builds
The goal is that separate builds of the same source files should yield the exactly same HTML code (of course, except for changes due to differences in Markdown rendering, for example).
Git set's the current mtime when checking out files. The result is that http://www.gnu.org/software/hurd/contact_us.html and http://www.bddebian.com:8888/~hurd-web/contact_us/ show different Last edited timestamps.
This can either be solved by adding a facility to Git to set the checked-out files' mtime according to the AuthorDate / CommitDate (which one...), or doing that retroactively with the http://www.gnu.org/software/hurd/set_mtimes script before building, or with a ikiwiki-internal solution.
HTML character entities
[[!map ]] behavior
The [[!map ]] on, for example, http://www.gnu.org/software/hurd/tag/open_issue_hurd.html, should not show the complete hierarchy of pages, but instead just the pages that actually do contain the [[!tag open_issue_hurd]].
tagged(open_issue_hurd)in its pagespec should do that. --Joey
Well, that's exactly what this page contains: [[!map pages="tagged(open_issue_hurd) and !open_issues and !*/discussion" show=title]]
This is currently rendered as can be seen on http://www.gnu.org/software/hurd/tag/open_issue_hurd.html, but I'd imagine it to be rendered by only linking to the pages that actually do contain the tag, (only the outer leaf ones, which are capturing stdout and stderr, ramdisk, syncfs, ...; but not to hurd, debugging, translator, libstore, examples, ...). Otherwise, the way it's being rendered at the moment, it appears to the reader that hurd, debugging, translator, libstore, examples, ... were all tagged, too, and not only the outer ones.
Anchors -- discussion
Default Content for Meta Values -- default content for *copyright* and *license*
This will decrease to be relevant, as we're going to add copyright and licensing headers to every single file.
Texinfo -- texinfo
Not very important. Have to consider external commands / files / security (see teximg source code)?
Shortcuts -- discussion
[[!meta redir]] -- *forward*ing functionality for the meta plugin
Implement a checker that makes sure that no pages that use [[!meta redir]] redirect to another page (and are thus considered legacy pages for providing stable URLs, for example) are linked to from other wiki pages. This is useful w.r.t. backlinks. Alternative, the backlinks to the [[!meta redir]]-using pages could perhaps be passed on to the referred-to page?
I found that backlinks was an easy way to find such links to such pages. (Although the redirection made it hard to see the backlinks!) --Joey
[[!meta redir]] -- tell what's going on
Add functionality that a text like this page's content has moved to [new page]; in a few seconds you'll be redirected thither is displayed on every page that uses [[!meta redir]].
Sendmail -- passwordauth: sendmail interface
Modifying inline for showing only an appetizer
Currently ikiwiki's inline plugin will either show the full page or nothing of it. Often that's too much. One can manually use the toggle plugin -- see the News section on http://www.gnu.org/software/hurd/. Adding a new mode to the inline plugin to only show an appetizer ending with ... (read on) after a customizable amount of characters (or lines) would be a another possibility. The ... (read on) would then either toggle the full content being displayed or link to the complete page.
Prefix For the HTML Title
The title of each page (as in
<html><head><title>...) should be prefixed with
GNU Project - GNU Hurd -. We can either do this directly in
create a way to modify the
TITLE template variable suitably.
inline feedfile option
Not that important. Git commit b67632cdcdd333cf0a88d03c0f7e6e62921f32c3. This would be nice to have even when not using usedirs. Might involve issues as discussed in N-to-M Mapping of Input and Output Files on texinfo.
Unverified -- these may be bugs, but have yet to be verified
ikiwiki doesn't change its internal database when [[!meta date]] / [[!meta updated]] are added / removed, and thusly these meta values are not promulgated in RSS / Atom feeds.
I would rather see this filed as a bug, but FWIW, the problem is probably that meta does not override the mdate_3339 template variable used by the atom and rss templates. (Meta does store ctime directly in the ikiwiki database, but cannot store mtime in \%pagemtime because it would mess up detection of when actual file mtimes change.) --Joey
Complicated issue w.r.t. no text was copied in this page (cutpaste) in RSS feed (only; not Atom?) under some conditions (refresh only, but not rebuild?). Perhaps missing to read in / parse some files? Reported.
Creates non-existing links to changes.
Invalid directory link with
recentchangees.*files even if that is overridden.