aardio 文档

string.markdown 库模块帮助文档

说明

string.markdown(Sundown) 解析器默认规则

string.csv 解析 Markdown 表格

使用 string.csv 并将列分隔符指定为 | 可解码编码 Markdown 表格,但 string.csv 并不解析 Markdown 转义符,并且默认会将每列的首尾双引号识别为引用段。

高频 KaTeX 符号

以下 KaTeX 单符号内联公式自动转换为 NCR 编码:

$\rightarrow$$\Rightarrow$$\to$$\Leftarrow$$\leftarrow$$\Leftrightarrow$$\leftrightarrow$$\cdot$ · $\times$ × $\pm$ ± $\approx$$\neq$$\leq$$\geq$$\equiv$$\ldots$$\infty$$\alpha$ α $\beta$ β $\lambda$ λ $\pi$ π $\theta$ θ $\mu$ μ $\sigma$ σ $\Delta$ Δ

内联 KaTeX 公式要求:

string 成员列表 #

string.markdown() #

返回对象:stringMarkdownObject

string.markdown(extensions,maxNesting,htmlRenderFlags) #

创建 MARKDOWN 解析器,所有参数可选。

string.markdown(extensions,maxNesting,htmlRenderFlags,useCallbacks) #

string.markdown(8,,,{  
    blockcode = function(ob, text, lang, opaque){    
        ob = string.markdown.buffer(ob);  
        text = string.markdown.buffer(text);  
        ob.put( tostring(text) )  
    };   
} );

string.markdown(markdown,extensions,maxNesting,htmlRenderFlags) #

直接解析字符串参数 @markdown 并返回 HTML。
其他参数用法请参考用法参考下面。

string.markdown 成员列表 #

string.markdown.buffer() #

返回对象:stringMarkdownBufObject

string.markdown.buffer(缓冲区初始大小) #

创建 string.markdown 专用的缓冲区,参数可选(返回字符串首尾加空行)。
返回结构体(返回值不是 buffer 类型,不要混淆)。
aardio 的 stringbuffer 类型在尾部有 2 个不可见的 NUL 字符以防御越界。
并且操作 string,buffer 的函数基本都会检查越界操作。
但 string.markdown.buffer 结构体尾部没有这些防御越界的措施。
因此操作它要非常谨慎,如无必要,尽量不要直接创建或使用这个对象。

string.markdown.codeBlock #

安全构造围栏式代码块。
此函数指向类库函数 string.fencedCodeBlock

string.markdown.codeBlock(code,lang,tag,newline) #

stringMarkdownBufObject 成员列表 #

stringMarkdownBufObject.data() #

返回缓冲区指针

stringMarkdownBufObject.grow(增加大小) #

增加缓冲区大小

stringMarkdownBufObject.printf("%s",其他格式化参数) #

写放格式化字符串,
格式化语法与 string.format相同

stringMarkdownBufObject.put(写入数据,长度) #

写入数据到缓冲区,长度为可选参数

stringMarkdownBufObject.size() #

返回缓冲区数据大小

stringMarkdownBufObject.totring() #

返回缓冲区文本

stringMarkdownObject 成员列表 #

stringMarkdownObject.render(markdownText) #

解析参数 @markdownText 指定的 Markdown 文本并返回 HTML。
自动调用 tostring 函数将参数 @markdownText 转换为字符串。

stringMarkdownObject.renderCode(code,lang) #

将 @cdode 参数指定的编程代码置入 Markkdown 围栏代码块中,
然后转换并返回为 HTML 代码,自动处理嵌套的 Markkdown 代码块标记。
可选用 lang 参数指定编程语言名称

stringMarkdownObject.renderFile(markdownFilePath) #

解析参数 @markdownFilePath 指定的 Markdown 文件并返回 HTML

stringMarkdownObject.setRenderFlags(flags,disabled) #

设置 HTML 渲染选项。

stringMarkdownObject.setTaskCheckboxEnabled() #

任务列表中显示的复选项是否显示为启用状态。
参数 @1 指定是否启用,默认显示为禁用状态。

自动完成常量

_MD_HTML_ESCAPE=0x200
_MD_HTML_EXPAND_TABS=0x10
_MD_HTML_HARD_WRAP=0x80
_MD_HTML_SAFELINK=0x20
_MD_HTML_SKIP_HTML=1
_MD_HTML_SKIP_IMAGES=4
_MD_HTML_SKIP_LINKS=8
_MD_HTML_SKIP_STYLE=2
_MD_HTML_TASK_ENABLED=0x400
_MD_HTML_TOC=0x40
_MD_HTML_USE_XHTML=0x100
_MD_MKDA_EMAIL=2
_MD_MKDA_NORMAL=1
_MD_MKDA_NOT_AUTOLINK=0
_MD_MKDEXT_AUTOLINK=8
_MD_MKDEXT_FENCED_CODE=4
_MD_MKDEXT_LAX_SPACING=0x100
_MD_MKDEXT_NO_INTRA_EMPHASIS=1
_MD_MKDEXT_SPACE_HEADERS=0x40
_MD_MKDEXT_STRIKETHROUGH=0x10
_MD_MKDEXT_SUPERSCRIPT=0x80
_MD_MKDEXT_TABLES=2
_MD_MKD_TABLE_ALIGNMASK=3
_MD_MKD_TABLE_ALIGN_CENTER=3
_MD_MKD_TABLE_ALIGN_L=1
_MD_MKD_TABLE_ALIGN_R=2
_MD_MKD_TABLE_HEADER=4

Markdown 格式