Skip to content

Commit

Permalink
generate devhelp index file
Browse files Browse the repository at this point in the history
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1562 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
  • Loading branch information
poettering committed Oct 27, 2007
1 parent cfbfc17 commit 1587fdd
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 2 deletions.
8 changes: 7 additions & 1 deletion Makefile.am
Expand Up @@ -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 \
Expand Down Expand Up @@ -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 = \
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Expand Up @@ -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)
Expand Down
66 changes: 66 additions & 0 deletions 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>

0 comments on commit 1587fdd

Please sign in to comment.