[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: relative links in roff man pages
I see these in the generated clisp manpages <http://clisp.podval.org/clisp.1> (in the NOTES section): 2. read-eval-print loop [set $man.base.url.for.relative.links]/sec_25-1-1 10. SYMBOL-MACRO [set $man.base.url.for.relative.links]/mac_define-symbol-macro 12. environment variable [set $man.base.url.for.relative.links]/basedefs/xbd_chap08.html 17. continuable [set $man.base.url.for.relative.links]/clhs/glo 29. "COMMON-LISP-USER" [set $man.base.url.for.relative.links]/sec_11-1-2-2 43. #' [set $man.base.url.for.relative.links]/sec_2-4-8-2 44. #P [set $man.base.url.for.relative.links]/sec_2-4-8-14 not many, but unpleasant, so I would like to fix them. clearly $man.base.url.for.relative.links is not appropriate because items 12 has a different base URL. (yes, I read http://docbook.xml-doc.org/snapshots/xsl/doc/manpages/man.base.url.for.relative.links.html) these notes come from elements like these: <ulink role="clhs" url="sec_25-1-1">read-eval-print loop</ulink> <ulink role="unix" url="basedefs/xbd_chap08.html">environment variable</ulink> <ulink role="clhs" url="sec_2-4-8-2"><literal role="data">#'</literal></ulink> which are handled for html by these customizations: <xsl:template match="ulink[@role='unix']"> <a class="{@role}" href="{$unix.top}{@url}"><xsl:apply-templates/></a> </xsl:template> and <xsl:template match="ulink[@role='clhs']"> <xsl:choose><xsl:when test=".=''"> <a class="{@role}" href="{$clhs.body}{@url}.html"><xsl:text>[</xsl:text> <xsl:value-of select="@url"/> <xsl:text>]</xsl:text></a></xsl:when> <xsl:otherwise> <a class="{@role}" href="{$clhs.body}{@url}.html"><xsl:apply-templates/></a> </xsl:otherwise></xsl:choose></xsl:template> <xsl:template match="ulink[@url='clhs/glo']"> <a class="{@role}" href="{$clhs.body}glo_{substring(.,1,1)}.html#{translate(normalize-space(.),' ','_')}"> <xsl:apply-templates/></a></xsl:template> I wonder how I could adapt these for man pages - what I want to see is something like 2. read-eval-print loop http://www.lisp.org/HyperSpec/sec_25-1-1.html 10. SYMBOL-MACRO http://www.lisp.org/HyperSpec/mac_define-symbol-macro.html 12. environment variable /basedefs/xbd_chap08.html 17. continuable http://www.lisp.org/HyperSpec/clhs/glo_c.html 29. "COMMON-LISP-USER" http://www.lisp.org/HyperSpec/sec_11-1-2-2.html 43. #' http://www.lisp.org/HyperSpec/sec_2-4-8-2.html 44. #P http://www.lisp.org/HyperSpec/sec_2-4-8-14.html The ideal would, of course, be to convert <ulink role="clhs" url="sec_25-1-1">read-eval-print loop</ulink> to <ulink url="http://www.lisp.org/HyperSpec/sec_25-1-1.html">read-eval-print loop</ulink> and then apply the normal templates, but, as I have been told over and over and over again, this would require multiple passes or profiling, and I do not wish to go that way (at least not yet). a lispy approach would be to _bind_ $man.base.url.for.relative.links around applying the man templates, but I don't know how to do that. Is is feasible? Thanks Sam
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]