# dash-doc **Repository Path**: jia2024/dash-doc ## Basic Information - **Project Name**: dash-doc - **Description**: 一种用 dash 符号(-)转义的文档标记语言 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-27 - **Last Updated**: 2024-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README -title 一个文档标记语言 -section 语法 每行的格式都是: -code [-CMD ]ARGS... -end 每行的开头和结尾的空白都会删除。在此之后,末尾的反斜线(\)也会删除。没有 -CMD \ 开头的行是文档的正文,多个连续的空行组成一个自然段。 -code 这是第一行。 这是第二行,但是还是第一段的内容。 这一行结尾有一个空格。 \ -end 命令列表: -list - title TITLE:声明文档的标题是 TITLE - secton SECTION:声明一个章节的标题是 SECTION。 - list:开始一个新的列表。 - 空字符串:开始一个列表项目。 - code:代码块。 - end:结束块单元,例如列表和代码块。 - - LINE:将 LINE 视作一行文本。这可以用在行的开头是 dash(-),或者空行的情况。 - url URL:链接。 - image BASE64:内联的图像。 - image-file PATH:从文件加载图像。 -end -section 示例 使用下面的命令解析当前文档为语法树: -code cat README.txt | python3 main.py -end 而增加 --html 选项则会将文档转换成等效的 HTML。 -section 代码块 -- -code 命令开始一个代码块,直到 -end 命令,其中的行都视为代码块的内容。 -code CODE -code 代码第一行。 代码第二行。 -end -end CODE 如果 -code 块里面要写以 -end 开头的代码行,那么可能导致代码块错误地结束,为此 可以给 -code 传递参数 TOKEN,而 -end 也需要同样的 TOKEN 作为参数才能结束代码。 -code CODE -code foo -end # 这个 -end 并不结束代码块 -end foo # 这个 -end 才会结束代码块。 -end CODE -- -code 块对缩进是敏感的。-code 命令的缩进也都必须是代码行的缩进,不能更少。而更 多的缩进会视作是代码的一部分。 -code CODE -code foo # 这一行代码没有缩进。 -end -code foo # 这一行代码没有缩进。 -end -code foo # 这一行代码缩进两个空格。 -end # 这是非法的。 -code foo -end -end CODE