The links section of the configuration is a little different than the others. The options in the links section are not preconfigured, they are all user-specified. The links section includes information to be included in the navigation object available on all sections in a document. By default, the section’s navigation object includes things like the previous and next objects in the document, the child nodes, the sibling nodes, etc. The table below lists all of the navigation objects that are already defined. The names for these items came from the link types defined at http://fantasai.tripod.com/qref/Appendix/LinkTypes/ltdef.html. Of course, it is up to the renderer to actually make use of them.
Name |
Description |
home |
the first section in the document |
start |
same as home |
begin |
same as home |
first |
same as home |
end |
the last section in the document |
last |
same as end |
next |
the next section in the document |
prev |
the previous section in the document |
previous |
same as prev |
up |
the parent section |
top |
the top section in the document |
origin |
same as top |
parent |
the parent section |
child |
a list of the subsections |
siblings |
a list of the sibling sections |
document |
the document object |
part |
the current part object |
chapter |
the current chapter object |
section |
the current section object |
subsection |
the current subsection object |
navigator |
the top node in the document object |
toc |
the node containing the table of contents |
contents |
same as toc |
breadcrumbs |
a list of the parent objects of the current node |
Since each of these items references an object that is expected to have a URL and a title, any user-defined fields should contain these as well (although the URL is optional in some items). To create a user-defined field in this object, you need to use two options: one for the title and one for the URL, if one exists. They are specified in the config file as follows:
[links] next-url=http://myhost.com/glossary next-title=The Next Document mylink-title=Another Title
These option names are split on the dash (-) to create a key, before the dash, and a member, after the dash. A dictionary is inserted into the navigation object with the name of the key, and the members are added to that dictionary. The configuration above would create the following Python dictionary.
{ 'next': { 'url':'http://myhost.com/glossary', 'title':'The Next Document' }, 'mylink': { 'title':'Another Title' } }
While you can not override a field that is populated by the document, there are times when a field isn’t populated. This occurs, for example, in the prev field at the beginning of the document, or the next field at the end of the document. If you specify a prev or next field in your configuration, those fields will be used when no prev or next is available. This allows you to link to external documents at those points.
Command-Line Options: --links=[ key optional-url title ]
specifies links to be included in the navigation object. Since at least two values are needed in the links (key and title, with an optional URL), the values are grouped in square brackets on the command-line ([ ]).