Not as pretty as your table, but FWIW this is what I use:
module HTMLElements
export table, fields_table
function table(arr::Matrix; pre=true, column_names=nothing)
if column_names !== nothing
arr = vcat(reshape(column_names, 1, length(column_names)), arr)
end
s =
"""
<table border="1">
"""
for r in 1:size(arr, 1)
s *= "<tr>"
for c in 1:size(arr, 2)
s *= "<td>"
if pre s *= "<pre>" end
s *= string(arr[r, c])
if pre s *= "</pre>" end
end
s *= "</tr>"
end
s *= "</table>"
return HTML(s)
end
table(ass::Associative; kwargs...) = table(ass...; kwargs...)
table(pairs::Pair...; kwargs...) =
table(hcat([x[1] for x in pairs], [x[2] for x in pairs]); kwargs...)
""" `fields_table(obj)` displays the fields of object in an HTML table """
fields_table(obj) =
table(Pair[name=>getfield(obj, name) for name in fieldnames(obj)]...)
end