mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	doc: Auto-generate API methods and classes documentation
There's work to do still for giving a prettier style on the documentation, for instance splitting paragraphs correctly and printing the detailed description of the methods as well. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
This commit is contained in:
		
							parent
							
								
									a95aba7fca
								
							
						
					
					
						commit
						c77ba6bebc
					
				
					 2 changed files with 52 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -32,10 +32,20 @@ en-US/ProtocolInterfaces.xml: $(top_srcdir)/protocol/wayland.xml $(srcdir)/proto
 | 
			
		|||
	$(AM_V_GEN)$(XSLTPROC) $(srcdir)/protocol-interfaces-to-docbook.xsl \
 | 
			
		||||
		$(top_srcdir)/protocol/wayland.xml > en-US/ProtocolInterfaces.xml
 | 
			
		||||
 | 
			
		||||
en-US/WaylandClientAPI.xml: $(top_builddir)/doc/doxygen/xml/wayland-client_8h.xml $(srcdir)/doxygen-to-publican.xsl
 | 
			
		||||
# WaylandClientAPI.xml is generated after combining all xml in one single file
 | 
			
		||||
# with the exception of wayland-client_8h.xml that is omitted to not duplicate
 | 
			
		||||
# the output methods.
 | 
			
		||||
en-US/WaylandClientAPI.xml: $(top_builddir)/doc/doxygen/xml/index.xml $(srcdir)/doxygen-to-publican.xsl
 | 
			
		||||
	$(AM_V_GEN)$(MKDIR_P) en-US/images
 | 
			
		||||
	$(AM_V_GEN)mv $(top_srcdir)/doc/doxygen/xml/wayland-client_8h.xml \
 | 
			
		||||
		$(top_srcdir)/doc/doxygen/
 | 
			
		||||
	$(AM_V_GEN)$(XSLTPROC) $(top_srcdir)/doc/doxygen/xml/combine.xslt \
 | 
			
		||||
		$(top_srcdir)/doc/doxygen/xml/index.xml > \
 | 
			
		||||
		$(top_srcdir)/doc/doxygen/xml/clientAPI.xml
 | 
			
		||||
	$(AM_V_GEN)mv $(top_srcdir)/doc/doxygen/wayland-client_8h.xml \
 | 
			
		||||
		$(top_srcdir)/doc/doxygen/xml
 | 
			
		||||
	$(AM_V_GEN)$(XSLTPROC) $(srcdir)/doxygen-to-publican.xsl \
 | 
			
		||||
		$(top_builddir)/doc/doxygen/xml/wayland-client_8h.xml > en-US/WaylandClientAPI.xml
 | 
			
		||||
		$(top_builddir)/doc/doxygen/xml/clientAPI.xml > en-US/WaylandClientAPI.xml
 | 
			
		||||
 | 
			
		||||
# Copy the en_US source files into en-US destination
 | 
			
		||||
# This is required for out-of-source-tree build as publican does not allow us
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,12 +13,20 @@
 | 
			
		|||
 | 
			
		||||
  <section id="sect-Library-Client">
 | 
			
		||||
    <title>Client API</title>
 | 
			
		||||
    <para>Following is the Wayland library interface for clients
 | 
			
		||||
    <para>Following is the Wayland library classes for clients
 | 
			
		||||
	  (<emphasis>libwayland-client</emphasis>). Note that most of the
 | 
			
		||||
	  procedures are related with IPC, which is the main responsibility of
 | 
			
		||||
	  the library.
 | 
			
		||||
    </para>
 | 
			
		||||
 | 
			
		||||
    <para>
 | 
			
		||||
    <variablelist>
 | 
			
		||||
    <xsl:apply-templates select="/doxygen/compounddef" />
 | 
			
		||||
    </variablelist>
 | 
			
		||||
    </para>
 | 
			
		||||
 | 
			
		||||
    <para>And methods for the respective classes.</para>
 | 
			
		||||
 | 
			
		||||
    <para>
 | 
			
		||||
    <variablelist>
 | 
			
		||||
    <xsl:apply-templates select="/doxygen/compounddef/sectiondef/memberdef" />
 | 
			
		||||
| 
						 | 
				
			
			@ -27,20 +35,38 @@
 | 
			
		|||
  </section>
 | 
			
		||||
</xsl:template>
 | 
			
		||||
 | 
			
		||||
<xsl:template match="memberdef" >
 | 
			
		||||
    <xsl:if test="@kind = 'function'">
 | 
			
		||||
  <varlistentry>
 | 
			
		||||
 | 
			
		||||
<!-- methods -->
 | 
			
		||||
<xsl:template match="memberdef" >
 | 
			
		||||
    <xsl:if test="@kind = 'function' and @static = 'no'">
 | 
			
		||||
    <varlistentry>
 | 
			
		||||
        <term>
 | 
			
		||||
        <xsl:value-of select="name" />
 | 
			
		||||
        - <xsl:value-of select="briefdescription" />
 | 
			
		||||
        </term>
 | 
			
		||||
        <listitem>
 | 
			
		||||
    <para>
 | 
			
		||||
      <xsl:value-of select="briefdescription" />
 | 
			
		||||
    </para>
 | 
			
		||||
            <para></para>
 | 
			
		||||
        </listitem>
 | 
			
		||||
    </varlistentry>
 | 
			
		||||
    </xsl:if>
 | 
			
		||||
</xsl:template>
 | 
			
		||||
 | 
			
		||||
<!-- classes -->
 | 
			
		||||
<xsl:template match="compounddef" >
 | 
			
		||||
    <xsl:if test="@kind = 'class' ">
 | 
			
		||||
    <varlistentry>
 | 
			
		||||
        <term>
 | 
			
		||||
            <xsl:value-of select="compoundname" />
 | 
			
		||||
            <xsl:if test="briefdescription">
 | 
			
		||||
                - <xsl:value-of select="briefdescription" />
 | 
			
		||||
            </xsl:if>
 | 
			
		||||
        </term>
 | 
			
		||||
 | 
			
		||||
        <!-- TODO: the output text is not splitting paragraphs correctly -->
 | 
			
		||||
        <listitem>
 | 
			
		||||
            <para><xsl:value-of select="detaileddescription"/></para>
 | 
			
		||||
        </listitem>
 | 
			
		||||
    </varlistentry>
 | 
			
		||||
    </xsl:if>
 | 
			
		||||
</xsl:template>
 | 
			
		||||
</xsl:stylesheet>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue