ezML is still useless, but aspires to be a compact language to generate XML.
This is what it looks like so far,
html#head {
head {
! Why are you snooping on my webpage?
title: ezML demo
/ Styles
/ ------
link,href="/style/theme.css"
,rel="stylesheet"
script,src="/lib/htmx.pre.js"
,fetchpriority="high"
,integrity="sha2-34"
/ Metadata
meta,property='og:sad_story'
,content="ezML wants to be a real language some day"
< ./includes.html
| cat early_script.js | minifier
}
body.column.round {
div#main_column {
navbar {
}
main {
}
}
}
It’d be nice to drop the braces in favor of indent-based blocks like haml or slim.
We can highlight using tree-sitter highlight ./path/to/file.zml, but things
are not so fun outside the editor.
I’d love to have Emacs support, but haven’t dig into it too much. It seems we
need to create a file in ~/src/Emacs/lisp/textmodes/ and build Emacs ourselves.
We need to be able to output XML and HTML, but there’s a few problems,
We don’t have syntax for writing text into an element, nor for using zml within it.
For instance, generating this cursed title is not possible,
<title>My <b>BIG</b>, <blink>flashy</blink>, and <i>awesome</i> title</title>This is probably a bigger problem. We need to build a tool that at least outputs the XML we have syntax for.
If you are not familiar with tree-sitter you may think this is already big project, it is not, there’s barely the grammar definition and some test data in ./test/corpus/ and ./examples/.
This project is a day old, so I don’t truly expect contributors yet.
Since ezML’s design is still in the drawer comments use cases and discussion are better than code.