
The functions described here form building blocks for
the format_html
methods functions for codebook
,
ftable
, ftable_matrix
, and mtable
objects, etc.
The most basic of these functions is html
which constructs
an object that represents a minimal piece of HTML code, an object
that is member of class "html_elem"
. Yet unlike a
character string containing HTML code, the resulting code element can
relatively easily modified using the other functions presented here.
The actual code is created, once as.character
is applied to
objects representing HTML code.
Larger sequences of HTML code can be prepared just by
concatenating them with c
, or by html_group
,
or by applying as.html_group
to a list of
"html_elem"
objects. All these result in objects
of class "html_group"
.
Attributes (such as class, id etc.) of HTML elements can be added to
the call to html
, but can also later recalled or modified with
attribs
or setAttribs
.
A potentially important attribute is of course the style
attribute, which can contain CSS styling. It can be recalled or modified with style
or setStyle
. Styling strings can also
be created with hmtl_style
or as.css
html(tag, …, .content = NULL, linebreak = FALSE)
html_group(…)
as.html_group(x)content(x)
content(x)<-value
setContent(x,value)
attribs(x)
attribs(x)<-value
setAttribs(x,…)
# S3 method for character
setAttribs(x,…)
# S3 method for html_elem
setAttribs(x,…)
# S3 method for html_group
setAttribs(x,…)
css(…)
as.css(x)
style(x)
style(x) <- value
setStyle(x,…)
# S3 method for character
setStyle(x,…)
# S3 method for html_elem
setStyle(x,…)
# S3 method for html_group
setStyle(x,…)
a character string that determines the opening and closing tags of the HTML element. (The closing tag is relevant only if the element has a content.)
optional further arguments, named or not.
For html
: named arguments create the attributes of the HTML element,
unnamed arguments define the content of the HTML element, i.e. whatever
appears between opening and closing tags (e.g. <p>
and </p>
).
Character strings, "html_elem"
, or "html_group"
objects can appear
as content of a HTML element.
For setAttribs
: named arguments create the attributes of the HTML element,
unnamed arguments are ignored.
For setStyle
: named arguments create the styling of the HTML element,
unnamed arguments are ignored.
For html_group
: several objects of class "html_elem"
or "html_group"
.
For css
: named arguments (character strings!)
become components of a styling in CSS format.
an optional character string, "html_elem"
, or
"html_group"
object
a logical value or vector of length 2, determines whether linebreaks are inserted after the HTML tags.
an object. For as.html_group
, this should be a list
of objects of class "html_elem"
or "html_group"
.
For content
, setContent
, attribs
,
setAttribs
, style
, setStyle
,
this should be an object of class "html_elem"
or "html_group"
.
an object of appropriate class.
For content<-
: a character string, "html_elem"
, or
"html_group"
object, or a concatenation thereof.
For attribs<-
or style<-
: a named character vector.
Objects created with html
are lists with class attribute
"html_elem"
and components
a character string
a named character vector
a character vector, an "html_elem"
or "html_group"
object, or a list of such.
a logical value or vector of length 2.
Objects created with html_group
or by concatenation
of "html_elem"
or "html_group"
object
are lists of such objects, with class attribute "html_group"
.
# NOT RUN {
html("img")
html("img",src="test.png")
html("div",class="element",id="first","Sisyphus")
html("div",class="element",id="first",.content="Sisyphus")
div <- html("div",class="element",id="first",linebreak=c(TRUE,TRUE))
content(div) <- "Sisyphus"
div
tag <- html("tag",linebreak=TRUE)
attribs(tag)["class"] <- "something"
attribs(tag)["class"]
tag
style(tag) <- c(color="#342334")
style(tag)
tag
style(tag)["bg"] <- "white"
tag
setStyle(tag,bg="black")
setStyle(tag,c(bg="black"))
c(div,tag,tag)
c(
c(div,tag),
c(div,tag,tag)
)
c(
c(div,tag),
div,tag,tag
)
c(
div,tag,
c(div,tag,tag)
)
content(div) <- c(tag,tag,tag)
div
css("background-color"="black",
color="white")
as.css(c("background-color"="black",
color="white"))
Hello <- "Hello World!"
Hello <- html("p",Hello)
style(Hello) <- c(color="white",
"font-size"="40px",
"text-align"="center")
Link <- html("a","More examples here ...",
href="http://elff.eu/software/memisc",
title="More examples here ...",
style=css(color="white"))
Link <- html("p"," (",Link,")")
style(Link) <- c(color="white",
"font-size"="15px",
"text-align"="center")
Hello <- html("div",c(Hello,Link))
style(Hello) <- c("background-color"="#160666",
padding="20px")
show_html(Hello)
# }
Run the code above in your browser using DataLab