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.

Set document links


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 ([ ]).