@ curvenote/ schema (中文(简体) )
用于交互式科学写作的 Schema, 有翻译到 MyST 香味淡定, LaTeX, 以及 HTML 。 (中文).

概览和目标
- 提供用于编写反应性科学文件的打字方案 @ curvenote/ 组件
- 用途 Web 组件 非标准组件的 HTML 输出
- 对所有其它语言使用标准 html, 不执行样式
- 与CommonMark 标记降低和 MyST 数据
- 穿过
fromMarkdown财务报告和审定财务报表toMarkdown方法
- 穿过
- 提供组件用于 维基文库 反应文件的编辑
- 见
@curvenote/editor或者说 曲线注释.com 给编辑!
- 见
选择
- 图书馆的内部代表是: ProseMiror 文档 结构(可作为JSON提供)
- 缩放 用于解析并标记下标记内容
司马
计划 Nodes 财务报告和审定财务报表 Marks 地点 Nodes 基本上是一组内容(段落、代码等) Marks 是对内容的内置修改(粗体、强调、链接等)。 见ProseMirror文件 视觉解释。 。 。 .
概览 Nodes
- 基本标记
- 文本
- 段 次 页 次
- 标题
- 块引用
- 代码( b)
- 图像
- 水平规则
- 硬断
- 命令列表( l)
- 符号列表
- 列表( r)
- 演示文稿组件
- 反应组件
概览 Marks
- 链接
- 代码
- 计划
- 强
- 上标
- 下标
- 击穿
- 下划线
- 书目
简单示例
这从马克下移 -- > JSON -- > HTML。 JSON是代表 @curvenote/editor。 。 。 .
import { Schema, nodes, marks, fromMarkdown, toHTML } from '@curvenote/schema';
import { JSDOM } from 'jsdom';
const schema = new Schema({ nodes, marks });
const content = '# Hello `@curvenote/schema`!';
const doc = fromMarkdown(content, schema);
console.log(doc.toJSON());
>> {
"type": "doc",
"content": [
{
"type": "heading",
"attrs": { "level": 1 },
"content": [
{ "type": "text", "text": "Hello " },
{
"type": "text",
"marks": [ { "type": "code" } ],
"text": "@curvenote/schema"
},
{ "type": "text", "text": "!" }
]
}
]
}
// Assuming we are in node, just use `document` if in a browser!
const { document } = new JSDOM('').window;
// Now move the document back out to html
const html = toHTML(doc, schema, document);
console.log(html);
>> "<h1>Hello <code>@curvenote/schema</code>!</h1>"
路线图
- 整合其他
@curvenote/components作为节点 - 改进等式, 并开始读取/ 从 MyST 语法中读取此语法
- 添加图属性( 名称、 宽度、 标题等)
- 提供引用, 可能带入 Bibtex 解析器
- 在曲线注释/组件或文章中引入引用和参考部分
- 添加与 MyST 重叠的角色/指令( 例如参见) 可执行的可执行书/meta#70用于指针
- 在非基本html(MyST使用狮身人面像来进行举重,交叉反射等)的曲线注/组件中添加必要的棋子
- 提供文档构造中的其他静态器( 例如: ladx 或 简单的 html , 没有曲线注释/ 组件, 可能为 idyll)