ikiwiki/doc/todo/alias_directive.mdwn

48 lines
1.9 KiB
Markdown

An alias directive could work like an inverse redirect, but in a more
maintainable way. Currently, a page might have several redirects leading to it,
without an easy way of enumerating them. Therefore, the following directive is
suggested for addition (possibly by means of a plugin):
> The `alias` and `aliastext` directives implicitly create
> redirect pages to the page they are used on. If two or more pages claim a
> non-existing page to be an alias, a disambiguation page will automatically
> generated. If an existing page is claimed as an alias, it will be prefixed
> with a note that its topic is also an alias for other pages.
>
> All aliases to a page are automatically listed below the backlink and tag
> lists at the bottom of a page by default. This can be configured globally by
> setting the `alias_list` configuration option to `false`, or set explicitly
> per alias by specifying `list=true` or `list=false`.
>
> Similar to the `taglink` directive, `aliastext` produces the alias name as
> well as registering it.
>
> ## Usage example
>
> `Greece.mdwn`:
>
> > Greece, also known as \[[!aliastext Hellas]] and officially the
> > \[[!aliastext "Hellenic Republic"]], is a …
> >
> > <!-- there are so many people who misspell this, let's create a redirect -->
> > \[[!alias Grece list=false]]
>
> This page by itself will redirect from the "Hellas" and "Hellenic Republic"
> pages as if they both contained just:
>
> > \[[!meta redir="Greece"]]
>
> If, on the other hand, `Hellas Planitia` also claims `[[!alias Hellas]]`, the
> Hellas page will look like this:
>
> > **Hellas** is an alias for the following pages:
> >
> > * \[[Greece]]
> > * \[[Hellas Planitia]]
The proposed plugin/directive could be extended, eg. by also including
old-style redirects in the alias list, but that might introduce unwanted
coupling with the meta directive.
[[!tag wishlist]]