When using the js-info reader, the location bar displays these URLs for nodes:
  https://domterm.org/Wire-byte-protocol.html (if http/https)
  file:///home/bothner/DomTerm/web/index.html#Wire-byte-protocol (if file:)
These are also what you get if you right-click a link and select "Copy link".

(The reason for the difference if using file: scheme has to do with browser
security restrictions.)

"Inner" URL have the form:
  https://domterm.org/Wire-byte-protocol.html#Window-operations (if 
http:/https:)
  
file:///home/bothner/DomTerm/web/index.html#Wire-byte-protocol.Window-operations
 (if file:)

I suggest an option (perhaps the default) to always prefer the #hash form.
So the public link might be:
  https://domterm.org#Wire-byte-protocol
Most servers would treat the following as equivalent to the above:
  https://domterm.org/#Wire-byte-protocol
  https://domterm.org/index.html#Wire-byte-protocol

So far this makes for slightly shorter URLs, as well as consistency
when using file: URL. The big win comes if we do the same for
inner URLs.  So the Window-operations link becomes:
  https://domterm.org#Window-operations

This requires a mapping table generated by tex2any so info.js can
translate #Window-operations to Wire-byte-protocol.html#Window-operations.
This table should include *all* @node names *and* @anchor names.
This would allow links to remain valid even if things are moved
around. I think this makes for a nicer solution than using
redirection pages.

To handle the case when JavaScript is missing/disabled, we can
make the re-mapping table human-readable. Perhaps:

<li id="Window-operations"><p>
For ``Window operations'' see <a 
href="Wire-byte-protocol.html#Window-operations">here</a>.
</p></li>

Then using the URL with the hash #Window-operations takes to a line
with an easy-to-click link to the correct file and position.
The re-mapping table would be hidden if using JavaScript.
--
        --Per Bothner
p...@bothner.com   http://per.bothner.com/

Reply via email to