Temple v0.1.0 Temple.Tags View Source

The Temple.Tags module defines macros for all HTML5 compliant elements.

Temple.Tags macros must be called inside of a Temple.temple/1 block.

Attributes

Tags accept a keyword list or a map of attributes to be emitted into the element's opening tag. Multi-word attribute keys written in snake_case (data_url) will be transformed into kebab-case (data-url).

Children

Non-void elements (such as div) accept a block that can be used to nest other tags or text nodes. These blocks can contain arbitrary Elixir code such as variables and for comprehensions.

If you are only emitting a text node within a block, you can use the shortened syntax by passing the text in as the first parameter of the tag.

Example

temple do
  # empty non-void element
  div()

  # non-void element with keyword list attributes
  div class: "text-red", id: "my-el"
#
  # non-void element with map attributes
  div %{:class => "text-red", "id" => "my-el"}

  # non-void element with children
  div do
    text "Hello, world!"
    
    for name <- @names do
      div data_name: name
    end
  end

  # non-void element with a single text node
  div "Hello, world!", class: "text-green"
  
  # void elements
  input name: "comments", placeholder: "Enter a comment..."
end

# {:safe,
#  "<div></div>
#   <div class="text-red" id="my-el"></div>
#   <div>
#     Hello, world!
#     <div data-name="Alice"></div>
#     <div data-name="Bob"></div>
#     <div data-name="Carol"></div>
#   </div>
#   <div class="text-green">Hello, world!</div>
#   <input name="comments" placeholder="Enter a comment...">"
# }

Link to this section Summary

Functions

a()

The HTML <a> element (or anchor element), along with it's href attribute, creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.

The HTML Abbreviation element (<abbr>) represents an abbreviation or acronym; the optional title attribute can provide an expansion or description for the abbreviation.

The HTML <address> element indicates that the enclosed HTML provides contact information for a person or people, or for an organization.

The HTML <area> element defines a hot-spot region on an image, and optionally associates it with a hypertext link. This element is used only within a <map> element.

The HTML <article> element represents a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable

The HTML <aside> element represents a portion of a document whose content is only indirectly related to the document's main content.

The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.

b()

The HTML Bring Attention To element (<b>)  is used to draw the reader's attention to the element's contents, which are not otherwise granted special importance.

The HTML <base> element specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.

The HTML Bidirectional Isolate element (<bdi>)  tells the browser's bidirectional algorithm to treat the text it contains in isolation from its surrounding text.

The HTML Bidirectional Text Override element (<bdo>) overrides the current directionality of text, so that the text within is rendered in a different direction.

The HTML <blockquote> Element (or HTML Block Quotation Element) indicates that the enclosed text is an extended quotation. Usually, this is rendered visually by indentation (see Notes for how to change it). A URL for the source of the quotation may be given using the cite attribute, while a text representation of the source can be given using the <cite> element.

The HTML <body> Element represents the content of an HTML document. There can be only one <body> element in a document.

The HTML <br> element produces a line break in text (carriage-return). It is useful for writing a poem or an address, where the division of lines is significant.

The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.

Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.

The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.

The HTML Citation element (<cite>) is used to describe a reference to a cited creative work, and must include the title of that work.

The HTML <code> element displays its contents styled in a fashion intended to indicate that the text is a short fragment of computer code.

The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.

The HTML <colgroup> element defines a group of columns within a table.

The HTML <data> element links a given content with a machine-readable translation. If the content is time- or date-related, the <time> element must be used.

The HTML <datalist> element contains a set of <option> elements that represent the values available for other controls.

The HTML <dd> element provides the details about or the definition of the preceding term (<dt>) in a description list (<dl>).

The HTML <del> element represents a range of text that has been deleted from a document.

The HTML Details Element (<details>) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state.

The HTML Definition element (<dfn>) is used to indicate the term being defined within the context of a definition phrase or sentence.

The HTML Content Division element (<div>) is the generic container for flow content. It has no effect on the content or layout until styled using CSS.

The HTML <dl> element represents a description list. The element encloses a list of groups of terms (specified using the <dt> element) and descriptions (provided by <dd> elements). Common uses for this element are to implement a glossary or to display metadata (a list of key-value pairs).

The HTML <dt> element specifies a term in a description or definition list, and as such must be used inside a <dl> element.

The HTML <em> element marks text that has stress emphasis. The <em> element can be nested, with each level of nesting indicating a greater degree of emphasis.

The HTML <embed> element embeds external content at the specified point in the document. This content is provided by an external application or other source of interactive content such as a browser plug-in.

The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form.

The HTML <figcaption> or Figure Caption element represents a caption or legend describing the rest of the contents of its parent <figure> element.

The HTML <figure> (Figure With Optional Caption) element represents self-contained content, potentially with an optional caption, which is specified using the (<figcaption>) element.

The HTML <footer> element represents a footer for its nearest sectioning content or sectioning root element. A footer typically contains information about the author of the section, copyright data or links to related documents.

The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

The HTML <head> element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.

The HTML <header> element represents introductory content, typically a group of introductory or navigational aids. It may contain some heading elements but also a logo, a search form, an author name, and other elements.

The HTML <hr> element represents a thematic break between paragraph-level elements: for example, a change of scene in a story, or a shift of topic within a section.

The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.

i()

The HTML <i> element represents a range of text that is set off from the normal text for some reason. Some examples include technical terms, foreign language phrases, or fictional character thoughts. It is typically displayed in italic type.

The HTML Inline Frame element (<iframe>) represents a nested browsing context, embedding another HTML page into the current one.

The HTML <img> element embeds an image into the document. It is a replaced element.

The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.

The HTML <ins> element represents a range of text that has been added to a document.

The HTML Keyboard Input element (<kbd>) represents a span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device.

The HTML <keygen> element exists to facilitate generation of key material, and submission of the public key as part of an HTML form. This mechanism is designed for use with Web-based certificate management systems. It is expected that the <keygen> element will be used in an HTML form along with other information needed to construct a certificate request, and that the result of the process will be a signed certificate.

The HTML <label> element represents a caption for an item in a user interface.

The HTML <legend> element represents a caption for the content of its parent <fieldset>.

The HTML <li> element is used to represent an item in a list.

The HTML External Resource Link element (<link>) specifies relationships between the current document and an external resource. This element is most commonly used to link to stylesheets, but is also used to establish site icons (both "favicon" style icons and icons for the home screen and apps on mobile devices) among other things.

The HTML <main> element represents the dominant content of the <body> of a document. The main content area consists of content that is directly related to or expands upon the central topic of a document, or the central functionality of an application.

The HTML <map> element is used with <area> elements to define an image map (a clickable link area).

The HTML Mark Text element (<mark>) represents text which is marked or highlighted for reference or notation purposes, due to the marked passage's relevance or importance in the enclosing context.

The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.

The HTML <menuitem> element represents a command that a user is able to invoke through a popup menu. This includes context menus, as well as menus that might be attached to a menu button.

The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.

The HTML <meter> element represents either a scalar value within a known range or a fractional value.

The HTML <nav> element represents a section of a page whose purpose is to provide navigation links, either within the current document or to other documents. Common examples of navigation sections are menus, tables of contents, and indexes.

The HTML <noscript> element defines a section of HTML to be inserted if a script type on the page is unsupported or if scripting is currently turned off in the browser.

The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.

The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.

The HTML <optgroup> element creates a grouping of options within a <select> element.

The HTML <option> element is used to define an item contained in a <select>, an <optgroup>, or a <datalist> element. As such, <option> can represent menu items in popups and other lists of items in an HTML document.

The HTML Output element (<output>) is a container element into which a site or app can inject the results of a calculation or the outcome of a user action.

p()

The HTML <p> element represents a paragraph.

The HTML <param> element defines parameters for an <object> element.

The HTML <pre> element represents preformatted text which is to be presented exactly as written in the HTML file.

The HTML <progress> element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

q()

The HTML <q> element indicates that the enclosed text is a short inline quotation. Most modern browsers implement this by surrounding the text in quotation marks.

The HTML Ruby Fallback Parenthesis (<rp>) element is used to provide fall-back parentheses for browsers that do not support display of ruby annotations using the <ruby> element.

The HTML Ruby Text (<rt>) element specifies the ruby text component of a ruby annotation, which is used to provide pronunciation, translation, or transliteration information for East Asian typography. The <rt> element must always be contained within a <ruby> element.

The HTML <ruby> element represents a ruby annotation. Ruby annotations are for showing pronunciation of East Asian characters.

s()

The HTML <s> element renders text with a strikethrough, or a line through it. Use the <s> element to represent things that are no longer relevant or no longer accurate. However, <s> is not appropriate when indicating document edits; for that, use the <del> and <ins> elements, as appropriate.

The HTML Sample Element (<samp>) is used to enclose inline text which represents sample (or quoted) output from a computer program.

The HTML <script> element is used to embed or reference executable code; this is typically used to embed or refer to JavaScript code.

The HTML <section> element represents a standalone section — which doesn't have a more specific semantic element to represent it — contained within an HTML document.

The HTML <select> element represents a control that provides a menu of options

The HTML <small> element makes the text font size one size smaller (for example, from large to medium, or from small to x-small) down to the browser's minimum font size.  In HTML5, this element is repurposed to represent side-comments and small print, including copyright and legal text, independent of its styled presentation.

The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.

The HTML <span> element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang.

The HTML Strong Importance Element (<strong>) indicates that its contents have strong importance, seriousness, or urgency. Browsers typically render the contents in bold type.

The HTML <style> element contains style information for a document, or part of a document.

The HTML Subscript element (<sub>) specifies inline text which should be displayed as subscript for solely typographical reasons.

The HTML Disclosure Summary element (<summary>) element specifies a summary, caption, or legend for a <details> element's disclosure box.

The HTML Superscript element (<sup>) specifies inline text which is to be displayed as superscript for solely typographical reasons.

The HTML <table> element represents tabular data — that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.

The HTML Table Body element (<tbody>) encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of the table (<table>).

The HTML <td> element defines a cell of a table that contains data. It participates in the table model.

The HTML Content Template (<template>) element is a mechanism for holding HTML that is not to be rendered immediately when a page is loaded but may be instantiated subsequently during runtime using JavaScript.

The HTML <textarea> element represents a multi-line plain-text editing control, useful when you want to allow users to enter a sizeable amount of free-form text, for example a comment on a review or feedback form.

The HTML <tfoot> element defines a set of rows summarizing the columns of the table.

The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.

The HTML <thead> element defines a set of rows defining the head of the columns of the table.

The HTML <time> element represents a specific period in time.

The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.

The HTML <tr> element defines a row of cells in a table. The row's cells can then be established using a mix of <td> (data cell) and <th> (header cell) elements.The HTML <tr> element specifies that the markup contained inside the <tr> block comprises one row of a table, inside which the <th> and <td> elements create header and data cells, respectively, within the row.

The HTML <track> element is used as a child of the media elements <audio> and <video>. It lets you specify timed text tracks (or time-based data), for example to automatically handle subtitles. The tracks are formatted in WebVTT format (.vtt files) — Web Video Text Tracks or Timed Text Markup Language (TTML).

u()

The HTML Unarticulated Annotation Element (<u>) represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation.

The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.

The HTML Variable element (<var>) represents the name of a variable in a mathematical expression or a programming context.

The HTML Video element (<video>) embeds a media player which supports video playback into the document.

The HTML <wbr> element represents a word break opportunity—a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location.

Link to this section Functions

The HTML <a> element (or anchor element), along with it's href attribute, creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.

Link to this macro

a(attrs_or_content_or_block) View Source (macro)

Link to this macro

a(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Abbreviation element (<abbr>) represents an abbreviation or acronym; the optional title attribute can provide an expansion or description for the abbreviation.

Link to this macro

abbr(attrs_or_content_or_block) View Source (macro)

Link to this macro

abbr(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <address> element indicates that the enclosed HTML provides contact information for a person or people, or for an organization.

Link to this macro

address(attrs_or_content_or_block) View Source (macro)

Link to this macro

address(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

area(attrs \\ []) View Source (macro)

The HTML <area> element defines a hot-spot region on an image, and optionally associates it with a hypertext link. This element is used only within a <map> element.

The HTML <article> element represents a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable

Link to this macro

article(attrs_or_content_or_block) View Source (macro)

Link to this macro

article(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <aside> element represents a portion of a document whose content is only indirectly related to the document's main content.

Link to this macro

aside(attrs_or_content_or_block) View Source (macro)

Link to this macro

aside(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.

Link to this macro

audio(attrs_or_content_or_block) View Source (macro)

Link to this macro

audio(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Bring Attention To element (<b>)  is used to draw the reader's attention to the element's contents, which are not otherwise granted special importance.

Link to this macro

b(attrs_or_content_or_block) View Source (macro)

Link to this macro

b(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

base(attrs \\ []) View Source (macro)

The HTML <base> element specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.

The HTML Bidirectional Isolate element (<bdi>)  tells the browser's bidirectional algorithm to treat the text it contains in isolation from its surrounding text.

Link to this macro

bdi(attrs_or_content_or_block) View Source (macro)

Link to this macro

bdi(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Bidirectional Text Override element (<bdo>) overrides the current directionality of text, so that the text within is rendered in a different direction.

Link to this macro

bdo(attrs_or_content_or_block) View Source (macro)

Link to this macro

bdo(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <blockquote> Element (or HTML Block Quotation Element) indicates that the enclosed text is an extended quotation. Usually, this is rendered visually by indentation (see Notes for how to change it). A URL for the source of the quotation may be given using the cite attribute, while a text representation of the source can be given using the <cite> element.

Link to this macro

blockquote(attrs_or_content_or_block) View Source (macro)

Link to this macro

blockquote(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <body> Element represents the content of an HTML document. There can be only one <body> element in a document.

Link to this macro

body(attrs_or_content_or_block) View Source (macro)

Link to this macro

body(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

br(attrs \\ []) View Source (macro)

The HTML <br> element produces a line break in text (carriage-return). It is useful for writing a poem or an address, where the division of lines is significant.

The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.

Link to this macro

button(attrs_or_content_or_block) View Source (macro)

Link to this macro

button(attrs_or_content, block_or_attrs) View Source (macro)

Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.

Link to this macro

canvas(attrs_or_content_or_block) View Source (macro)

Link to this macro

canvas(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.

Link to this macro

caption(attrs_or_content_or_block) View Source (macro)

Link to this macro

caption(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Citation element (<cite>) is used to describe a reference to a cited creative work, and must include the title of that work.

Link to this macro

cite(attrs_or_content_or_block) View Source (macro)

Link to this macro

cite(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <code> element displays its contents styled in a fashion intended to indicate that the text is a short fragment of computer code.

Link to this macro

code(attrs_or_content_or_block) View Source (macro)

Link to this macro

code(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

col(attrs \\ []) View Source (macro)

The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.

The HTML <colgroup> element defines a group of columns within a table.

Link to this macro

colgroup(attrs_or_content_or_block) View Source (macro)

Link to this macro

colgroup(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <data> element links a given content with a machine-readable translation. If the content is time- or date-related, the <time> element must be used.

Link to this macro

data(attrs_or_content_or_block) View Source (macro)

Link to this macro

data(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <datalist> element contains a set of <option> elements that represent the values available for other controls.

Link to this macro

datalist(attrs_or_content_or_block) View Source (macro)

Link to this macro

datalist(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <dd> element provides the details about or the definition of the preceding term (<dt>) in a description list (<dl>).

Link to this macro

dd(attrs_or_content_or_block) View Source (macro)

Link to this macro

dd(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <del> element represents a range of text that has been deleted from a document.

Link to this macro

del(attrs_or_content_or_block) View Source (macro)

Link to this macro

del(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Details Element (<details>) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state.

Link to this macro

details(attrs_or_content_or_block) View Source (macro)

Link to this macro

details(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Definition element (<dfn>) is used to indicate the term being defined within the context of a definition phrase or sentence.

Link to this macro

dfn(attrs_or_content_or_block) View Source (macro)

Link to this macro

dfn(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Content Division element (<div>) is the generic container for flow content. It has no effect on the content or layout until styled using CSS.

Link to this macro

div(attrs_or_content_or_block) View Source (macro)

Link to this macro

div(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <dl> element represents a description list. The element encloses a list of groups of terms (specified using the <dt> element) and descriptions (provided by <dd> elements). Common uses for this element are to implement a glossary or to display metadata (a list of key-value pairs).

Link to this macro

dl(attrs_or_content_or_block) View Source (macro)

Link to this macro

dl(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <dt> element specifies a term in a description or definition list, and as such must be used inside a <dl> element.

Link to this macro

dt(attrs_or_content_or_block) View Source (macro)

Link to this macro

dt(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <em> element marks text that has stress emphasis. The <em> element can be nested, with each level of nesting indicating a greater degree of emphasis.

Link to this macro

em(attrs_or_content_or_block) View Source (macro)

Link to this macro

em(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

embed(attrs \\ []) View Source (macro)

The HTML <embed> element embeds external content at the specified point in the document. This content is provided by an external application or other source of interactive content such as a browser plug-in.

The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form.

Link to this macro

fieldset(attrs_or_content_or_block) View Source (macro)

Link to this macro

fieldset(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <figcaption> or Figure Caption element represents a caption or legend describing the rest of the contents of its parent <figure> element.

Link to this macro

figcaption(attrs_or_content_or_block) View Source (macro)

Link to this macro

figcaption(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <figure> (Figure With Optional Caption) element represents self-contained content, potentially with an optional caption, which is specified using the (<figcaption>) element.

Link to this macro

figure(attrs_or_content_or_block) View Source (macro)

Link to this macro

figure(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <footer> element represents a footer for its nearest sectioning content or sectioning root element. A footer typically contains information about the author of the section, copyright data or links to related documents.

Link to this macro

footer(attrs_or_content_or_block) View Source (macro)

Link to this macro

footer(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.

Link to this macro

form(attrs_or_content_or_block) View Source (macro)

Link to this macro

form(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

Link to this macro

h1(attrs_or_content_or_block) View Source (macro)

Link to this macro

h1(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

Link to this macro

h2(attrs_or_content_or_block) View Source (macro)

Link to this macro

h2(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

Link to this macro

h3(attrs_or_content_or_block) View Source (macro)

Link to this macro

h3(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

Link to this macro

h4(attrs_or_content_or_block) View Source (macro)

Link to this macro

h4(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

Link to this macro

h5(attrs_or_content_or_block) View Source (macro)

Link to this macro

h5(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <h1>–<h6> elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.

Link to this macro

h6(attrs_or_content_or_block) View Source (macro)

Link to this macro

h6(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <head> element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.

Link to this macro

head(attrs_or_content_or_block) View Source (macro)

Link to this macro

head(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <header> element represents introductory content, typically a group of introductory or navigational aids. It may contain some heading elements but also a logo, a search form, an author name, and other elements.

Link to this macro

header(attrs_or_content_or_block) View Source (macro)

Link to this macro

header(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

hr(attrs \\ []) View Source (macro)

The HTML <hr> element represents a thematic break between paragraph-level elements: for example, a change of scene in a story, or a shift of topic within a section.

The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.

Link to this macro

html(attrs_or_content_or_block) View Source (macro)

Link to this macro

html(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <i> element represents a range of text that is set off from the normal text for some reason. Some examples include technical terms, foreign language phrases, or fictional character thoughts. It is typically displayed in italic type.

Link to this macro

i(attrs_or_content_or_block) View Source (macro)

Link to this macro

i(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Inline Frame element (<iframe>) represents a nested browsing context, embedding another HTML page into the current one.

Link to this macro

iframe(attrs_or_content_or_block) View Source (macro)

Link to this macro

iframe(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

img(attrs \\ []) View Source (macro)

The HTML <img> element embeds an image into the document. It is a replaced element.

Link to this macro

input(attrs \\ []) View Source (macro)

The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.

The HTML <ins> element represents a range of text that has been added to a document.

Link to this macro

ins(attrs_or_content_or_block) View Source (macro)

Link to this macro

ins(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Keyboard Input element (<kbd>) represents a span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device.

Link to this macro

kbd(attrs_or_content_or_block) View Source (macro)

Link to this macro

kbd(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

keygen(attrs \\ []) View Source (macro)

The HTML <keygen> element exists to facilitate generation of key material, and submission of the public key as part of an HTML form. This mechanism is designed for use with Web-based certificate management systems. It is expected that the <keygen> element will be used in an HTML form along with other information needed to construct a certificate request, and that the result of the process will be a signed certificate.

The HTML <label> element represents a caption for an item in a user interface.

Link to this macro

label(attrs_or_content_or_block) View Source (macro)

Link to this macro

label(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <legend> element represents a caption for the content of its parent <fieldset>.

Link to this macro

legend(attrs_or_content_or_block) View Source (macro)

Link to this macro

legend(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <li> element is used to represent an item in a list.

Link to this macro

li(attrs_or_content_or_block) View Source (macro)

Link to this macro

li(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

link(attrs \\ []) View Source (macro)

The HTML External Resource Link element (<link>) specifies relationships between the current document and an external resource. This element is most commonly used to link to stylesheets, but is also used to establish site icons (both "favicon" style icons and icons for the home screen and apps on mobile devices) among other things.

The HTML <main> element represents the dominant content of the <body> of a document. The main content area consists of content that is directly related to or expands upon the central topic of a document, or the central functionality of an application.

Link to this macro

main(attrs_or_content_or_block) View Source (macro)

Link to this macro

main(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <map> element is used with <area> elements to define an image map (a clickable link area).

Link to this macro

map(attrs_or_content_or_block) View Source (macro)

Link to this macro

map(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Mark Text element (<mark>) represents text which is marked or highlighted for reference or notation purposes, due to the marked passage's relevance or importance in the enclosing context.

Link to this macro

mark(attrs_or_content_or_block) View Source (macro)

Link to this macro

mark(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

meta(attrs \\ []) View Source (macro)

The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.

The HTML <meter> element represents either a scalar value within a known range or a fractional value.

Link to this macro

meter(attrs_or_content_or_block) View Source (macro)

Link to this macro

meter(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <noscript> element defines a section of HTML to be inserted if a script type on the page is unsupported or if scripting is currently turned off in the browser.

Link to this macro

noscript(attrs_or_content_or_block) View Source (macro)

Link to this macro

noscript(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.

Link to this macro

object(attrs_or_content_or_block) View Source (macro)

Link to this macro

object(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.

Link to this macro

ol(attrs_or_content_or_block) View Source (macro)

Link to this macro

ol(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <optgroup> element creates a grouping of options within a <select> element.

Link to this macro

optgroup(attrs_or_content_or_block) View Source (macro)

Link to this macro

optgroup(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <option> element is used to define an item contained in a <select>, an <optgroup>, or a <datalist> element. As such, <option> can represent menu items in popups and other lists of items in an HTML document.

Link to this macro

option(attrs_or_content_or_block) View Source (macro)

Link to this macro

option(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Output element (<output>) is a container element into which a site or app can inject the results of a calculation or the outcome of a user action.

Link to this macro

output(attrs_or_content_or_block) View Source (macro)

Link to this macro

output(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <p> element represents a paragraph.

Link to this macro

p(attrs_or_content_or_block) View Source (macro)

Link to this macro

p(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

param(attrs \\ []) View Source (macro)

The HTML <param> element defines parameters for an <object> element.

The HTML <pre> element represents preformatted text which is to be presented exactly as written in the HTML file.

Link to this macro

pre(attrs_or_content_or_block) View Source (macro)

Link to this macro

pre(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <progress> element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

Link to this macro

progress(attrs_or_content_or_block) View Source (macro)

Link to this macro

progress(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <q> element indicates that the enclosed text is a short inline quotation. Most modern browsers implement this by surrounding the text in quotation marks.

Link to this macro

q(attrs_or_content_or_block) View Source (macro)

Link to this macro

q(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Ruby Fallback Parenthesis (<rp>) element is used to provide fall-back parentheses for browsers that do not support display of ruby annotations using the <ruby> element.

Link to this macro

rp(attrs_or_content_or_block) View Source (macro)

Link to this macro

rp(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Ruby Text (<rt>) element specifies the ruby text component of a ruby annotation, which is used to provide pronunciation, translation, or transliteration information for East Asian typography. The <rt> element must always be contained within a <ruby> element.

Link to this macro

rt(attrs_or_content_or_block) View Source (macro)

Link to this macro

rt(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <ruby> element represents a ruby annotation. Ruby annotations are for showing pronunciation of East Asian characters.

Link to this macro

ruby(attrs_or_content_or_block) View Source (macro)

Link to this macro

ruby(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <s> element renders text with a strikethrough, or a line through it. Use the <s> element to represent things that are no longer relevant or no longer accurate. However, <s> is not appropriate when indicating document edits; for that, use the <del> and <ins> elements, as appropriate.

Link to this macro

s(attrs_or_content_or_block) View Source (macro)

Link to this macro

s(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Sample Element (<samp>) is used to enclose inline text which represents sample (or quoted) output from a computer program.

Link to this macro

samp(attrs_or_content_or_block) View Source (macro)

Link to this macro

samp(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <script> element is used to embed or reference executable code; this is typically used to embed or refer to JavaScript code.

Link to this macro

script(attrs_or_content_or_block) View Source (macro)

Link to this macro

script(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <section> element represents a standalone section — which doesn't have a more specific semantic element to represent it — contained within an HTML document.

Link to this macro

section(attrs_or_content_or_block) View Source (macro)

Link to this macro

section(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <select> element represents a control that provides a menu of options

Link to this macro

select(attrs_or_content_or_block) View Source (macro)

Link to this macro

select(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <small> element makes the text font size one size smaller (for example, from large to medium, or from small to x-small) down to the browser's minimum font size.  In HTML5, this element is repurposed to represent side-comments and small print, including copyright and legal text, independent of its styled presentation.

Link to this macro

small(attrs_or_content_or_block) View Source (macro)

Link to this macro

small(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

source(attrs \\ []) View Source (macro)

The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.

The HTML <span> element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang.

Link to this macro

span(attrs_or_content_or_block) View Source (macro)

Link to this macro

span(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Strong Importance Element (<strong>) indicates that its contents have strong importance, seriousness, or urgency. Browsers typically render the contents in bold type.

Link to this macro

strong(attrs_or_content_or_block) View Source (macro)

Link to this macro

strong(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <style> element contains style information for a document, or part of a document.

Link to this macro

style(attrs_or_content_or_block) View Source (macro)

Link to this macro

style(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Subscript element (<sub>) specifies inline text which should be displayed as subscript for solely typographical reasons.

Link to this macro

sub(attrs_or_content_or_block) View Source (macro)

Link to this macro

sub(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Disclosure Summary element (<summary>) element specifies a summary, caption, or legend for a <details> element's disclosure box.

Link to this macro

summary(attrs_or_content_or_block) View Source (macro)

Link to this macro

summary(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Superscript element (<sup>) specifies inline text which is to be displayed as superscript for solely typographical reasons.

Link to this macro

sup(attrs_or_content_or_block) View Source (macro)

Link to this macro

sup(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <table> element represents tabular data — that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.

Link to this macro

table(attrs_or_content_or_block) View Source (macro)

Link to this macro

table(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Table Body element (<tbody>) encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of the table (<table>).

Link to this macro

tbody(attrs_or_content_or_block) View Source (macro)

Link to this macro

tbody(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <td> element defines a cell of a table that contains data. It participates in the table model.

Link to this macro

td(attrs_or_content_or_block) View Source (macro)

Link to this macro

td(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Content Template (<template>) element is a mechanism for holding HTML that is not to be rendered immediately when a page is loaded but may be instantiated subsequently during runtime using JavaScript.

Link to this macro

template(attrs_or_content_or_block) View Source (macro)

Link to this macro

template(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <textarea> element represents a multi-line plain-text editing control, useful when you want to allow users to enter a sizeable amount of free-form text, for example a comment on a review or feedback form.

Link to this macro

textarea(attrs_or_content_or_block) View Source (macro)

Link to this macro

textarea(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <tfoot> element defines a set of rows summarizing the columns of the table.

Link to this macro

tfoot(attrs_or_content_or_block) View Source (macro)

Link to this macro

tfoot(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.

Link to this macro

th(attrs_or_content_or_block) View Source (macro)

Link to this macro

th(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <thead> element defines a set of rows defining the head of the columns of the table.

Link to this macro

thead(attrs_or_content_or_block) View Source (macro)

Link to this macro

thead(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <time> element represents a specific period in time.

Link to this macro

time(attrs_or_content_or_block) View Source (macro)

Link to this macro

time(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.

Link to this macro

title(attrs_or_content_or_block) View Source (macro)

Link to this macro

title(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <tr> element defines a row of cells in a table. The row's cells can then be established using a mix of <td> (data cell) and <th> (header cell) elements.The HTML <tr> element specifies that the markup contained inside the <tr> block comprises one row of a table, inside which the <th> and <td> elements create header and data cells, respectively, within the row.

Link to this macro

tr(attrs_or_content_or_block) View Source (macro)

Link to this macro

tr(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

track(attrs \\ []) View Source (macro)

The HTML <track> element is used as a child of the media elements <audio> and <video>. It lets you specify timed text tracks (or time-based data), for example to automatically handle subtitles. The tracks are formatted in WebVTT format (.vtt files) — Web Video Text Tracks or Timed Text Markup Language (TTML).

The HTML Unarticulated Annotation Element (<u>) represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation.

Link to this macro

u(attrs_or_content_or_block) View Source (macro)

Link to this macro

u(attrs_or_content, block_or_attrs) View Source (macro)

The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.

Link to this macro

ul(attrs_or_content_or_block) View Source (macro)

Link to this macro

ul(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Variable element (<var>) represents the name of a variable in a mathematical expression or a programming context.

Link to this macro

var(attrs_or_content_or_block) View Source (macro)

Link to this macro

var(attrs_or_content, block_or_attrs) View Source (macro)

The HTML Video element (<video>) embeds a media player which supports video playback into the document.

Link to this macro

video(attrs_or_content_or_block) View Source (macro)

Link to this macro

video(attrs_or_content, block_or_attrs) View Source (macro)

Link to this macro

wbr(attrs \\ []) View Source (macro)

The HTML <wbr> element represents a word break opportunity—a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location.