Merge remote branch 'smcv/transient-relative-api'
[ikiwiki] / doc / todo / feed_enhancements_for_inline_pages.mdwn
1 [[!template id=gitbranch branch=GiuseppeBilotta/inlinestuff author="Giuseppe Bilotta"]]
2
3 I rearranged my patchset once again, to clearly identify the origin and
4 motivation of each patch, which is explained in the following.
5
6 In my ikiwiki-based website I have the following situation:
7
8 * `$config{usedirs}` is 1
9 * there are a number of subdirectories (A/, B/, C/, etc)
10   with pages under each of them (A/page1, A/page2, B/page3, etc)
11 * 'index pages' for each subdirectory: A.mdwn, B.mdwn, C.mdwn;
12   these are rather barebone, only contain an inline directive for their
13   respective subpages and become A/index.html, etc
14 * there is also the main index.mdwn, which inlines A.mdwn, B.mdwn, C.mdwn,
15   etc (i.e. the top-level index files are also inlined on the homepage)
16
17 With the upstream `inline` plugin, the feeds for A, B, C etc are located
18 in `A/index.atom`, `B/index.atom`, etc; their title is the wiki name and
19 their main link goes to the wiki homepage rather than to their
20 respective subdir (e.g. I would expect `A/index.atom` to have a link to
21 `http://website/A` but it actually points to `http://website/`).
22
23 This is due to them being generated from the main index page, and is
24 fixed by the first patch: ‘inline: base feed urls on included page
25 name’. As explained in the commit message for the patch itself, this is
26 a ‘forgotten part’ from a previous page vs destpage fix which has
27 already been included upstream.
28
29 The second patch, ‘inline: improve feed title and description
30 management’, aligns feed title and description management by introducing
31 a `title` option to complement `description`, and by basing the
32 description on the page description if the entry is missing. If no
33 description is provided by either the directive parameter or the page
34 metadata, we use a user-configurable default based on both the page
35 title and wiki name rather than hard-coding the wiki name as description.
36
37 The third patch, ‘inline: allow assigning an id to postform/feedlink’,
38 does just that. I don't currently use it, but it can be particularly
39 useful in the postform case for example for scriptable management of
40 multiple postforms in the same page.
41
42 In one of my wiki setups I had a terminating '/' in `$config{url}`. You
43 mention that it should not be present, but I have not seen this
44 requirement described anywhere. Rather than restricting the user input,
45 I propose a patch that prevents double slashes from appearing in links
46 created by `urlto()` by fixing the routine itself.
47
48 The inline plugin is also updated (in a separate patch) to use `urlto()`
49 rather than hand-coding the feed urls. You might want to keep this
50 change even if you discard the urlto patch.
51