Date: Sun, 12 Nov 2000 22:48:27 +0000 From: Nik Clayton <nik@freebsd.org> To: doc@freebsd.org Subject: Indexing in DocBook Message-ID: <20001112224826.A7270@canyon.nothing-going-on.org>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Folks,
Attached, find a first draft at support for automatic index generation.
This is so that people can play around with it, and let me know what breaks.
Of course, if it breaks, feel free to fix it :-)
The patch touches a number of files:
.../fdp-primer/* I needed something to test it on, so I've added
a couple of simple index entries to the primer.
Note the use of <indexterm><primary>...</></>
and the "significance" attribute that I use once.
doc.docbook.mk Introduce the GEN_INDEX variable, and conditionally
build the index.sgml file if it's defined.
This only works for HTML at the moment, I haven't investigated doing it
for PS and PDF. This probably means that PS and PDF generation will be
broken -- naturally, I don't intend to commit any of this until that's
solved.
N
--
Internet connection, $19.95 a month. Computer, $799.95. Modem, $149.95.
Telephone line, $24.95 a month. Software, free. USENET transmission,
hundreds if not thousands of dollars. Thinking before posting, priceless.
Somethings in life you can't buy. For everything else, there's MasterCard.
-- Graham Reed, in the Scary Devil Monastery
[-- Attachment #2 --]
Index: en_US.ISO_8859-1/books/fdp-primer/book.sgml
===================================================================
RCS file: /home/ncvs/doc/en_US.ISO_8859-1/books/fdp-primer/book.sgml,v
retrieving revision 1.12
diff -u -r1.12 book.sgml
--- en_US.ISO_8859-1/books/fdp-primer/book.sgml 2000/07/16 16:36:17 1.12
+++ en_US.ISO_8859-1/books/fdp-primer/book.sgml 2000/11/12 21:55:37
@@ -37,6 +37,7 @@
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
<!ENTITY % not.published "INCLUDE">
+<!ENTITY index SYSTEM "index.sgml">
]>
<book>
@@ -282,7 +283,8 @@
&chap.see-also;
&app.examples;
-
+
+ &index;
</book>
<!--
Index: en_US.ISO_8859-1/books/fdp-primer/overview/chapter.sgml
===================================================================
RCS file: /home/ncvs/doc/en_US.ISO_8859-1/books/fdp-primer/overview/chapter.sgml,v
retrieving revision 1.5
diff -u -r1.5 chapter.sgml
--- en_US.ISO_8859-1/books/fdp-primer/overview/chapter.sgml 2000/07/07 18:38:23 1.5
+++ en_US.ISO_8859-1/books/fdp-primer/overview/chapter.sgml 2000/11/12 21:58:27
@@ -44,7 +44,10 @@
effectively use the tools available to you when writing
documentation</emphasis>.</para>
- <para>Every one is welcome to join the FDP. There is no minimum
+ <para><indexterm>
+ <primary>Membership</primary>
+ </indexterm>
+Every one is welcome to join the FDP. There is no minimum
membership requirement, no quota of documentation you need to
produce per month. All you need to do is subscribe to the
<email>freebsd-doc@FreeBSD.org</email> mailing list.</para>
Index: en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml
===================================================================
RCS file: /home/ncvs/doc/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml,v
retrieving revision 1.15
diff -u -r1.15 chapter.sgml
--- en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml 2000/11/01 22:38:35 1.15
+++ en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml 2000/11/12 22:39:41
@@ -570,7 +570,10 @@
<term><literal>PUBLIC "-//W3C//DTD HTML 4.0//EN"</literal></term>
<listitem>
- <para>Lists the Formal Public Identifier (FPI) for the DTD that this
+ <para>Lists the Formal Public Identifier (FPI)<indexterm>
+ <primary>Formal Public Identifier</primary>
+ </indexterm>
+ for the DTD that this
document conforms to. Your SGML parser will use this to find the
correct DTD when processing this document.</para>
@@ -592,7 +595,10 @@
</variablelist>
<sect2>
- <title>Formal Public Identifiers (FPIs)</title>
+ <title>Formal Public Identifiers (FPIs)<indexterm significance="preferred">
+ <primary>Formal Public Identifier</primary>
+ </indexterm>
+</title>
<note>
<para>You don't need to know this, but it's useful background, and
Index: share/mk/doc.docbook.mk
===================================================================
RCS file: /home/ncvs/doc/share/mk/doc.docbook.mk,v
retrieving revision 1.25
diff -u -r1.25 doc.docbook.mk
--- share/mk/doc.docbook.mk 2000/10/31 14:39:13 1.25
+++ share/mk/doc.docbook.mk 2000/11/12 22:33:33
@@ -26,6 +26,7 @@
# SRCS causes the documents to be rebuilt.
#
+
# ------------------------------------------------------------------------
#
# Variables used by both users and documents:
@@ -42,6 +43,10 @@
#
# NO_TIDY If you do not want to use tidy, set this to "YES".
#
+# GEN_INDEX If defined, index.sgml will be added to the list
+# of dependencies for source files, and collateindex.pl
+# will be run to generate index.sgml.
+#
# Documents should use the += format to access these.
#
@@ -148,10 +153,14 @@
CLEANFILES+= ${DOC}.tar
.elif ${_cf} == "pdb"
_docs+= ${DOC}.pdb ${.CURDIR:T}.pdb
-+CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb
+CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb
.endif
.endfor
+.if defined(GEN_INDEX)
+CLEANFILES+=HTML.index
+.endif
+
#
# Build a list of install-${format}.${compress_format} targets to be
# by "make install". Also, add ${DOC}.${format}.${compress_format} to
@@ -181,12 +190,20 @@
all: ${_docs}
index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG}
+.if defined(GEN_INDEX)
+ ${JADE} -V html-index -ioutput.html -ioutput.html.images ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC}
+ perl ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl -o index.sgml HTML.index
+.endif
${JADE} -V html-manifest -ioutput.html -ioutput.html.images ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC}
.if !defined(NO_TIDY)
-tidy -i -m -f /dev/null ${TIDYFLAGS} `xargs < HTML.manifest`
.endif
${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG}
+.if defined(GEN_INDEX)
+ ${JADE} -V html-index -ioutput.html -ioutput.html.images -V nochunks ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC}
+ perl ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl -o index.sgml HTML.index
+.endif
${JADE} -ioutput.html -ioutput.html.images -V nochunks ${JADEOPTS} -d ${DSLHTML} -t sgml ${MASTERDOC} > ${.TARGET} || (rm -f ${.TARGET} && false)
.if !defined(NO_TIDY)
-tidy -i -m -f /dev/null ${TIDYFLAGS} ${.TARGET}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001112224826.A7270>
