Merge remote branch 'smcv/ready/localurl'
[ikiwiki] / doc / users / tschwinge.mdwn
1 [[!meta title="Thomas Schwinge"]]
2 # Thomas Schwinge
3
4 <thomas@schwinge.name>  
5 <http://schwinge.homeip.net/~thomas/>
6
7 I have converted the [GNU Hurd](http://www.gnu.org/software/hurd/)'s previous
8 web pages and previous wiki pages to a *[[ikiwiki]]* system; and all that while
9 preserving the previous content's history, which was stored in a CVS repository
10 for the HTML web pages and a TWiki RCS repository for the wiki; see
11 <http://www.gnu.org/software/hurd/colophon.html>.
12
13 # Issues to Work On
14
15 ## Stability of Separate Builds
16
17 The goal is that separate builds of the same source files should yield the
18 exactly same HTML code (of course, except for changes due to differences in
19 Markdown rendering, for example).
20
21   * Timestamps -- [[forum/ikiwiki__39__s_notion_of_time]], [[forum/How_does_ikiwiki_remember_times__63__]]
22
23     Git set's the current *mtime* when checking out files.  The result is that
24     <http://www.gnu.org/software/hurd/contact_us.html> and
25     <http://www.bddebian.com:8888/~hurd-web/contact_us/> show different *Last
26     edited* timestamps.
27
28     This can either be solved by adding a facility to Git to set the
29     checked-out files' *mtime* according to the *AuthorDate* / *CommitDate*
30     (which one...), or doing that retroactively with the
31     <http://www.gnu.org/software/hurd/set_mtimes> script before building, or
32     with a ikiwiki-internal solution.
33
34   * HTML character entities
35
36     <http://www.gnu.org/software/hurd/purify_html>
37
38 ### \[[!map]] behavior
39
40 The \[[!map]] on, for example,
41 <http://www.gnu.org/software/hurd/tag/open_issue_hurd.html>, should not show
42 the complete hierarchy of pages, but instead just the pages that actually *do*
43 contain the \[[!tag open_issue_hurd]].
44
45 > `tagged(open_issue_hurd)` in its pagespec should do that. --[[Joey]]
46
47 >> Well, that's exactly what this page contains: \[[!map
48 >> pages="tagged(open_issue_hurd) and !open_issues and !*/discussion"
49 >> show=title]]
50 >> 
51 >> This is currently rendered as can be seen on
52 >> <http://www.gnu.org/software/hurd/tag/open_issue_hurd.html>, but I'd imagine
53 >> it to be rendered by **only** linking to the pages that actually do contain
54 >> the tag, (**only** the outer leaf ones, which are *capturing stdout and
55 >> stderr*, *ramdisk*, *syncfs*, ...; but **not** to *hurd*, *debugging*,
56 >> *translator*, *libstore*, *examples*, ...).  Otherwise, the way it's being
57 >> rendered at the moment, it appears to the reader that *hurd*, *debugging*,
58 >> *translator*, *libstore*, *examples*, ... were all tagged, too, and not only
59 >> the outer ones.
60
61 ## Anchors -- [[ikiwiki/wikilink/discussion]]
62
63 ## Default Content for Meta Values -- [[plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__]]
64
65 This will decrease to be relevant, as we're going to add copyright and
66 licensing headers to every single file.
67
68 ## [[bugs/img vs align]]
69
70 ## Texinfo -- [[plugins/contrib/texinfo]]
71
72 Not very important.  Have to consider external commands / files / security (see
73 [[plugins/teximg]] source code)?
74
75 ## Shortcuts -- [[plugins/shortcut/discussion]]
76
77 ## \[[!meta redir]] -- [[todo/__42__forward__42__ing_functionality_for_the_meta_plugin]]
78
79 Implement a checker that makes sure that no pages that use \[[!meta redir]]
80 redirect to another page (and are thus considered legacy pages for providing
81 stable URLs, for example) are linked to from other wiki pages.  This is useful
82 w.r.t. backlinks.  Alternative, the backlinks to the \[[!meta redir]]-using
83 pages could perhaps be passed on to the referred-to page?
84
85 > I found that backlinks was an easy way to find such links to such pages.
86 > (Although the redirection made it hard to see the backlinks!) --[[Joey]] 
87
88 ## \[[!meta redir]] -- tell what's going on
89
90 Add functionality that a text like *this page's content has moved to [new
91 page]; in a few seconds you'll be redirected thither* is displayed on every
92 page that uses \[[!meta redir]].
93
94 ## Sendmail -- [[todo/passwordauth:_sendmail_interface]]
95
96 ## [[bugs/Broken Parentlinks]]
97
98 ## Modifying [[plugins/inline]] for showing only an *appetizer*
99
100 Currently ikiwiki's inline plugin will either show the full page or nothing of
101 it.  Often that's too much.  One can manually use the [[plugins/toggle]] plugin
102 -- see the *News* section on <http://www.gnu.org/software/hurd/>.  Adding a new
103 mode to the inline plugin to only show an *appetizer* ending with *... (read
104 on)* after a customizable amount of characters (or lines) would be a another
105 possibility.  The *... (read on)* would then either toggle the full content
106 being displayed or link to the complete page.
107
108 > You're looking for [[plugins/more]] (or possibly a way to do that automatically, 
109 > I suppose. --[[Joey]] 
110
111 ## Prefix For the HTML Title
112
113 The title of each page (as in `<html><head><title>`...) should be prefixed with
114 *GNU Project - GNU Hurd -*.  We can either do this directly in `page.tmpl`, or
115 create a way to modify the `TITLE` template variable suitably.
116
117 ## [[plugins/inline]] feedfile option
118
119 Not that important.  Git commit b67632cdcdd333cf0a88d03c0f7e6e62921f32c3.  This
120 would be nice to have even when *not* using *usedirs*.  Might involve issues as
121 discussed in *N-to-M Mapping of Input and Output Files* on
122 [[plugins/contrib/texinfo]].
123
124 ## Unverified -- these may be bugs, but have yet to be verified
125
126   * ikiwiki doesn't change its internal database when \[[!meta date]] /
127     \[[!meta updated]] are added / removed, and thusly these meta values are
128     not promulgated in RSS / Atom feeds.
129
130     > I would rather see this filed as a bug, but FWIW, the problem
131     > is probably that meta does not override the mdate_3339
132     > template variable used by the atom and rss templates.
133     > (Meta does store ctime directly in the ikiwiki database, but cannot
134     > store mtime in \%pagemtime because it would mess up detection of when
135     > actual file mtimes change.) --[[Joey]]
136
137   * Complicated issue w.r.t. *no text was copied in this page*
138     ([[plugins/cutpaste]]) in RSS feed (only; not Atom?) under some conditions
139     (refresh only, but not rebuild?).  Perhaps missing to read in / parse some
140     files?
141     [[Reported|bugs/Error:_no_text_was_copied_in_this_page_--_missing_page_dependencies]].
142
143   * [[plugins/recentchanges]]
144
145       * Creates non-existing links to changes.
146
147       * Invalid *directory link* with `--usedirs`.
148
149       * Doesn't honor `$timeformat`.
150
151       * Does create `recentchangees.*` files even if that is overridden.