# ExMark ExMark pronounced [E X mark] ## 目标 适用于API文档 技术博客 个人文章 的 平文本转格式文本 的 轻量级标记语言,满足 以所写内容为主 平文本能够让人看出格式 的要求。 能够有cargo/SPM的命令行程序可以直接使用 有vscode的编辑器扩展 有GitHub pages自动部署的方式 用katex渲染公式 https://katex.org 加一个悬停 ## 规定 不支持html的语法嵌入 专注文章内容而不是格式 Tab替换为4个空格 不考虑换行文本:只要有\n,就算做新的一行 空行正常渲染为回车 对中文支持良好:逗号区分不同格式可以使用中英文逗号 |可以使用中文竖线 后缀为.exmark 解决Markdown不能调整图片大小的问题 块级均不支持相互嵌套 ## 标准 需要有两篇标准 一篇规定语法解析 一篇规定渲染规范 文段有属性 还有样式 主要分为文章级,块级,行级 ### 文章级 document level 标题 # ## ### #### ##### ###### 不渲染 只支持纯文本 目录 ---toc--- 由解析软件自动生成 分割线 ---sep--- or --- 文章属性 [[doc author: [xxx](link https://xxx) tags: xxx, xxx ]] 一篇文章中的第二个会被忽略 body只支持ExMark行内 信息录入到document内 可渲染可不渲染 不支持样式 ### 块级 block level [[格式 参数, 格式 参数 content ]] 从第一个[[开始 如果有不匹配的[[ ]] 匹配到最远的]] 所有块 只支持嵌套行内ExMark 结尾必须没有任何字符 也就是不允许出现 ]]xxx #### 属性 块代码 code; code language; code language number(-n) 空白则渲染为空 body不渲染 不可与块公式嵌套 可用样式:size bgcolor 默认左对齐 默认使用js文件进行代码上色 块公式 math body不渲染 不可与块代码嵌套 可用样式:size color bgcolor 默认居中 无序列表 有序列表 list; list order / 引用 quote 用4个空格的缩进来区分层级 body行内渲染 可以考虑不同层级的符号如何设置 可用样式:size color bgcolor 表格 table; table noheader, title xxx; table csv 列可以设置对齐 left center right 表条目用 | 隔开即可 body行内渲染 可用样式:size color bgcolor 段落 paragraph 如果想要整体调整段落大小 需要将其声明为块 然后在后面加size;否则用行内size吧 剩下的都是普通段落 body行内渲染 可用样式:size color bgcolor bold italic delete under 特有样式:左对齐 居中 右对齐 left center right 默认left 因层级有多个属性则按照嵌套内部属性 因同级有多个属性则无效 块标题 title xxx 上方 块说明 caption xxx 下方 #### 样式 字号调整 size 2; size 0.5 与正文字号的绝对倍数关系 百分数也可以 会对所有文段产生影响 除非其中有嵌套指定块/行size 背景颜色 字颜色 bgcolor 66ccff; color lightblue ### 行级 line level [content](格式 参数) 这里如果都采用一样的语法其实有点难以用肉眼看出区别 但是这一点可以通过编辑器做到 比如适当调整颜色或字体、大小等 行代码 [ ](code); ` ` body不渲染 行公式 [ ](math); $ $ 图片 [alt text](image); [alt text](image, title xxx, caption xxx, size 0/1/0.5/4) size origin 表示与图片原始大小相同 倍数表示图片高度相当于多少行 网页链接 [ ](link https://xxx); 文件链接 [ ](file absolute_path/ralative_path) 目录引用 [ ](to 1.1); [ ](to 样式-1) 本篇文章的序号或者标题名称 内容跳转 [ ](to unique_id) 位置标记 [ ](anchor unique_id) 注释 [ ](comment) 不渲染 #### 样式 粗体 斜体 [](bold) [](italic) [](italic, bold) 删除线 [](delete) 下划线 [](under) 字号调整 size 2; size 0.5 与正文字号的绝对倍数关系 百分数也可以 背景颜色 字颜色 bgcolor 66ccff; color lightblue