Syntax Compatibility
- Dominant language
- JavaScript
- Stars
- 4
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Templating
✅ HTML
✅ XHTML
❌ JSX (JavaScript)
❌ templ (Go) [^templ]
❔ Laravel Blade (PHP)
✅ Django (Python)
✅ ERB (Ruby)
✅ `html/template` (Hugo|Go) [^html/template]
❌ WebC (11ty|JavaScript)
✅ Tera (Zola|Rust)
✅ Eta / EJS (JavaScript)
✅ Liquid
✅ Jinja / Nunjucks / ...
✅ Svelte (JavaScript)
❌ Vue (JavaScript)
❔ Astro (JavaScript)
❔ Angular (JavaScript)
## Processor
✅ Lambda Soup (Soupault|OCaml)
❔ parse5 (JavaScript)
✅ lxml (Python)
❔ lol-html (Rust, HTMLRewriter|JavaScript)
## Workaround
- Vue: namespace mode
- JSX: namespace mode
- WebC: prefix mode? 🤔
- Laravel Blade: most likely work on native mode 🤔
- `html/template`: most likely work on native mode but it's best to use namespace mode [^1]
[^html/template]: Go standard html templating sanitize attribute value [except attribute name with namespace or *data-* prefix](https://pkg.go.dev/html/template#hdr-Namespaced_and_data__attributes). The sanitizer **may** break the micro-syntax. For example, `.value="prop.count~>my.count"` **may** transform into `.value="prop.count~>my.count"` 🤔
[^templ]: Currently [templ](https://templ.guide) only support attr with prefix `@` `_` `:` `a-z` ([source](https://github.com/a-h/templ/blob/df253a64c573da766cf63577855496f35d14e48a/parser/v2/elementparser.go#L76)). Looking at their git history, seems they open for changes 🤔
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.