changeset 5:1508a4c35c47

Rewrite the man page in DocBook 5 XML
author Guido Berhoerster <guido+xinhibit-applet@berhoerster.name>
date Thu, 08 Aug 2013 16:17:03 +0200
parents 54ecfe6a14cf
children 88623e3fd59e
files Makefile data/docbook-update-source-data.xsl data/xinhibit-applet.1 data/xinhibit-applet.1.xml
diffstat 4 files changed, 194 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Thu Aug 08 16:16:40 2013 +0200
+++ b/Makefile	Thu Aug 08 16:17:03 2013 +0200
@@ -35,6 +35,23 @@
 MSGFMT :=	msgfmt
 INTLTOOL_UPDATE :=	intltool-update
 INTLTOOL_MERGE :=	intltool-merge
+XSLTPROC :=	xsltproc
+DOCBOOK5_MANPAGES_STYLESHEET =	http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl
+
+define generate-manpage-rule =
+%.$(1): %.$(1).xml
+	$$(XSLTPROC) \
+	    --xinclude \
+	    --stringparam package $$(PACKAGE) \
+	    --stringparam version $$(VERSION)\
+	    data/docbook-update-source-data.xsl $$< | \
+	    $$(XSLTPROC) \
+	    --xinclude \
+	    $$(DOCBOOK5_MANPAGES_FLAGS) \
+	    --output $$@ \
+	    $$(DOCBOOK5_MANPAGES_STYLESHEET) \
+	    -
+endef
 
 DESTDIR ?=
 prefix ?=	/usr/local
@@ -53,6 +70,7 @@
 endif
 
 OBJS =		main.o xia-icon.o xia-inhibitor.o xia-debug.o
+MANPAGES =	data/$(PACKAGE).1
 AUTOSTART_FILE =	data/$(PACKAGE).desktop
 MOFILES :=	$(patsubst %.po,%.mo,$(wildcard po/*.po))
 POTFILE =	po/$(PACKAGE).pot
@@ -66,12 +84,14 @@
 		-DLOCALEDIR="\"$(localedir)\""
 LDLIBS :=	$(LDLIBS_LIBXTST) \
 		$(shell pkg-config --libs glib-2.0 gtk+-2.0 unique-1.0)
+DOCBOOK5_MANPAGES_FLAGS =	--stringparam man.authors.section.enabled 0 \
+				--stringparam man.copyright.section.enabled 0
 
 .DEFAULT_TARGET = all
 
 .PHONY: all clean clobber dist install
 
-all: $(PACKAGE) $(MOFILES) $(AUTOSTART_FILE)
+all: $(PACKAGE) $(MANPAGES) $(MOFILES) $(AUTOSTART_FILE)
 
 $(PACKAGE): $(OBJS)
 	$(LINK.o) $^ $(LDLIBS) -o $@
@@ -94,6 +114,8 @@
 	        -e 's/$$/ :/' < $*.d >> $*.P; \
 	rm -f $*.d
 
+$(foreach section,1 2 3 4 5 6 7 8 9,$(eval $(call generate-manpage-rule,$(section))))
+
 %.desktop: %.desktop.in $(MOFILES)
 	$(INTLTOOL_MERGE) --desktop-style --utf8 po $< $@
 
@@ -116,7 +138,7 @@
 	        "$(DESTDIR)$(mandir)/man1/$(PACKAGE).1"
 
 clean:
-	rm -f $(PACKAGE) $(OBJS) $(POTFILE) $(MOFILES) $(AUTOSTART_FILE)
+	rm -f $(PACKAGE) $(OBJS) $(POTFILE) $(MOFILES) $(MANPAGES) $(AUTOSTART_FILE)
 
 clobber: clean
 	rm -f *.P
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/docbook-update-source-data.xsl	Thu Aug 08 16:17:03 2013 +0200
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:db="http://docbook.org/ns/docbook"
+  xmlns="http://docbook.org/ns/docbook"
+  exclude-result-prefixes="xsl db">
+
+  <xsl:param name="package" select="''" />
+  <xsl:param name="version" select="''" />
+
+  <xsl:template match="db:refmeta/db:refmiscinfo[@class = 'source' or
+    @class = 'version']"/>
+
+  <xsl:template match="db:refmeta">
+    <xsl:copy>
+      <xsl:apply-templates/>
+      <refmiscinfo class="source"><xsl:value-of select="$package"/></refmiscinfo>
+      <refmiscinfo class="version"><xsl:value-of select="$version"/></refmiscinfo>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
--- a/data/xinhibit-applet.1	Thu Aug 08 16:16:40 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-.\"
-.\" Copyright (C) 2013 Guido Berhoerster <guido+xinhibit-applet@berhoerster.name>
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining
-.\" a copy of this software and associated documentation files (the
-.\" "Software"), to deal in the Software without restriction, including
-.\" without limitation the rights to use, copy, modify, merge, publish,
-.\" distribute, sublicense, and/or sell copies of the Software, and to
-.\" permit persons to whom the Software is furnished to do so, subject to
-.\" the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included
-.\" in all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-.\" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-.\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-.\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-.\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-.\"
-.TH XINHIBIT\-APPLET 1 "30 Apr 2013"
-.SH NAME
-xinhibit\-applet \- inhibit automatic power management
-.SH SYNOPSIS
-\fBxinhibit\-applet\fR
-[\fB\-dhv?\fR]
-.SH DESCRIPTION
-\fBxinhibit\-applet\fR provides an icon in the tray area of the panel which
-allows to inhibit automatic power management of power managers and screensavers.
-.SH OPTIONS
-The following options are supported:
-.TP
-.BR \-d ", " \-\-debug
-Enable debugging output.
-.TP
-.BR \-h ", " \-? ", " \-\-help
-Print a summary of all command line options and exit.
-.TP
-.BR \-V ", " \-\-version
-Print the version number and exit.
-.SH EXIT STATUS
-.TP
-.B 0
-The program has exited normally.
-.TP
-.B >0
-An Error has occurred.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/xinhibit-applet.1.xml	Thu Aug 08 16:17:03 2013 +0200
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!--
+
+Copyright (C) 2013 Guido Berhoerster <guido+xinhibit-applet@berhoerster.name>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xml:lang="en">
+  <info>
+    <author>
+      <personname>
+        <firstname>Guido</firstname>
+        <surname>Berhoerster</surname>
+      </personname>
+      <email>guido+xinhibit-applet@berhoerster.name</email>
+      <personblurb/>
+    </author>
+    <date>30 April, 2013</date>
+  </info>
+  <refmeta>
+    <refentrytitle>xinhibit-applet</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="source"/>
+    <refmiscinfo class="version"/>
+    <refmiscinfo class="manual">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv>
+    <refname>xinhibit-applet</refname>
+    <refpurpose>inhibit automatic power management</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>xinhibit-applet</command>
+      <arg choice="opt">
+        <option>-d</option>
+      </arg>
+      <arg choice="opt">
+        <option>-h</option>
+      </arg>
+      <arg choice="opt">
+        <option>-V</option>
+      </arg>
+      <arg choice="opt">
+        <option>-?</option>
+      </arg>
+      <arg choice="opt">
+        <option>--debug</option>
+      </arg>
+      <arg choice="opt">
+        <option>--help</option>
+      </arg>
+      <arg choice="opt">
+        <option>--version</option>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>Description</title>
+    <para><command>xinhibit-applet</command> provides an icon in the tray area
+    of the panel which allows to inhibit automatic power management of power
+    managers and screensavers.</para>
+  </refsect1>
+  <refsect1>
+    <title>Options</title>
+    <para>The following options are supported:</para>
+    <variablelist>
+      <varlistentry>
+        <term>
+          <option>-h</option>
+        </term>
+        <term>
+          <option>-?</option>
+        </term>
+        <term>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Print a summary of all command line options and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-d</option>
+        </term>
+        <term>
+          <option>--debug</option>
+        </term>
+        <listitem>
+          <para>Enable debugging output.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-V</option>
+        </term>
+        <term>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Print the version number and exit.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>Exit Status</title>
+    <para>The following exit values are returned:</para>
+    <variablelist>
+      <varlistentry>
+        <term>0</term>
+        <listitem>
+          <para>Command successfully executed.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>1</term>
+        <listitem>
+          <para>An error has occured.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+</refentry>