Tcl Source Code

View Ticket
Login
Ticket UUID: 7f6005a867a432cc5a83fff7b7866fabd5f677eb
Title: Magic <meta> viewport tag in generated HTML for mobile browsers
Type: Patch Created on: 2021-06-18 18:20:45
Submitter: anonymous Assigned to: nobody
Subsystem: 53. Configuration and Build Tools Severity: Minor
Priority: 5 Medium Last modified: 2026-10-22 17:19:28
Status: Closed Closed by: serhiy.storchaka
Resolution: Fixed Closed on: 2026-10-21 08:37:31
Version: trunk
Description:
Currently, the HTML-format reference pages (as available from
https://www.tcl.tk/man/) tend to look a bit odd on mobile browsers (Android,
iOS). The exact misbehavior differs from device to device and browser to
browser, but tends to involve rendering certain elements with extremely small
font sizes. This occurs because mobile browsers pretend, by default, that their
viewports are much larger than they really are, unless the page includes a
special <meta> tag to tell them otherwise. The following adds such a tag to the
generated reference pages, and makes them render more nicely, at least on my
Android devices:

Index: tools/tcltk-man2html-utils.tcl
==================================================================
--- tools/tcltk-man2html-utils.tcl
+++ tools/tcltk-man2html-utils.tcl
@@ -78,11 +78,11 @@
     set level ""
     if {[lindex $args end] eq "../[indexfile]"} {
        # XXX hack - assume same level for CSS file
        set level "../"
     }
-    set out "<!DOCTYPE html>\n<html lang=\"en\">\n<head><meta charset=\"utf-8\"><title>$title</title>\n[CSS $level]</head>\n"
+    set out "<!DOCTYPE html>\n<html lang=\"en\">\n<head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>$title</title>\n[CSS $level]</head>\n"
     foreach {uptitle url} $args {
        set header "<a href=\"$url\">$uptitle</a> <small>&gt;</small> $header"
     }
     append out "<body><h2>$header</h2>"
     global manual
User Comments:
anonymous (claiming to be Thomas [TWu]) added on 2026-10-20 21:08:28:
I request this change too, rerouted by my ticket
https://core.tcl-lang.org/tcl/info/1c722347fe
Thanks for include it in the next release (9.1.0).

serhiy.storchaka added on 2026-10-20 21:48:56:

Proposed in branch [66f0f3eaa0|man2html-meta-viewport]: the patch from this ticket, which adds <meta name="viewport" content="width=device-width, initial-scale=1"> to the head of every generated page (checked on the Tcl and Tk HTML: all 471 pages have it).


oehhar added on 2026-10-21 07:59:02:

Serhiy, just merge, thanks, Harald


serhiy.storchaka added on 2026-10-21 08:37:31:

Merged to [785fa0c704|trunk], [432dc52d5b|core-9-0-branch] and [f5ead41df2|core-8-6-branch] (in 8.6, which still generates HTML 4.01, as <META name="viewport" ...> after <HEAD>).