Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rimochan/hrml

【hrml】超莉沫酱自慰语言!
https://github.com/rimochan/hrml

Last synced: 7 days ago
JSON representation

【hrml】超莉沫酱自慰语言!

Awesome Lists containing this project

README

        

# hrml: 超莉沫酱自慰语言

你还在为编写html度过一个个孤独难耐的夜晚吗?寂寞长夜,你想找个好的编程语言,来宽慰一下自己吗?

hrml是Python风格的自慰语言,可以容易地编译成html。

## 样例

hrml:
```hrml
div#all:
div.my_class1:
span:
今天天气不错,来散步自慰吧。
a href='https://散步自慰':
go!
```

html:
```html




今天天气不错,来散步自慰吧。


go!



```

## 使用方法

只要用pip安装——

```sh
pip install hrml
```

然后运行命令就行了——

```sh
python -m hrml {输入hrml文件名} -o {输出html文件名}
```

也可以import它来使用——

```python
import hrml
with open('xxx.hrml') as f:
print(hrml.masturbate(f.read()))
```

接口只有`masturbate`这一个,输入一个hrml的字符串,将它转为html。

```python
def masturbate(s: str):
...
```

## 语法

每一行表示一个元素,缩进表示嵌套的元素。

当元素以冒号或分号结尾时,是一个节点。分号为自闭节点。
元素的属性和html一样地写在后面,不会被更改。

不以冒号`:`或分号`;`结尾的是文字。

hrml:
```hrml
div:
你好
img src='1.jpg';
```
html:
```html


你好


```

### class和id

用 小点`.` 和 井号`#` 表示元素的class和id,这些要紧跟在名字的后面。
class和id没有顺序和数量的限制。

hrml:
```hrml
div.a.b#c:
你好
```

html:
```html


你好

```
### 注释

使用Python风格注释,如 `# 我是注释` 。
注释并不会变成html的注释。

### 嵌入html内容

可以用文字的形式直接嵌入html内容。
这要求嵌入的内容本身没有缩进。

hrml:
```
div:
折跃!
```

html:
```html


折跃!

```
如果有缩进则会产生错误:
```hrml
# 这会产生编译错误。
div:

折跃!

# 因为hrml认为「折跃!」是「」的子节点。
# 但是「
」是文本节点,不能含有子节点。
```