docs: add index page (#4615)

This commit is contained in:
Francesco Montorsi 2023-11-01 10:49:25 +01:00 committed by GitHub
parent 05c2025412
commit aa9a2c8429
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 15 deletions

1
.gitignore vendored
View File

@ -6,6 +6,7 @@ syntax: glob # for hg-git users
builds/Makefile
builds/deprecated-msvc/Makefile
doc/Makefile
doc/__pagelist
libtool
### automake
Makefile.in

View File

@ -28,17 +28,17 @@ MAN7 = \
zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7 zmq_vmci.7 zmq_udp.7 \
zmq_gssapi.7
# MAN_ADOC contains all original Asciidoc files from git repo
MAN_ADOC = $(MAN3:%.3=%.adoc) $(MAN7:%.7=%.adoc)
# ASCIIDOC_DOC_WITHOUT_INDEX contains all the Asciidoc files checked into the git repo, except for index.adoc
ASCIIDOC_DOC_WITHOUT_INDEX = $(MAN3:%.3=%.adoc) $(MAN7:%.7=%.adoc)
# MAN_DOC contains all the MANUAL PAGES (generated from asciidoc files)
# MAN_DOC contains all the MANPAGE documentation (generated from asciidoc files)
MAN_DOC = $(MAN3) $(MAN7)
# MAN_HTML contains all the HTML PAGES (generated from asciidoc files)
MAN_HTML = $(MAN_ADOC:%.adoc=%.html)
# HTML_DOC contains all the HTML documentation (generated from asciidoc files)
HTML_DOC = index.html $(ASCIIDOC_DOC_WITHOUT_INDEX:%.adoc=%.html)
MAINTAINERCLEANFILES =
EXTRA_DIST = $(MAN_ADOC)
EXTRA_DIST = $(ASCIIDOC_DOC_WITHOUT_INDEX)
#
@ -47,26 +47,40 @@ EXTRA_DIST = $(MAN_ADOC)
#
if BUILD_DOC
EXTRA_DIST += $(MAN_HTML) $(MAN_DOC)
MAINTAINERCLEANFILES += $(MAN_HTML) $(MAN_DOC)
EXTRA_DIST += $(HTML_DOC) $(MAN_DOC)
MAINTAINERCLEANFILES += $(HTML_DOC) $(MAN_DOC)
SUFFIXES=.html .adoc .3 .7
.adoc.html:
.adoc.html:
asciidoctor -b html -azmq_version=@PACKAGE_VERSION@ $<
.adoc.3:
asciidoctor -b manpage -azmq_version=@PACKAGE_VERSION@ $<
.adoc.7:
asciidoctor -b manpage -azmq_version=@PACKAGE_VERSION@ $<
dist-hook : $(MAN_DOC) $(MAN_HTML)
dist-hook : $(MAN_DOC) $(HTML_DOC)
# To help publishing HTML files into github Pages, we indicate github that the "zmq.html" page is the index page;
# that page contains a link to all other documentation pages
all-local : $(MAN_DOC) $(MAN_HTML)
ln -sf zmq.html index.html
# the following Bash snippet is used to automatically generate an alphabetical list included by index.adoc:
$(builddir)/__pagelist:
echo >$@
for adocfile in $(ASCIIDOC_DOC_WITHOUT_INDEX); do \
noext=$${adocfile//.adoc/}; \
echo "* xref:$${adocfile}[$${noext}]" >> $@; \
done
# there are a number of constraints in auto-generating files for Asciidoctor:
# - out-of-tree builds
# - read-only source tree
# - target being invoked into RPM buildroot
# etc, so we have special rules to build the index.html page, which requires auto-generated list of doc pages
index.html:
$(MAKE) $(builddir)/__pagelist
asciidoctor -b html -azmq_version=@PACKAGE_VERSION@ -azmq_pagelist_dir=$(abs_builddir) $(srcdir)/index.adoc
all-local : $(MAN_DOC) $(HTML_DOC)
clean-local :
rm -f $(MAN3) $(MAN7) $(MAN_HTML)
rm -f $(MAN_DOC) $(HTML_DOC) $(builddir)/__pagelist
endif

9
doc/index.adoc Normal file
View File

@ -0,0 +1,9 @@
= ZMQ API reference
This documentation is for libzmq {zmq_version}.
A suggested start to understand 0MQ (also written as ZMQ or ZeroMQ) is the xref:zmq.adoc[zmq] manpage.
== Alphabetic list of documentation pages
include::{zmq_pagelist_dir}/__pagelist[]