[//000000001]: # (html \- HTML Generation)
[//000000002]: # (Generated from file 'html\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (html\(n\) 1\.5 tcllib "HTML Generation")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]
# NAME
html \- Procedures to generate HTML structures
# Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Bugs, Ideas, Feedback](#section2)
- [See Also](#seealso)
- [Keywords](#keywords)
- [Category](#category)
# SYNOPSIS
package require Tcl 8\.2
package require html ?1\.5?
[__::html::author__ *author*](#1)
[__::html::bodyTag__ *args*](#2)
[__::html::cell__ *param value* ?*tag*?](#3)
[__::html::checkbox__ *name value*](#4)
[__::html::checkSet__ *key sep list*](#5)
[__::html::checkValue__ *name* ?*value*?](#6)
[__::html::closeTag__](#7)
[__::html::default__ *key* ?*param*?](#8)
[__::html::description__ *description*](#9)
[__::html::end__](#10)
[__::html::eval__ *arg* ?*args*?](#11)
[__::html::extractParam__ *param key* ?*varName*?](#12)
[__::html::font__ *args*](#13)
[__::html::for__ *start test next body*](#14)
[__::html::foreach__ *varlist1 list1* ?*varlist2 list2 \.\.\.*? *body*](#15)
[__::html::formValue__ *name* ?*defvalue*?](#16)
[__::html::getFormInfo__ *args*](#17)
[__::html::getTitle__](#18)
[__::html::h__ *level string* ?*param*?](#19)
[__::html::h1__ *string* ?*param*?](#20)
[__::html::h2__ *string* ?*param*?](#21)
[__::html::h3__ *string* ?*param*?](#22)
[__::html::h4__ *string* ?*param*?](#23)
[__::html::h5__ *string* ?*param*?](#24)
[__::html::h6__ *string* ?*param*?](#25)
[__::html::hdrRow__ *args*](#26)
[__::html::head__ *title*](#27)
[__::html::headTag__ *string*](#28)
[__::html::html\_entities__ *string*](#29)
[__::html::if__ *expr1 body1* ?__elseif__ *expr2 body2 \.\.\.*? ?__else__ *bodyN*?](#30)
[__::html::init__ ?*list*?](#31)
[__::html::keywords__ *args*](#32)
[__::html::mailto__ *email* ?*subject*?](#33)
[__::html::meta__ *args*](#34)
[__::html::meta\_name__ *args*](#35)
[__::html::meta\_equiv__ *args*](#36)
[__::html::meta\_charset__ *charset*](#37)
[__::html::css__ *href*](#38)
[__::html::css\-clear__](#39)
[__::html::js__ *href*](#40)
[__::html::js\-clear__](#41)
[__::html::minorList__ *list* ?*ordered*?](#42)
[__::html::minorMenu__ *list* ?*sep*?](#43)
[__::html::nl2br__ *string*](#44)
[__::html::openTag__ *tag* ?*param*?](#45)
[__::html::paramRow__ *list* ?*rparam*? ?*cparam*?](#46)
[__::html::passwordInput__ ?*name*?](#47)
[__::html::passwordInputRow__ *label* ?*name*?](#48)
[__::html::quoteFormValue__ *value*](#49)
[__::html::radioSet__ *key sep list*](#50)
[__::html::radioValue__ *name value*](#51)
[__::html::refresh__ *seconds url*](#52)
[__::html::row__ *args*](#53)
[__::html::select__ *name param choices* ?*current*?](#54)
[__::html::selectPlain__ *name param choices* ?*current*?](#55)
[__::html::set__ *var val*](#56)
[__::html::submit__ *label* ?*name*? ?*title*?](#57)
[__::html::tableFromArray__ *arrname* ?*param*? ?*pat*?](#58)
[__::html::tableFromList__ *querylist* ?*param*?](#59)
[__::html::textarea__ *name* ?*param*? ?*current*?](#60)
[__::html::textInput__ *name value args*](#61)
[__::html::textInputRow__ *label name value args*](#62)
[__::html::varEmpty__ *name*](#63)
[__::html::while__ *test body*](#64)
[__::html::doctype__ *id*](#65)
[__::html::wrapTag__ *tag* ?*text*? ?*args*?](#66)
# DESCRIPTION
The package __html__ provides commands that generate HTML\. These commands
typically return an HTML string as their result\. In particular, they do not
output their result to __stdout__\.
The command __::html::init__ should be called early to initialize the
module\. You can also use this procedure to define default values for HTML tag
parameters\.
- __::html::author__ *author*
*Side effect only*\. Call this before __::html::head__ to define an
author for the page\. The author is noted in a comment in the HEAD section\.
- __::html::bodyTag__ *args*
Generate a *body* tag\. The tag parameters are taken from *args* or from
the body\.\* attributes define with __::html::init__\.
- __::html::cell__ *param value* ?*tag*?
Generate a *td* \(or *th*\) tag, a value, and a closing *td* \(or *th*\)
tag\. The tag parameters come from *param* or TD\.\* attributes defined with
__::html::init__\. This uses __::html::font__ to insert a standard
*font* tag into the table cell\. The *tag* argument defaults to "td"\.
- __::html::checkbox__ *name value*
Generate a *[checkbox](\.\./\.\./\.\./\.\./index\.md\#checkbox)* form element
with the specified name and value\. This uses __::html::checkValue__\.
- __::html::checkSet__ *key sep list*
Generate a set of *[checkbox](\.\./\.\./\.\./\.\./index\.md\#checkbox)* form
elements and associated labels\. The *list* should contain an alternating
list of labels and values\. This uses __::html::checkbox__\. All the
*[checkbox](\.\./\.\./\.\./\.\./index\.md\#checkbox)* buttons share the same
*key* for their name\. The *sep* is text used to separate the elements\.
- __::html::checkValue__ *name* ?*value*?
Generate the "name=*name* value=*value*" for a
*[checkbox](\.\./\.\./\.\./\.\./index\.md\#checkbox)* form element\. If the CGI
variable *name* has the value *value*, then SELECTED is added to the
return value\. *value* defaults to "1"\.
- __::html::closeTag__
Pop a tag off the stack created by __::html::openTag__ and generate the
corresponding close tag \(e\.g\.,