diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2009-12-11 14:08:44 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2009-12-11 14:08:44 (GMT) |
commit | aa95261cdb411081d54b92f009404f83954deec1 (patch) | |
tree | 6146163b8aa2f8fbc1e85e1fa3c0ac7c3c948d2b /tools | |
parent | 5f4b06d848afc2095f6309a653fe773db565f425 (diff) | |
download | tcl-aa95261cdb411081d54b92f009404f83954deec1.zip tcl-aa95261cdb411081d54b92f009404f83954deec1.tar.gz tcl-aa95261cdb411081d54b92f009404f83954deec1.tar.bz2 |
[FRQ 2897296]: Cross-links to sections within a manpage when in HTML.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/tcltk-man2html.tcl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/tcltk-man2html.tcl b/tools/tcltk-man2html.tcl index 4b669ad..d758edb 100755 --- a/tools/tcltk-man2html.tcl +++ b/tools/tcltk-man2html.tcl @@ -113,7 +113,7 @@ proc parse_command_line {} { if {$build_tk} { # Find Tk. set tkdir [lindex [lsort [glob -nocomplain -tails -type d \ - -directory $tcltkdir tk$useversion]] end] + -directory $tcltkdir tk$useversion]] end] if {$tkdir eq ""} { puts stderr "tcltk-man-html: couldn't find Tk below $tcltkdir" exit 1 @@ -232,7 +232,7 @@ proc htmlhead {title header args} { } proc gencss {} { set hBd "1px dotted #11577b" - return " + return [subst { body, div, p, th, td, li, dd, ul, ol, dl, dt, blockquote { font-family: Verdana, sans-serif; } @@ -308,7 +308,7 @@ h4 { font-size: 11px; } border-top: 1px solid #6A6A6A; margin-top: 2em; } -" +}] } ## @@ -510,6 +510,7 @@ proc man-puts {text} { proc long-toc {text} { global manual set here M[incr manual(section-toc-n)] + set manual($manual(name)-id-$text) $here set there L[incr manual(long-toc-n)] lappend manual(section-toc) \ "<DD><A HREF=\"$manual(name).htm#$here\" NAME=\"$there\">$text</A>" @@ -837,6 +838,11 @@ proc cross-reference {ref} { set lref $ref } elseif {$ref eq "Tcl"} { set lref $ref + } elseif {[regexp {^[A-Z0-9 ?!]+$} $ref]} { + if {[info exists manual($manual(name)-id-$ref)]} { + return "<A HREF=\"#$manual($manual(name)-id-$ref)\">$ref</A>" + } + set lref [string tolower $ref] } else { set lref [string tolower $ref] } |