概述
定义了文章的接口。
描述了一个文章的结构
将被 html、markdown 实现
目录
Document (接口)
定义一份文档
签名
interface Document extends Header, List, FormattingElement {
/**
*标记内容为一篇文章
*/
article: (code: string) => string
/**
*标记内容为引用别人的论述
*/
blockquote: (code: string[]) => string
/**
*换行
*/
br: (code: string) => string
/**
*标记内容为一段程序代码
*/
code: (language: string) => (a: string) => string
/**
*水平线
*/
hr: () => string
/**
*标记内容为图片
*/
img: (text: string, href: string, title?: string) => string
/**
*标记内容为链接,一般指向外部资源
*/
link: (text: string, href: string, title?: string) => string
/**
*标记内容为一个段落
*/
p: (code: string) => string
/**
*标记内容为一个章节
*/
section: (code: string) => string
/**
*定义一个表格
*/
table: (as: string[][]) => string
}
FormattingElement (接口)
格式化一个元素,给一个元素加上特殊效果。
签名
interface FormattingElement {
/**
*定义主要的文本
*/
bold: (code: string) => string
/**
*定义一个事物的标题
*/
cite: (code: string) => string
/**
*定义一个删除标记的文本
*/
del: (text: string) => string
/**
*定义一个术语
*/
dfn: (code: string) => string
/**
*定义一个强调的文本
*/
em: (code: string) => string
/**
*定义一个插入的文本
*/
ins: (code: string) => string
/**
*定义一个斜体文本
*/
italic: (code: string) => string
/**
*定义一个高亮的文本
*/
mark: (code: string) => string
/**
*给文本加引号
*/
q: (code: string) => string
}
v0.2.0 中添加
Header (接口)
定义了标题
数字为标题的级别
签名
interface Header {
h1: (title: string) => string
h2: (title: string) => string
h3: (title: string) => string
h4: (title: string) => string
h5: (title: string) => string
h6: (title: string) => string
}
v0.2.0 中添加
List (接口)
列表定义
签名
interface List {
/**
*有顺序列表
*/
ol: (as: string[]) => string
/**
*无顺序列表
*/
ul: (as: string[]) => string
}
MonadDocument (接口)
App effect
签名
interface MonadDocument {
doc: Document
}
v0.2.0 中添加
DocApp (类型)
为Document
提供边界效果
签名
export type DocApp = (a: MonadDocument) => string