[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Texinfo -> HTML issues

From: Aubrey Jaffer
Subject: Re: Texinfo -> HTML issues
Date: Thu, 29 Jul 2004 14:06:18 -0400 (EDT)

 | Date: Thu, 29 Jul 2004 06:54:22 +0200
 | From: "Eli Zaretskii" <address@hidden>
 | > From: Aubrey Jaffer <address@hidden>
 | > Date: Wed, 28 Jul 2004 19:36:13 -0400 (EDT)
 | > 
 | >  | > Please make this recoding an option to makeinfo.
 | >  | 
 | >  | I don't think this is a good idea: if a user option can control file
 | >  | names, cross-document references will not be reliable.
 | > 
 | > Because makeinfo supports both split HTML files and unsplit HTML
 | > files, it already has that problem.
 | No, it doesn't: the references are produced so that they work either
 | way.  Please try it, and you will see.

Here is what I did:

  makeinfo --html -o ~/public_html/devel/scm scm/scm.texi
  makeinfo --html --no-split -o ~/public_html/devel/slib.html slib/slib.texi

~/public_html/devel/scm/Time.html has the reference:

  See <a href="../slib/Time-and-Date.html#Time-and-Date">current-time 

>From which I get the message:

  Object not found!
  Error 404

"slib/Time-and-Date.html" doesn't exist because slib was compiled with

So the --no-split references and the split references which makeinfo
produces are not compatible.  Your "cross-document references will not
be reliable" argument does not justify the current node->filename
translation because it does not accomplish that goal.

 | > If-this-is-the-final-word-on-file_002dnames_002c-then-I-will-create-my_000a
 | > own-version-of-makeinfo_002e
 | I don't give final-words-on-anything here.  Karl does.
 | >  | > Certain characters like "/" or "\" are bad for filesystems.  But they
 | >  | > need not be ASCII coded; just convert them to "-".  The only time this
 | >  | > will lose is if someone has nodes named "File I/O" and "File I-O" --
 | >  | > not a common occurence.
 | >  | 
 | >  | The question is: what do we do when we ``lose'' like that?
 | > 
 | > You give the same advice as was given me when I tried to have two
 | > sections with the same name: "Node names [and the files they map to]
 | > must be unique".
 | The first part is true (it's a constraint of the Texinfo language),
 | but he last one cannot be what we tell users: it is unacceptable.
 | Because mapping node names to file names is a complex process

My ambition is to simplify that process so that people can figure it
in their heads.  Something like:

 The filename is the same as the nodename except for these

 "/" ==> ".slash."
 ":" ==> ".colon."
 "@" ==> ""

 | whose particulars depend on the underlying filesystem, a user

These HTML files are web pages.  If the underlying filesystem is
exposed by these filenames, then "cross-document references will not
be reliable."  I regularly produce HTML files on GNU/Linux for use on
lesser operating systems.  Is there an makeinfo option to case-fold
HTML filenames?

By the way, indexing in Info didn't work with my "Indexes" fix.  If I
rename the node "Index" it works, producing a file "Index.html".  But
what if this is served on a Microsoft OS?  Then "Index.html" and
"index.html" will overwrite each other!

 | cannot easily figure out what to do to avoid file-name clashes.  So
 | some solution is needed that always produces valid HTML files with
 | working references.

Congratulations, you have just made a circular argument:

 * Because the user can't understand the encoding, the encoding must
   never produce duplicates.

 * In order to never produce duplicates, the encoding must be

 * The user can't be expected to understand the encoding because it is

If the encoding is simple, then we needn't settle for such a
suboptimal solution.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]