Phlex.HTML (phlex v0.3.0)

Copy Markdown View Source

HTML component base for Phlex.

Use this module to create HTML components:

defmodule MyComponent do
  use Phlex.HTML

  def view_template(assigns, state) do
    div(state, [class: "container"], fn state ->
      h1(state, [class: "title"], "Hello, World!")
    end)
  end
end

Standard HTML Elements

All standard HTML elements are available as functions that accept state explicitly. This follows Elixir's functional programming style and ensures clear data flow.

Examples

def view_template(assigns, state) do
  div(state, [class: "card"], fn state ->
    h1(state, [class: "title"], "Hello")
  end)
end

Summary

Functions

Renders a void HTML element (self-closing).

Functions

a(state)

a(state, content)

a(state, attrs, content)

abbr(state)

abbr(state, content)

abbr(state, attrs, content)

address(state)

address(state, content)

address(state, attrs, content)

area(state)

area(state, attrs)

article(state)

article(state, content)

article(state, attrs, content)

aside(state)

aside(state, content)

aside(state, attrs, content)

audio(state)

audio(state, content)

audio(state, attrs, content)

b(state)

b(state, content)

b(state, attrs, content)

base(state)

base(state, attrs)

bdi(state)

bdi(state, content)

bdi(state, attrs, content)

bdo(state)

bdo(state, content)

bdo(state, attrs, content)

blockquote(state)

blockquote(state, content)

blockquote(state, attrs, content)

body(state)

body(state, content)

body(state, attrs, content)

br(state)

br(state, attrs)

button(state)

button(state, content)

button(state, attrs, content)

canvas(state)

canvas(state, content)

canvas(state, attrs, content)

caption(state)

caption(state, content)

caption(state, attrs, content)

cite(state)

cite(state, content)

cite(state, attrs, content)

code(state)

code(state, content)

code(state, attrs, content)

col(state)

col(state, attrs)

colgroup(state)

colgroup(state, content)

colgroup(state, attrs, content)

data(state)

data(state, content)

data(state, attrs, content)

datalist(state)

datalist(state, content)

datalist(state, attrs, content)

dd(state)

dd(state, content)

dd(state, attrs, content)

del(state)

del(state, content)

del(state, attrs, content)

details(state)

details(state, content)

details(state, attrs, content)

dfn(state)

dfn(state, content)

dfn(state, attrs, content)

dialog(state)

dialog(state, content)

dialog(state, attrs, content)

div(state)

div(state, content)

div(state, attrs, content)

dl(state)

dl(state, content)

dl(state, attrs, content)

dt(state)

dt(state, content)

dt(state, attrs, content)

em(state)

em(state, content)

em(state, attrs, content)

embed(state)

embed(state, attrs)

fieldset(state)

fieldset(state, content)

fieldset(state, attrs, content)

figcaption(state)

figcaption(state, content)

figcaption(state, attrs, content)

figure(state)

figure(state, content)

figure(state, attrs, content)

footer(state)

footer(state, content)

footer(state, attrs, content)

form(state)

form(state, content)

form(state, attrs, content)

h1(state)

h1(state, content)

h1(state, attrs, content)

h2(state)

h2(state, content)

h2(state, attrs, content)

h3(state)

h3(state, content)

h3(state, attrs, content)

h4(state)

h4(state, content)

h4(state, attrs, content)

h5(state)

h5(state, content)

h5(state, attrs, content)

h6(state)

h6(state, content)

h6(state, attrs, content)

head(state)

head(state, content)

head(state, attrs, content)

header(state)

header(state, content)

header(state, attrs, content)

hr(state)

hr(state, attrs)

html(state)

html(state, content)

html(state, attrs, content)

i(state)

i(state, content)

i(state, attrs, content)

iframe(state)

iframe(state, content)

iframe(state, attrs, content)

img(state)

img(state, attrs)

input(state)

input(state, attrs)

ins(state)

ins(state, content)

ins(state, attrs, content)

kbd(state)

kbd(state, content)

kbd(state, attrs, content)

label(state)

label(state, content)

label(state, attrs, content)

legend(state)

legend(state, content)

legend(state, attrs, content)

li(state)

li(state, content)

li(state, attrs, content)

link(state)

link(state, attrs)

main(state)

main(state, content)

main(state, attrs, content)

map(state)

map(state, content)

map(state, attrs, content)

mark(state)

mark(state, content)

mark(state, attrs, content)

meta(state)

meta(state, attrs)

meter(state)

meter(state, content)

meter(state, attrs, content)

noscript(state)

noscript(state, content)

noscript(state, attrs, content)

object(state)

object(state, content)

object(state, attrs, content)

ol(state)

ol(state, content)

ol(state, attrs, content)

optgroup(state)

optgroup(state, content)

optgroup(state, attrs, content)

option(state)

option(state, content)

option(state, attrs, content)

output(state)

output(state, content)

output(state, attrs, content)

p(state)

p(state, content)

p(state, attrs, content)

param(state)

param(state, content)

param(state, attrs, content)

picture(state)

picture(state, content)

picture(state, attrs, content)

pre(state)

pre(state, content)

pre(state, attrs, content)

progress(state)

progress(state, content)

progress(state, attrs, content)

q(state)

q(state, content)

q(state, attrs, content)

render_element(tag_name, attrs, state, content \\ nil)

Renders a standard HTML element.

render_void_element(tag_name, attrs, state)

Renders a void HTML element (self-closing).

rp(state)

rp(state, content)

rp(state, attrs, content)

rt(state)

rt(state, content)

rt(state, attrs, content)

ruby(state)

ruby(state, content)

ruby(state, attrs, content)

s(state)

s(state, content)

s(state, attrs, content)

samp(state)

samp(state, content)

samp(state, attrs, content)

script(state)

script(state, content)

script(state, attrs, content)

search(state)

search(state, content)

search(state, attrs, content)

section(state)

section(state, content)

section(state, attrs, content)

select(state)

select(state, content)

select(state, attrs, content)

slot(state)

slot(state, content)

slot(state, attrs, content)

small(state)

small(state, content)

small(state, attrs, content)

source(state)

source(state, attrs)

span(state)

span(state, content)

span(state, attrs, content)

strong(state)

strong(state, content)

strong(state, attrs, content)

style(state)

style(state, content)

style(state, attrs, content)

sub(state)

sub(state, content)

sub(state, attrs, content)

summary(state)

summary(state, content)

summary(state, attrs, content)

sup(state)

sup(state, content)

sup(state, attrs, content)

table(state)

table(state, content)

table(state, attrs, content)

tag(tag_name, attrs, state, content_fun \\ nil)

Renders a dynamic HTML tag.

Examples

tag(:section, [class: "main"], state, fn state ->
  p(state, [], fn state ->
    Phlex.SGML.append_text(state, "Content")
  end)
end)

tbody(state)

tbody(state, content)

tbody(state, attrs, content)

td(state)

td(state, content)

td(state, attrs, content)

template(state)

template(state, content)

template(state, attrs, content)

textarea(state)

textarea(state, content)

textarea(state, attrs, content)

tfoot(state)

tfoot(state, content)

tfoot(state, attrs, content)

th(state)

th(state, content)

th(state, attrs, content)

thead(state)

thead(state, content)

thead(state, attrs, content)

time(state)

time(state, content)

time(state, attrs, content)

title(state)

title(state, content)

title(state, attrs, content)

tr(state)

tr(state, content)

tr(state, attrs, content)

track(state)

track(state, attrs)

u(state)

u(state, content)

u(state, attrs, content)

ul(state)

ul(state, content)

ul(state, attrs, content)

var(state)

var(state, content)

var(state, attrs, content)

video(state)

video(state, content)

video(state, attrs, content)

wbr(state)

wbr(state, content)

wbr(state, attrs, content)