# AsciiDoc configuration file
# Copyright (c) Jonas Fonseca <fonseca@diku.dk>, 2006

# This file sets the following ELinks specific AsciiDoc macros:
#
# General purpose:
# - man:page[section]: which is used for linking between ELinks manpages.
#
# API Doc:
# - id:[]
# - enum:[]
# - func:[]
# - struct:[]
# - macro:[]
# - typedef:[]
# - ref:[]

[replacements]
(^|[^-])--($|[^-])=\1--\2

# Some macros can have optional {0} value, that is what
# the {0%...} and {0#...} handles.

#############################################################################
# DocBook

ifdef::backend-docbook[]

# To be replaced later
[attributes]
squote=@squote@

# No interlinking between elinks manpages
[man-inlinemacro]
{0%{target}}
{0#<citerefentry>}
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
{0#</citerefentry>}

# For manpages use less verbose linking
ifdef::doctype-manpage[]
[link-inlinemacro]
{0%&lt;{target}&gt;}
{0#{0} &lt;{target}&gt;}

[http-inlinemacro]
{0%&lt;http:{target}&gt;}
{0#{0} &lt;http:{target}&gt;}

[mailto-inlinemacro]
&lt;{target}&gt;

endif::doctype-manpage[]
endif::backend-docbook[]

#############################################################################
# XHTML11

ifdef::backend-xhtml11[]

[attributes]
squote='

# Use the man:[] macro to link between elinks manpages
[man-inlinemacro]
{eval:re.match("elinks", "{target}") != None}<a href="{target}.{0}.html">{target}({0})</a>
{eval:re.match("elinks", "{target}") == None}<b>{target}({0})</b>

# API Doc macros

[id-inlinemacro]
<a id="{0}" href="#{0}">{0}</a>

[enum-inlinemacro]
<a id="{target}">enum {target}: {0}</a>

[func-inlinemacro]
<a id="{target}">{target}(): {0}</a>

[struct-inlinemacro]
<a id="{target}">struct {target}: {0}</a>

[macro-inlinemacro]
<a id="{target}">struct {target}: {0}</a>

[typedef-inlinemacro]
<a id="{target}">typedef {target}: {0}</a>

[ref-inlinemacro]
<a href="{target}#{0}">{0}</a>

endif::backend-xhtml11[]
