Hello, Here is an updated version of the documentation patch, with Eli text.
On Sat, Aug 24, 2024 at 08:26:13AM +0300, Eli Zaretskii wrote: > > +all HTML manuals generated by @command{texi2any} use this location for > > +cross-references in the default case. You can get the latest version from > > @url{http://ftpmirror.gnu.org/@/texinfo/@/htmlxref.cnf}. > > I suggest to tell here explicitly that having a local htmlxref.cnf > file with the correct information is the solution for outdated or > missing data in the file as distributed by Texinfo. I did that, but before in the node. -- Pat
diff --git a/doc/texinfo.texi b/doc/texinfo.texi index cc772d93ad..d88155397b 100644 --- a/doc/texinfo.texi +++ b/doc/texinfo.texi @@ -17515,7 +17515,19 @@ @node HTML Xref Link Basics (@pxref{Cross References}), and from @dfn{external information} (@pxref{HTML Xref Configuration}). -We now consider each part in turn. +@c Eli comment on the next paragraph: +@c This part is unclear, I could not understand what it means and how +@c that affects me as the user of Texinfo. +The defaults for the @var{host} and @var{dir} correspond with cross-references +links for a collection of manuals located side by side on a single host. This +is different from the usual case of HTML manuals published on the World Wide +Web served from different hosts in directories chosen by the publisher, for +which the @var{host} and @var{dir} must be specially defined to have working +cross-references. However this requires external information and is detailed +later on (@pxref{HTML Xref Configuration}). + +We start with the case of manuals all located on the same +host and consider each part in turn. The @var{host} is hardwired to be the local host. This could either be the literal string @samp{localhost}, or, according to the rules for @@ -17830,6 +17842,14 @@ @node HTML Xref Configuration @cindex Cross-reference configuration, for HTML @cindex Configuration, for HTML cross-manual references +For other manuals published on the World Wide Web to be able to have +correct cross-references to your manual, the @var{host} and +@var{dir} parts of the cross-reference need to be known by Texinfo +converters when they produce HTML for those other manuals. +Similarly, for your manual in HTML format to have correct +cross-references to other manuals, @command{texi2any} needs to know +how to construct the URLs for other manuals. + @command{texi2any} reads a file named @file{htmlxref.cnf} to gather information for cross-references to other manuals in HTML output. It is looked for in the following directories: @@ -17862,6 +17882,11 @@ @node HTML Xref Configuration GNU manuals; it is installed in the last of the above directories, i.e., @file{@var{datadir}/texinfo/htmlxref.cnf}. +A local @file{htmlxref.cnf} should be used to complete or correct +the default file from the Texinfo distribution. This could be useful to +correct outdated data or make sure that cross-references to local files +are generated for some manuals. + The @code{HTMLXREF_MODE} customization variable can be set to modify how the files are found. For instance, if set to @samp{none}, no external information is used. @code{HTMLXREF_FILE} sets the file name to something else than @@ -17939,9 +17964,17 @@ @node HTML Xref Configuration only when the target manual was created using @option{--node-files}; this is the default for split output. +Right now, the @file{htmlxref.cnf} file distributed with GNU Texinfo serves +as the main resource to locate Texinfo HTML manuals in the World Wide Web. +Since it is installed in a location used by @command{texi2any}, HTML manuals +information found in this file will be used for cross-references by default. + If you have additions or corrections to the @file{htmlxref.cnf} distributed with Texinfo, please email @email{bug-texinfo@@gnu.org} as -usual. You can get the latest version from +usual. If you publish a Texinfo HTML manual on the World Wide Web, +having an up-to-date location listed in @file{htmlxref.cnf} should ensure that +all HTML manuals generated by @command{texi2any} use this location for +cross-references in the default case. You can get the latest version from @url{http://ftpmirror.gnu.org/@/texinfo/@/htmlxref.cnf}.