1 个不稳定版本
0.1.0 | 2024 年 8 月 10 日 |
---|
#6 在 #dialect
113 每月下载量
9KB
125 行代码(不包括注释)
这个crate实现了一种(简单的)名为 KDL
的风味,称为 htmeta
。这个方言的目的是允许直接表示 HTML
。
格式
由于 KDL
在语义上已经非常类似于 HTML
,因此 htmeta
只增加了两件事
- 一种区分要显示在
HTML
中的真实text
内容的方法。 - 变量以减少重复。
文本节点
文本节点命名为 text
,并且它们只能有一个位置参数,即要直接粘贴到结果 HTML
中的文本。
示例
html {
body {
h1 {
text "Title"
}
}
}
结果为
<html>
<body>
<h1>
Title
</h1>
</body>
</html>
变量
如果你曾经使用过像 TailwindCSS
或 Bootstrap
这样的基于 CSS 的框架,你就会知道反复输入相同的类是多么的繁琐。因此,htmeta
实现了一个简单的变量机制,以减少重复。
示例
html {
head {
meta charset="utf-8"
// Includes tailwindcss
script src="https://cdn.tailwindcss.com"
}
body {
// creates a variable called `$btn_class`
$btn_class "border-1 rounded-lg"
// Value of `$btn_class` is reused inside these buttons:
button class="$btn_class ml-4"
bttton class="$btn_class mr-4"
}
}
结果为
<html>
<head>
<meta charset="utf-8"/>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
<button class="border-1 rounded-lg ml-4"></button>
<bttton class="border-1 rounded-lg mr-4"></bttton>
</body>
</html>
依赖
~4–6MB
~106K SLoC