mirror of
https://github.com/imjasonh/html
synced 2026-07-07 00:23:26 +00:00
No description
|
|
||
|---|---|---|
| cmd/generate | ||
| example | ||
| generated_a.go | ||
| generated_area.go | ||
| generated_base.go | ||
| generated_body.go | ||
| generated_br.go | ||
| generated_button.go | ||
| generated_canvas.go | ||
| generated_caption.go | ||
| generated_col.go | ||
| generated_data.go | ||
| generated_datalist.go | ||
| generated_details.go | ||
| generated_dialog.go | ||
| generated_dir.go | ||
| generated_div.go | ||
| generated_dl.go | ||
| generated_embed.go | ||
| generated_fieldset.go | ||
| generated_font.go | ||
| generated_form.go | ||
| generated_frame.go | ||
| generated_frameset.go | ||
| generated_head.go | ||
| generated_hr.go | ||
| generated_html.go | ||
| generated_iframe.go | ||
| generated_img.go | ||
| generated_input.go | ||
| generated_label.go | ||
| generated_legend.go | ||
| generated_li.go | ||
| generated_link.go | ||
| generated_map.go | ||
| generated_marquee.go | ||
| generated_media.go | ||
| generated_menu.go | ||
| generated_meta.go | ||
| generated_meter.go | ||
| generated_object.go | ||
| generated_ol.go | ||
| generated_optgroup.go | ||
| generated_option.go | ||
| generated_output.go | ||
| generated_p.go | ||
| generated_param.go | ||
| generated_picture.go | ||
| generated_pre.go | ||
| generated_progress.go | ||
| generated_q.go | ||
| generated_script.go | ||
| generated_select.go | ||
| generated_selectedcontent.go | ||
| generated_slot.go | ||
| generated_source.go | ||
| generated_span.go | ||
| generated_style.go | ||
| generated_table.go | ||
| generated_td.go | ||
| generated_template.go | ||
| generated_textarea.go | ||
| generated_time.go | ||
| generated_title.go | ||
| generated_tr.go | ||
| generated_track.go | ||
| generated_ul.go | ||
| generated_unknown.go | ||
| go.mod | ||
| LICENSE | ||
| README.md | ||
| types.go | ||
html
Type-safe HTML generation for Go, generated from WebIDL.
Usage
import . "github.com/imjasonh/html"
page := Div(
P(Raw("Hello, "), T(username), Raw("!")),
A(Raw("Click here")).Href("/home"),
Img().Src("/logo.png").Alt("Logo"),
).Render()
This generates HTML like so:
<div><p>Hello, Jason!</p><a href="/home">Click here</a><img src="/logo.png" alt="Logo" /></div>
Features
- Generated from WHATWG HTML Standard WebIDL
- Type-safe attributes (bool, int, string)
- XSS protection:
T()escapes user input,Raw()for trusted HTML Attr(key, value)escape hatch for arbitrary attributes- Automatic HTML escaping of attribute values
Generating
go run cmd/generate/main.go # Fetches latest WebIDL and regenerates elements