changeset 423:04ad7c1b1b04

Alphabetical index of directives.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 24 Feb 2012 10:15:45 +0000
parents ae5474268118
children aa00b4d476c8
files dtd/content.dtd xml/en/GNUmakefile xml/en/docs/index.xml xml/i18n.xml xml/ru/GNUmakefile xml/ru/docs/index.xml xsls/dirindex.xsls xsls/link.xsls
diffstat 8 files changed, 89 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dtd/content.dtd	Wed Feb 22 16:32:09 2012 +0000
+++ b/dtd/content.dtd	Fri Feb 24 10:15:45 2012 +0000
@@ -5,12 +5,14 @@
            name         CDATA #IMPLIED
 >
 
-<!ELEMENT  para         (#PCDATA | link | br | list | orderedlist | note |
+<!ELEMENT  para         (#PCDATA | link | links | br | list | orderedlist | note |
                          i | b | nobr | table | url | literal | command |
                          path | header | value | programlisting |
                          initial | development_version | stable_version |
                          registered | c-func)* >
 
+<!ELEMENT  links        (link)+ >
+
 <!ELEMENT  link         (#PCDATA) >
 <!ATTLIST  link
            doc          CDATA #IMPLIED
--- a/xml/en/GNUmakefile	Wed Feb 22 16:32:09 2012 +0000
+++ b/xml/en/GNUmakefile	Fri Feb 24 10:15:45 2012 +0000
@@ -8,6 +8,7 @@
 		windows							\
 		control							\
 		hash							\
+		dirindex						\
 
 DOCS_XML =	$(foreach name, $(DOCS), xml/$(DOC_LANG)/docs/$(name).xml)
 DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(DOC_LANG)/docs/$(name).html)
@@ -116,6 +117,16 @@
 		$(DOCS_XML)						\
 		$(REFS_XML)						\
 
+xml/$(DOC_LANG)/docs/dirindex.xml:					\
+		$(REFS_XML)						\
+		xslt/dirindex.xslt
+	echo "<modules>$(patsubst %,					\
+	<module name=\"%\"/>, $(filter %.xml,$^))</modules>" |		\
+	xsltproc -o -							\
+	--stringparam LANG $(patsubst xml/%/docs/dirindex.xml,%,$@)	\
+	xslt/dirindex.xslt - |						\
+	sed 's;xml/[^/]*/docs/;;g' > $@
+
 $(OUT)/$(DOC_LANG)/docs/introduction.html:				\
 		$(INTRO_XML)						\
 
--- a/xml/en/docs/index.xml	Wed Feb 22 16:32:09 2012 +0000
+++ b/xml/en/docs/index.xml	Fri Feb 24 10:15:45 2012 +0000
@@ -55,6 +55,16 @@
 <list>
 
 <item>
+<link doc="dirindex.xml"/>
+</item>
+
+</list>
+</para>
+
+<para>
+<list>
+
+<item>
 <link doc="ngx_core_module.xml" />
 </item>
 
--- a/xml/i18n.xml	Wed Feb 22 16:32:09 2012 +0000
+++ b/xml/i18n.xml	Fri Feb 24 10:15:45 2012 +0000
@@ -13,6 +13,7 @@
 <item id="context.any">any</item>
 <item id="directive.version">This directive appeared in version</item>
 <item id="directive.versions">This directive appeared in versions</item>
+<item id="dirindex">Alphabetical Index of Directives</item>
 </text>
 
 <text lang="ru">
@@ -23,6 +24,7 @@
 <item id="context.any">любой</item>
 <item id="directive.version">Эта директива появилась в версии</item>
 <item id="directive.versions">Эта директива появилась в версиях</item>
+<item id="dirindex">Алфавитный указатель директив</item>
 </text>
 
 <text lang="ja">
--- a/xml/ru/GNUmakefile	Wed Feb 22 16:32:09 2012 +0000
+++ b/xml/ru/GNUmakefile	Fri Feb 24 10:15:45 2012 +0000
@@ -12,6 +12,7 @@
 		virtual_hosts						\
 		control							\
 		hash							\
+		dirindex						\
 
 DOCS_XML =	$(foreach name, $(DOCS), xml/$(DOC_LANG)/docs/$(name).xml)
 DOCS_HTML =	$(foreach name, $(DOCS), $(OUT)/$(DOC_LANG)/docs/$(name).html)
@@ -92,6 +93,16 @@
 		$(DOCS_XML)						\
 		$(REFS_XML)						\
 
+xml/$(DOC_LANG)/docs/dirindex.xml:					\
+		$(REFS_XML)						\
+		xslt/dirindex.xslt
+	echo "<modules>$(patsubst %,					\
+	<module name=\"%\"/>, $(filter %.xml,$^))</modules>" |		\
+	xsltproc -o -							\
+	--stringparam LANG $(patsubst xml/%/docs/dirindex.xml,%,$@)	\
+	xslt/dirindex.xslt - |						\
+	sed 's;xml/[^/]*/docs/;;g' > $@
+
 $(OUT)/$(DOC_LANG)/docs/howto.html:					\
 		$(HOWTO_XML)						\
 
--- a/xml/ru/docs/index.xml	Wed Feb 22 16:32:09 2012 +0000
+++ b/xml/ru/docs/index.xml	Fri Feb 24 10:15:45 2012 +0000
@@ -79,6 +79,16 @@
 <list>
 
 <item>
+<link doc="dirindex.xml"/>
+</item>
+
+</list>
+</para>
+
+<para>
+<list>
+
+<item>
 <link doc="ngx_core_module.xml" />
 </item>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xsls/dirindex.xsls	Fri Feb 24 10:15:45 2012 +0000
@@ -0,0 +1,35 @@
+X:stylesheet {
+
+X:output method="xml" doctype-system="../../../dtd/article.dtd";
+
+<!--
+  -- a current directory of a XSLT script is where the script is stored,
+  -- but not where XSLT processor has been started to run the script
+  -->
+X:param XML = "'../xml'"; 
+
+X:param LANG;
+
+X:template = "modules" {
+    <article name="{document(concat($XML, '/i18n.xml'))
+                    /i18n/text[@lang = $LANG]/item[@id='dirindex']}"
+             link="/{$LANG}/docs/dirindex.html"
+             lang="{$LANG}">
+    <section>
+    <para>
+    <links>
+    !! "module";
+    </links>
+    </para>
+    </section>
+    </article>
+}
+
+X:template = "module" {
+    X:var module="@name"
+    X:for-each "document(@name)/module/section/directive" {
+        <link doc="{$module}" id="{@name}"/>
+    }
+}
+
+}
--- a/xsls/link.xsls	Wed Feb 22 16:32:09 2012 +0000
+++ b/xsls/link.xsls	Fri Feb 24 10:15:45 2012 +0000
@@ -26,4 +26,11 @@
     </a>
 }
 
+X:template = "links" {
+    X:for-each "link", X:sort "@id" {
+        <a href="{substring-before(@doc, '.xml')}.html#{@id}">!{@id}</a>
+        <br/>
+    }
 }
+
+}