Permalink
Browse files

Reworked man page generation.

Use Docbook-XML instead of SGML (files converted via sgml2xml-isoent):
Removed SGML files.

Use xsltproc to generate manual pages (XSL-Stylesheet:
http://docbook.sourceforege.net/release/xsl/current/manpages/docbook.xsl)

Enable regeneration of man pages via "configure --enable-man"
  • Loading branch information...
1 parent dbd9570 commit 40189d64beab1a8c56d5b3d666e773b5ff06b91c @juergenhoetzel juergenhoetzel committed Jun 24, 2009
Showing with 397 additions and 319 deletions.
  1. +55 −0 acinclude.m4
  2. +22 −0 configure.ac
  3. +28 −11 man/Makefile.am
  4. +0 −153 man/lxpanel.sgml
  5. +149 −0 man/lxpanel.xml
  6. +0 −155 man/lxpanelctl.sgml
  7. +143 −0 man/lxpanelctl.xml
View
55 acinclude.m4
@@ -0,0 +1,55 @@
+# Checks the location of the XML Catalog
+# Usage:
+# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
+AC_DEFUN([JH_PATH_XML_CATALOG],
+[
+ # check for the presence of the XML catalog
+ AC_ARG_WITH([xml-catalog],
+ AC_HELP_STRING([--with-xml-catalog=CATALOG],
+ [path to xml catalog to use]),,
+ [with_xml_catalog=/etc/xml/catalog])
+ jh_found_xmlcatalog=true
+ XML_CATALOG_FILE="$with_xml_catalog"
+ AC_SUBST([XML_CATALOG_FILE])
+ AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
+ if test -f "$XML_CATALOG_FILE"; then
+ AC_MSG_RESULT([found])
+ else
+ jh_found_xmlcatalog=false
+ AC_MSG_RESULT([not found])
+ fi
+
+ # check for the xmlcatalog program
+ AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
+ if test "x$XMLCATALOG" = xno; then
+ jh_found_xmlcatalog=false
+ fi
+
+ if $jh_found_xmlcatalog; then
+ ifelse([$1],,[:],[$1])
+ else
+ ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
+ fi
+])
+
+# Checks if a particular URI appears in the XML catalog
+# Usage:
+# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+AC_DEFUN([JH_CHECK_XML_CATALOG],
+[
+ AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+ AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+ if $jh_found_xmlcatalog && \
+ AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ AC_MSG_RESULT([found])
+ ifelse([$3],,,[$3
+])dnl
+ else
+ AC_MSG_RESULT([not found])
+ ifelse([$4],,
+ [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
+ [$4])
+ fi
+])
+
View
22 configure.ac
@@ -37,6 +37,13 @@ AM_CONDITIONAL(ENABLE_MENU_CACHE, test x"$enable_menu_cache" = x"yes")
PACKAGE_CFLAGS="$PACKAGE_CFLAGS $MENU_CACHE_CFLAGS"
PACKAGE_LIBS="$PACKAGE_LIBS $MENU_CACHE_LIBS"
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate roff man pages from Docbook @<:@default=no@:>@])],
+ [enable_man="${enableval}"],
+ [enable_man=no]
+)
+
AC_ARG_ENABLE([cast-checks],
AS_HELP_STRING([--enable-cast-checks],
[enable Glib casting checks (default: disable)]),
@@ -306,6 +313,21 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
ALL_LINGUAS="af ar cs da de es et eu fa fi fr gl hu hr id it ja ko lt ml ms nb nl nn pl ps pt pt_BR ru sk sl sv tr uk ur ur_PK vi zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT
+if test x"$enable_man" = x"yes"; then
+ AC_PATH_PROG([XSLTPROC], [xsltproc])
+ if test -z "$XSLTPROC"; then
+ enable_man=no
+ fi
+
+ dnl check for DocBook DTD and stylesheets in the local catalog.
+ JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
+ [DocBook XML DTD V4.1.2], [], enable_man=no)
+ JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+ [DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
+fi
+
+AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
+
AC_CONFIG_FILES([
lxpanel.pc
Makefile
View
39 man/Makefile.am
@@ -1,16 +1,33 @@
+man_MANS = \
+ lxpanel.1 \
+ lxpanelctl.1
-dist_man_MANS = lxpanel.1 lxpanelctl.1
+man_XMANS = \
+ lxpanel.xml \
+ lxpanelctl.xml
-EXTRA_DIST = lxpanel.sgml lxpanelctl.sgml
+EXTRA_DIST = \
+ $(man_MANS) \
+ $(man_XMANS)
-dist-hook: lxpanel.1 lxpanelctl.1
-lxpanel.1: lxpanel.sgml
- (test -f "`which docbook-to-man`" && docbook-to-man $< > $@) || \
- (test -f "`which db2man`" && db2man $< > $@) || \
- (test -f "`which docbook2man`" && docbook2man $< && mv LXPANEL.1 $@)
+if ENABLE_REGENERATE_MAN
+
+lxpanel.1: lxpanel.xml
+ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+lxpanelctl.1: lxpanelctl.xml
+ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+CLEANFILES = $(man_MANS)
+else
+
+$(man_MANS):
+ @echo ""
+ @echo "Error: you need to run configure with '--enable-man'"
+ @echo " in order to regenerate man pages."
+ @echo ""
+ @false
+endif
+
-lxpanelctl.1: lxpanelctl.sgml
- (test -f "`which docbook-to-man`" && docbook-to-man $< > $@) || \
- (test -f "`which db2man`" && db2man $< > $@) || \
- (test -f "`which docbook2man`" && docbook2man $< && mv LXPANEL.1 $@)
View
153 man/lxpanel.sgml
@@ -1,153 +0,0 @@
-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-
-<!-- Process this file with docbook-to-man to generate an nroff manual
- page: `docbook-to-man manpage.sgml > manpage.1'. You may view
- the manual page with: `docbook-to-man manpage.sgml | nroff -man |
- less'. A typical entry in a Makefile or Makefile.am is:
-
-manpage.1: manpage.sgml
- docbook-to-man $< > $@
-
-
- The docbook-to-man binary is found in the docbook-to-man package.
- Please remember that if you create the nroff version in one of the
- debian/rules file targets (such as build), you will need to include
- docbook-to-man in your Build-Depends control field.
-
- -->
-
- <!-- Fill in your name for FIRSTNAME and SURNAME. -->
- <!ENTITY dhfirstname "<firstname>Ying-Chun</firstname>">
- <!ENTITY dhsurname "<surname>Liu</surname>">
- <!-- Please adjust the date whenever revising the manpage. -->
- <!ENTITY dhdate "<date>March 2, 2008</date>">
- <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
- allowed: see man(7), man(1). -->
- <!ENTITY dhsection "<manvolnum>1</manvolnum>">
- <!ENTITY dhemail "<email>grandpaul@gmail.com</email>">
- <!ENTITY dhusername "paulliu">
- <!ENTITY dhucpackage "<refentrytitle>LXPANEL</refentrytitle>">
- <!ENTITY dhpackage "lxpanel">
-
- <!ENTITY debian "<productname>Debian</productname>">
- <!ENTITY gnu "<acronym>GNU</acronym>">
- <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
-]>
-
-<refentry>
- <refentryinfo>
- <address>
- &dhemail;
- </address>
- <author>
- &dhfirstname;
- &dhsurname;
- </author>
- <copyright>
- <year>2008</year>
- <holder>&dhusername;</holder>
- </copyright>
- &dhdate;
- </refentryinfo>
- <refmeta>
- &dhucpackage;
-
- &dhsection;
- </refmeta>
- <refnamediv>
- <refname>&dhpackage;</refname>
-
- <refpurpose>a lightweight GTK2-based panel for LXDE desktop.</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>&dhpackage;</command>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
-
- <para>This manual page documents briefly the
- <command>&dhpackage;</command> command.</para>
-
- <para><command>&dhpackage;</command> is a program that provides a panel
- for desktop, usually for LXDE. It is lightweight GTK+ 2.x based desktop
- panel.
- </para>
-
- <para>
- <itemizedlist spacing='normal' mark='bullet'>
- <title>Features</title>
- <listitem><para>User-friendly application menu automatically generated from <filename>.desktop</filename>
- files on the system.
- </para>
- </listitem>
- <listitem><para>Launcher bar (small icons clicked to launch apps)</para></listitem>
- <listitem><para>Task bar supporting ICCCM/EWMH `urgency' hint (Pidgin IM windows
- can flash on new incoming messages)</para>
- </listitem>
- <listitem><para>Notification area (system tray)</para></listitem>
- <listitem><para>Digital clock</para></listitem>
- <listitem><para>Run dialog (type command to run, without opening a terminal
-)</para>
- </listitem>
- <listitem><para>Net status icon plug-in (optional)</para></listitem>
- <listitem><para>Volume control plug-in (optional)</para></listitem>
- <listitem><para>lxpanelctl, an external controller let you control lxpanel in
- other programs. For example, "lxpanelctl run" will show the Run
- dialog in lxpanel, and "lxpanelctl menu" will show the application
- menu. This is useful in key bindings provided by window managers.</para>
- </listitem>
- </itemizedlist>
- </para>
- </refsect1>
- <refsect1>
- <title>FILES</title>
- <variablelist>
- <varlistentry>
- <term><filename>~/.config/lxpanel</filename></term>
- <listitem>
- <para>config file, can be edited by preference dialog.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>SEE ALSO</title>
-
- <para>lxsession (1), lxpanelctl (1).</para>
-
- </refsect1>
- <refsect1>
- <title>AUTHOR</title>
-
- <para>This manual page was written by &dhusername; &dhemail; for
- the &debian; system (but may be used by others). Permission is
- granted to copy, distribute and/or modify this document under
- the terms of the &gnu; General Public License, Version 2 any
- later version published by the Free Software Foundation.
- </para>
- <para>
- On Debian systems, the complete text of the GNU General Public
- License can be found in /usr/share/common-licenses/GPL.
- </para>
-
- </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
View
149 man/lxpanel.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0"?>
+<refentry
+> <refentryinfo
+> <address
+> <email
+>grandpaul@gmail.com</email>
+ </address>
+ <author
+> <firstname
+>Ying-Chun</firstname>
+ <surname
+>Liu</surname>
+ </author>
+ <copyright
+> <year
+>2008</year>
+ <holder
+>paulliu</holder>
+ </copyright>
+ <date
+>March 2, 2008</date>
+ </refentryinfo>
+ <refmeta
+> <refentrytitle
+>LXPANEL</refentrytitle>
+
+ <manvolnum
+>1</manvolnum>
+ </refmeta>
+ <refnamediv
+> <refname
+>lxpanel</refname>
+
+ <refpurpose
+>a lightweight GTK2-based panel for LXDE desktop.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv
+> <cmdsynopsis
+> <command
+>lxpanel</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1
+> <title
+>DESCRIPTION</title>
+
+ <para
+>This manual page documents briefly the
+ <command
+>lxpanel</command> command.</para>
+
+ <para
+><command
+>lxpanel</command> is a program that provides a panel
+ for desktop, usually for LXDE. It is lightweight GTK+ 2.x based desktop
+ panel.
+ </para>
+
+ <para
+> <itemizedlist
+spacing="normal"
+mark="bullet"
+> <title
+>Features</title>
+ <listitem
+><para
+>User-friendly application menu automatically generated from <filename
+>.desktop</filename>
+ files on the system.
+ </para>
+ </listitem>
+ <listitem
+><para
+>Launcher bar (small icons clicked to launch apps)</para></listitem>
+ <listitem
+><para
+>Task bar supporting ICCCM/EWMH `urgency' hint (Pidgin IM windows
+ can flash on new incoming messages)</para>
+ </listitem>
+ <listitem
+><para
+>Notification area (system tray)</para></listitem>
+ <listitem
+><para
+>Digital clock</para></listitem>
+ <listitem
+><para
+>Run dialog (type command to run, without opening a terminal
+)</para>
+ </listitem>
+ <listitem
+><para
+>Net status icon plug-in (optional)</para></listitem>
+ <listitem
+><para
+>Volume control plug-in (optional)</para></listitem>
+ <listitem
+><para
+>lxpanelctl, an external controller let you control lxpanel in
+ other programs. For example, "lxpanelctl run" will show the Run
+ dialog in lxpanel, and "lxpanelctl menu" will show the application
+ menu. This is useful in key bindings provided by window managers.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </refsect1>
+ <refsect1
+> <title
+>FILES</title>
+ <variablelist
+> <varlistentry
+> <term
+><filename
+>~/.config/lxpanel</filename></term>
+ <listitem
+> <para
+>config file, can be edited by preference dialog.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1
+> <title
+>SEE ALSO</title>
+
+ <para
+>lxsession (1), lxpanelctl (1).</para>
+
+ </refsect1>
+ <refsect1
+> <title
+>AUTHOR</title>
+
+ <para
+>This manual page was written by paulliu <email
+>grandpaul@gmail.com</email> for
+ the <productname
+>Debian</productname> system (but may be used by others). Permission is
+ granted to copy, distribute and/or modify this document under
+ the terms of the <acronym
+>GNU</acronym> General Public License, Version 2 any
+ later version published by the Free Software Foundation.
+ </para>
+ <para
+> On Debian systems, the complete text of the GNU General Public
+ License can be found in /usr/share/common-licenses/GPL.
+ </para>
+
+ </refsect1></refentry>
View
155 man/lxpanelctl.sgml
@@ -1,155 +0,0 @@
-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-
-<!-- Process this file with docbook-to-man to generate an nroff manual
- page: `docbook-to-man manpage.sgml > manpage.1'. You may view
- the manual page with: `docbook-to-man manpage.sgml | nroff -man |
- less'. A typical entry in a Makefile or Makefile.am is:
-
-manpage.1: manpage.sgml
- docbook-to-man $< > $@
-
-
- The docbook-to-man binary is found in the docbook-to-man package.
- Please remember that if you create the nroff version in one of the
- debian/rules file targets (such as build), you will need to include
- docbook-to-man in your Build-Depends control field.
-
- -->
-
- <!-- Fill in your name for FIRSTNAME and SURNAME. -->
- <!ENTITY dhfirstname "<firstname>Ying-Chun</firstname>">
- <!ENTITY dhsurname "<surname>Liu</surname>">
- <!-- Please adjust the date whenever revising the manpage. -->
- <!ENTITY dhdate "<date>March 2, 2008</date>">
- <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
- allowed: see man(7), man(1). -->
- <!ENTITY dhsection "<manvolnum>1</manvolnum>">
- <!ENTITY dhemail "<email>grandpaul@gmail.com</email>">
- <!ENTITY dhusername "paulliu">
- <!ENTITY dhucpackage "<refentrytitle>LXPANEL</refentrytitle>">
- <!ENTITY dhpackage "lxpanelctl">
-
- <!ENTITY debian "<productname>Debian</productname>">
- <!ENTITY gnu "<acronym>GNU</acronym>">
- <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
-]>
-
-<refentry>
- <refentryinfo>
- <address>
- &dhemail;
- </address>
- <author>
- &dhfirstname;
- &dhsurname;
- </author>
- <copyright>
- <year>2008</year>
- <holder>&dhusername;</holder>
- </copyright>
- &dhdate;
- </refentryinfo>
- <refmeta>
- &dhucpackage;
-
- &dhsection;
- </refmeta>
- <refnamediv>
- <refname>&dhpackage;</refname>
-
- <refpurpose>controller for lxpanel.</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>&dhpackage;</command>
- <arg choice='req'>command</arg>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
-
- <para>This manual page documents briefly the
- <command>&dhpackage;</command> command.</para>
-
- <para><command>&dhpackage;</command> is a program that controls lxpanel.
- </para>
- </refsect1>
- <refsect1>
- <title>COMMANDS</title>
- <variablelist>
- <varlistentry>
- <term><command>menu</command>
- </term>
- <listitem>
- <para>show system menu</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>run</command>
- </term>
- <listitem>
- <para>show run dialog</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>config</command>
- </term>
- <listitem>
- <para>show config dialog</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>restart</command>
- </term>
- <listitem>
- <para>restart lxpanel</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>exit</command>
- </term>
- <listitem>
- <para>exit lxpanel</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>SEE ALSO</title>
-
- <para>lxpanel (1).</para>
-
- </refsect1>
- <refsect1>
- <title>AUTHOR</title>
-
- <para>This manual page was written by &dhusername; &dhemail; for
- the &debian; system (but may be used by others). Permission is
- granted to copy, distribute and/or modify this document under
- the terms of the &gnu; General Public License, Version 2 any
- later version published by the Free Software Foundation.
- </para>
- <para>
- On Debian systems, the complete text of the GNU General Public
- License can be found in /usr/share/common-licenses/GPL.
- </para>
-
- </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
View
143 man/lxpanelctl.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0"?>
+<refentry
+> <refentryinfo
+> <address
+> <email
+>grandpaul@gmail.com</email>
+ </address>
+ <author
+> <firstname
+>Ying-Chun</firstname>
+ <surname
+>Liu</surname>
+ </author>
+ <copyright
+> <year
+>2008</year>
+ <holder
+>paulliu</holder>
+ </copyright>
+ <date
+>March 2, 2008</date>
+ </refentryinfo>
+ <refmeta
+> <refentrytitle
+>LXPANEL</refentrytitle>
+
+ <manvolnum
+>1</manvolnum>
+ </refmeta>
+ <refnamediv
+> <refname
+>lxpanelctl</refname>
+
+ <refpurpose
+>controller for lxpanel.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv
+> <cmdsynopsis
+> <command
+>lxpanelctl</command>
+ <arg
+choice="req"
+>command</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1
+> <title
+>DESCRIPTION</title>
+
+ <para
+>This manual page documents briefly the
+ <command
+>lxpanelctl</command> command.</para>
+
+ <para
+><command
+>lxpanelctl</command> is a program that controls lxpanel.
+ </para>
+ </refsect1>
+ <refsect1
+> <title
+>COMMANDS</title>
+ <variablelist
+> <varlistentry
+> <term
+><command
+>menu</command>
+ </term>
+ <listitem
+> <para
+>show system menu</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry
+> <term
+><command
+>run</command>
+ </term>
+ <listitem
+> <para
+>show run dialog</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry
+> <term
+><command
+>config</command>
+ </term>
+ <listitem
+> <para
+>show config dialog</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry
+> <term
+><command
+>restart</command>
+ </term>
+ <listitem
+> <para
+>restart lxpanel</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry
+> <term
+><command
+>exit</command>
+ </term>
+ <listitem
+> <para
+>exit lxpanel</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1
+> <title
+>SEE ALSO</title>
+
+ <para
+>lxpanel (1).</para>
+
+ </refsect1>
+ <refsect1
+> <title
+>AUTHOR</title>
+
+ <para
+>This manual page was written by paulliu <email
+>grandpaul@gmail.com</email> for
+ the <productname
+>Debian</productname> system (but may be used by others). Permission is
+ granted to copy, distribute and/or modify this document under
+ the terms of the <acronym
+>GNU</acronym> General Public License, Version 2 any
+ later version published by the Free Software Foundation.
+ </para>
+ <para
+> On Debian systems, the complete text of the GNU General Public
+ License can be found in /usr/share/common-licenses/GPL.
+ </para>
+
+ </refsect1></refentry>

0 comments on commit 40189d6

Please sign in to comment.