Commit a7b22449 authored by privet-kitty's avatar privet-kitty Committed by Francois-Rene Rideau

Add UIOP's manual to index.html and integrate the manual generation into the main Makefile

parent 06a39431
......@@ -160,6 +160,7 @@ push:
doc: ;
website:
${MAKE} -C doc website
${MAKE} -C uiop/doc website
clean_dirs = $(sourceDirectory)
clean_extensions = fasl dfsl cfsl fasl fas lib dx32fsl lx64fsl lx32fsl ufasl o bak x86f vbin amd64f sparcf sparc64f hpf hp64f
......@@ -181,6 +182,7 @@ clean:
rm -rf build/ LICENSE test/try-reloading-dependency.asd test/hello-world-example asdf.lisp
rm -rf test/hello-world-example.exe test/mkcl_*.dll # needed only on MS-Windows
${MAKE} -C doc clean
${MAKE} -C uiop/doc clean
mrproper:
git clean -xfd
......
......@@ -394,10 +394,18 @@ Corman Common Lisp <admin@cormanlisp.com>
<h3>Documentation</h3>
<p>You can read our manual:</p>
<ul>
<li><a href="asdf.html">as one HTML file</a></li>
<li><a href="asdf/">split into one HTML file per section</a></li>
<li><a href="asdf.pdf">as a PDF document</a></li>
<li><a href="https://gitlab.common-lisp.net/asdf/asdf/blob/master/doc/asdf.texinfo">as texinfo source</a></li>
<li>ASDF</li>
<ul>
<li><a href="asdf.html">as one HTML file</a></li>
<li><a href="asdf/">split into one HTML file per section</a></li>
<li><a href="asdf.pdf">as a PDF document</a></li>
<li><a href="https://gitlab.common-lisp.net/asdf/asdf/blob/master/doc/asdf.texinfo">as texinfo source</a></li>
</ul>
<li>UIOP</li>
<ul>
<li><a href="uiop.html">as one HTML file</a></li>
<li><a href="uiop.pdf">as a PDF document</a></li>
</ul>
</ul>
<p>
The first few sections,
......
UIOP := uiop
uiop := uiop
ifeq (${user},)
userat :=
else
userat := ${user}@
endif
website:=${userat}common-lisp.net:/project/asdf/public_html/
output = ${uiop}.html ${uiop}.pdf
webfiles = ${output}
.PHONY: clean html pdf include clean-include clean-crap info doc
.PHONY: clean html pdf include clean-include clean-crap info doc texinfo website
doc: pdf html info clean-crap
website: all
rsync -lt --no-g ${webfiles} ${website}
all: pdf html info clean-crap
clean-include:
rm -rf include
......@@ -11,20 +22,25 @@ clean-crap:
rm -f *.aux *.cp *.fn *.fns *.ky *.log *.pg *.toc *.tp *.tps *.vr
clean: clean-include
rm -f *.pdf *.html *.info
rm -f *.pdf *.html *.info ${uiop}.texinfo
include:
sbcl --no-userinit --eval '(require :asdf)' \
--load docstrings.lisp \
--eval '(sb-texinfo:generate-includes "include/" (list :UIOP/PACKAGE :UIOP/COMMON-LISP :UIOP/UTILITY :UIOP/VERSION :UIOP/OS :UIOP/PATHNAME :UIOP/FILESYSTEM :UIOP/STREAM :UIOP/IMAGE :UIOP/LISP-BUILD :UIOP/LAUNCH-PROGRAM :UIOP/RUN-PROGRAM :UIOP/CONFIGURATION :UIOP/BACKWARD-DRIVER))' \
--eval "(sb-texinfo:complete-texinfo-template \"template.texinfo\" \"$(UIOP).texinfo\" \"include/\")" \
--eval '(quit)'
pdf: include
texi2pdf $(UIOP).texinfo
texinfo : include
sbcl --no-userinit --eval '(require :asdf)' \
--load docstrings.lisp \
--eval "(sb-texinfo:complete-texinfo-template \"template.texinfo\" \"${uiop}.texinfo\" \"include/\")" \
--eval '(quit)'
pdf: texinfo
texi2pdf ${uiop}.texinfo
html: include
makeinfo --html --no-split $(UIOP).texinfo
html: texinfo
makeinfo --html --no-split ${uiop}.texinfo
info: include
makeinfo $(UIOP).texinfo
info: texinfo
makeinfo ${uiop}.texinfo
......@@ -442,7 +442,7 @@ with #\@. Optionally downcase the result."
;;; line markups
(defvar *not-symbols* '("ANSI" "CLHS" "OS" "GCL" "MCL" "ABCL" "CCL" "CMUCL" "CLASP" "CLISP" "ECL" "MKCL" "SBCL" "SCL" "XCL"))
(defvar *not-symbols* '("ANSI" "CLHS" "OS" "CL" "CR" "LF" "CRLF" "CR+LF" "GCL" "MCL" "ABCL" "CCL" "CMUCL" "CLASP" "CLISP" "ECL" "MKCL" "SBCL" "SCL" "XCL"))
(defun locate-symbols (line)
"Return a list of index pairs of symbol-like parts of LINE."
......@@ -894,11 +894,12 @@ docstring contains invalid Texinfo markup, you lose."
(defparameter *prefix-of-lines-to-be-replaced* "@c REPLACE_ME_WITH ")
(defun complete-texinfo-template (template-pathname dest-pathname &optional (include-directory "include/"))
"Complete a template Texinfo file by inserting the @include
statements to the lines [*PREFIX-OF-LINES-TO-BE-REPLACED*] [PACKAGE-NAME]:
statements to the lines [*PREFIX-OF-LINES-TO-BE-REPLACED*] [package-name]:
e.g.
@c REPLACE_ME_WITH UIOP/UTILITY
The included files are searched in INCLUDE-DIRECTORY."
The included files are searched in `include-directory', which should
be outputted by `generate-includes' beforehand."
(let* ((template-pathname (merge-pathnames template-pathname))
(dest-pathname (merge-pathnames dest-pathname))
(include-directory (merge-pathnames include-directory))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment