diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-10-27 23:31:16 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-10-27 23:31:16 +0000 |
commit | 1587fdd9af10ddb6df18982f453de2a297abbcf7 (patch) | |
tree | db6a37437acac335c562acc69ea95b1d8cb9cfd4 | |
parent | cfbfc17a70c353264ec26dd66228d16e31b08e77 (diff) |
generate devhelp index file
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1562 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r-- | Makefile.am | 8 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doxygen_to_devhelp.xsl | 66 |
3 files changed, 74 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index f5af878..7704091 100644 --- a/Makefile.am +++ b/Makefile.am @@ -48,7 +48,8 @@ EXTRA_DIST = \ avahi-ui-sharp.pc.in \ avahi-compat-libdns_sd.pc.in \ avahi-compat-howl.pc.in \ - avahi-ui.pc.in + avahi-ui.pc.in \ + doxygen_to_devhelp.xsl SUBDIRS = \ common \ @@ -254,6 +255,11 @@ CLEANFILES += avahi-qt4.pc endif +CLEANFILES += avahi.devhelp + +avahi.devhelp: doxygen-run + xsltproc -o $@ doxygen_to_devhelp.xsl doxygen/xml/index.xml + MOSTLYCLEANFILES = $(DX_CLEANFILES) DISTCHECK_CONFIGURE_FLAGS = \ diff --git a/configure.ac b/configure.ac index 8d8659b..97c64a5 100644 --- a/configure.ac +++ b/configure.ac @@ -877,7 +877,7 @@ DX_CHM_FEATURE(OFF) DX_CHI_FEATURE(OFF) DX_MAN_FEATURE(OFF) DX_RTF_FEATURE(OFF) -DX_XML_FEATURE(OFF) +DX_XML_FEATURE(ON) DX_PDF_FEATURE(OFF) DX_PS_FEATURE(OFF) DX_INIT_DOXYGEN(avahi, doxygen.cfg, doxygen) diff --git a/doxygen_to_devhelp.xsl b/doxygen_to_devhelp.xsl new file mode 100644 index 0000000..ca6aa97 --- /dev/null +++ b/doxygen_to_devhelp.xsl @@ -0,0 +1,66 @@ +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version="1.0"> + +<!-- Based on the XSL stylesheet from gtkmm - Lennart --> + +<xsl:output method="xml" version="1.0" indent="yes"/> + +<xsl:param name="reference_prefix">../../../doc/avahi-docs/html/</xsl:param> + +<xsl:template match="/"> + <book title="Avahi Reference Manual" + name="avahi" + link="{$reference_prefix}main.html"> + <chapters> + <sub name="Headers" link="{$reference_prefix}files.html"> + <xsl:apply-templates select="doxygenindex/compound[@kind='file']"> + <xsl:sort select="."/> + </xsl:apply-templates> + </sub> + </chapters> + + <functions> + <!-- @todo: maybe select only the real functions, ie those with kind=="function"? --> + <xsl:apply-templates select="doxygenindex/compound/function" mode="as-function"/> + </functions> + </book> +</xsl:template> + +<xsl:template match="compound"> + <xsl:param name="name"><xsl:value-of select="name"/></xsl:param> + <xsl:param name="link"><xsl:value-of select="@refid"/>.html</xsl:param> + <sub name="{$name}" link="{$reference_prefix}{$link}"> + <xsl:apply-templates select="member" mode="as-sub"> + <xsl:sort select="."/> + </xsl:apply-templates> + </sub> +</xsl:template> + +<xsl:template match="member" mode="as-function"> + <!-- + <function name="atk_set_value" link="atk-atkvalue.html#ATK-SET-VALUE"/> + --> + <xsl:param name="name"><xsl:value-of select="name"/></xsl:param> + <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid --> + <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param> + <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param> + <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param> + <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 32)"/></xsl:param> + <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param> + <function name="{$name}" link="{$reference_prefix}{$link}"/> +</xsl:template> + +<xsl:template match="member" mode="as-sub"> + <xsl:param name="name"><xsl:value-of select="name"/></xsl:param> + <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid --> + <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param> + <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param> + <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param> + <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 32)"/></xsl:param> + <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param> + <sub name="{$name}" link="{$reference_prefix}{$link}"/> +</xsl:template> + +</xsl:stylesheet> |