mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-08 15:30:40 -08:00
Update and fix instructions and scripts for updating the Web pages
* admin/admin.el (manual-html-fix-index-2): Support Texinfo 6.8 and later by not converting TOC menus into tables. (Bug#49719) * admin/upload-manuals (New directory): Invoke "cvs add" in $webdir, to pick up the correct CVSROOT. * admin/make-tarball.txt: Update the section about the Emacs Web pages. * etc/refcards/Makefile (pl-refcard.dvi): If mex.fmt cannot be found, invoke 'mex' instead of 'tex'.
This commit is contained in:
parent
886339747b
commit
24a6c7c8c0
4 changed files with 142 additions and 80 deletions
|
|
@ -591,10 +591,15 @@ style=\"text-align:left\">")
|
||||||
(forward-line 1)
|
(forward-line 1)
|
||||||
(setq done t)))))
|
(setq done t)))))
|
||||||
(let (done open-td tag desc)
|
(let (done open-td tag desc)
|
||||||
;; Convert the list that Makeinfo made into a table.
|
;; Texinfo 6.8 and later doesn't produce <ul class="menu"> lists
|
||||||
(or (search-forward "<ul class=\"menu\">" nil t)
|
;; for the TOC menu, and the "description" part of each menu
|
||||||
|
;; item is not there anymore. So for HTML manuals produced by
|
||||||
|
;; those newer versions of Texinfo we punt and leave the menu in
|
||||||
|
;; its original form.
|
||||||
|
(when (or (search-forward "<ul class=\"menu\">" nil t)
|
||||||
;; FIXME? The following search seems dangerously lax.
|
;; FIXME? The following search seems dangerously lax.
|
||||||
(search-forward "<ul>"))
|
(search-forward "<ul>"))
|
||||||
|
;; Convert the list that Makeinfo made into a table.
|
||||||
(replace-match "<table style=\"float:left\" width=\"100%\">")
|
(replace-match "<table style=\"float:left\" width=\"100%\">")
|
||||||
(forward-line 1)
|
(forward-line 1)
|
||||||
(while (not done)
|
(while (not done)
|
||||||
|
|
@ -660,7 +665,7 @@ style=\"text-align:left\">")
|
||||||
(file-name-nondirectory buffer-file-name)))
|
(file-name-nondirectory buffer-file-name)))
|
||||||
(unless open-td
|
(unless open-td
|
||||||
(setq done t))))
|
(setq done t))))
|
||||||
(forward-line 1)))))
|
(forward-line 1))))))
|
||||||
|
|
||||||
|
|
||||||
(defconst make-manuals-dist-output-variables
|
(defconst make-manuals-dist-output-variables
|
||||||
|
|
|
||||||
|
|
@ -315,17 +315,70 @@ looks like this:
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Regenerate the various manuals in manual/.
|
Next, regenerate the various manuals in HTML, PDF, and PS formats:
|
||||||
The scripts admin/make-manuals and admin/upload-manuals summarize the process.
|
|
||||||
|
|
||||||
If you have Texinfo installed locally, make-manuals might fail if it
|
Invoke ./admin/make-manuals from the top-level directory of the
|
||||||
cannot find epsf.tex. In that case define in the environment
|
Emacs source tree that contains the manuals for which you want to
|
||||||
|
produce HTML docs. This creates the 'manual' directory and
|
||||||
|
populates it with the necessary files.
|
||||||
|
|
||||||
|
If you have Texinfo installed locally, make-manuals might fail if it
|
||||||
|
cannot find epsf.tex. In that case define in the environment
|
||||||
|
|
||||||
TEXINPUTS=:/path/to/texinfo-tree/doc
|
TEXINPUTS=:/path/to/texinfo-tree/doc
|
||||||
|
|
||||||
where /path/to/texinfo-tree is the absolute file name of the top-level
|
where /path/to/texinfo-tree is the absolute file name of the
|
||||||
directory where you have the Texinfo source tree. Then re-run
|
top-level directory where you have the Texinfo source tree. Then
|
||||||
make-manuals.
|
re-run make-manuals.
|
||||||
|
|
||||||
|
make-manuals can also fail if the HTML manuals produced by Texinfo
|
||||||
|
violate some of the assumptions admin/admin.el makes about the
|
||||||
|
format of the produced HTML. Debug these problems and resolve them,
|
||||||
|
then re-run make-manuals. (Each time you run make-manuals, it
|
||||||
|
empties the manuals/ directory and regenerates the files there, but
|
||||||
|
if the files in manuals/ can be used without regeneration, i.e. if
|
||||||
|
the problem you solved doesn't affect the produced HTML, you can
|
||||||
|
invoke make-manuals with the -c switch, which will make the process
|
||||||
|
much faster.)
|
||||||
|
|
||||||
|
Now change to the 'manual' directory and invoke upload-manuals:
|
||||||
|
|
||||||
|
../admin/updload-manuals /path/to/webpages/cvs/checkout
|
||||||
|
|
||||||
|
where /path/to/webpages/cvs/checkout is the place where you have the
|
||||||
|
CVS checkout of the Emacs Web pages, with subdirectories 'manual'
|
||||||
|
and 'refcards'. This moves the produced manuals to directories in
|
||||||
|
the Web pages CVS checkout tree, and also invokes CVS commands to
|
||||||
|
commit changed files, add new files, and remove stale files that are
|
||||||
|
no longer part of the manuals.
|
||||||
|
|
||||||
|
If upload-manuals fails, resolve the problems and re-invoke it.
|
||||||
|
This requires running make-manuals again, since upload-manuals
|
||||||
|
destructively modifies the 'manual' directory where you invoke it.
|
||||||
|
Also, upload-manuals invokes "cvs commit -f", so if you run it
|
||||||
|
several times, some files will be committed more than once even
|
||||||
|
though they were not changed in-between. Suck it up.
|
||||||
|
|
||||||
|
All the added and removed files need to be committed, so next fire
|
||||||
|
up Emacs, type "C-x v d" to invoke vc-dir on the Web pages checkout,
|
||||||
|
and use "C-x v v" and other VC commands to commit all the files that
|
||||||
|
upload-manuals didn't automatically commit. (You can also do that
|
||||||
|
with manual CVS commands, of course, but this is not recommended.)
|
||||||
|
|
||||||
|
Next, make sure that manual/index.html file is consistent with the
|
||||||
|
info/dir file in the branch for which you are producing the manuals,
|
||||||
|
in that it mentions all the manuals. It could be outdated if
|
||||||
|
manuals were added or removed since the last release.
|
||||||
|
|
||||||
|
For each new manual, a file manual/MANUAL.html (where MANUAL is the
|
||||||
|
name of the manual) should be created from the template in
|
||||||
|
manual/eww.html, after editing the title and the Copyright years,
|
||||||
|
and the links in it changed to point to the appropriate files in the
|
||||||
|
manual/html_node/ and manual/html_mono/ subdirectories.
|
||||||
|
|
||||||
|
In addition, the file refcards/index.html should be audited to make
|
||||||
|
sure it includes the up-to-date list of refcards actually produced
|
||||||
|
and put under that subdirectory.
|
||||||
|
|
||||||
Browsing <https://web.cvs.savannah.gnu.org/viewvc/?root=emacs> is one
|
Browsing <https://web.cvs.savannah.gnu.org/viewvc/?root=emacs> is one
|
||||||
way to check for any files that still need updating.
|
way to check for any files that still need updating.
|
||||||
|
|
|
||||||
|
|
@ -334,7 +334,10 @@ for d in html_node/*; do
|
||||||
[ -e $webdir/manual/$d ] || {
|
[ -e $webdir/manual/$d ] || {
|
||||||
echo "New directory: $d"
|
echo "New directory: $d"
|
||||||
mkdir $webdir/manual/$d
|
mkdir $webdir/manual/$d
|
||||||
$cvs add $webdir/manual/$d || die "add error"
|
(
|
||||||
|
cd $webdir/manual
|
||||||
|
$cvs add $d || die "add error"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
new=
|
new=
|
||||||
|
|
|
||||||
|
|
@ -233,10 +233,11 @@ pl-refcard.pdf: $(pl_refcard_deps)
|
||||||
fi
|
fi
|
||||||
$(ENVADD) pdftex -output-format=pdf pl-refcard.tex
|
$(ENVADD) pdftex -output-format=pdf pl-refcard.tex
|
||||||
pl-refcard.dvi: $(pl_refcard_deps)
|
pl-refcard.dvi: $(pl_refcard_deps)
|
||||||
if ! kpsewhich -format=fmt mex > /dev/null; then \
|
if kpsewhich -format=fmt mex > /dev/null; then \
|
||||||
echo "No mex format found."; false; \
|
$(ENVADD) tex pl-refcard.tex; \
|
||||||
|
else \
|
||||||
|
$(ENVADD) mex pl-refcard.tex; \
|
||||||
fi
|
fi
|
||||||
$(ENVADD) tex pl-refcard.tex
|
|
||||||
pl-refcard.ps: pl-refcard.dvi
|
pl-refcard.ps: pl-refcard.dvi
|
||||||
dvips -t a4 -o $@ pl-refcard.dvi
|
dvips -t a4 -o $@ pl-refcard.dvi
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue