跳转到内容

fmtagno

一份 JSON,出 Word、PDF 和网页

JSON 里只写「放什么」:标题、正文、列表、表格、图片。再带一点样式。fmtagno 负责排版。

hello.json
{
"version": "0.1",
"meta": { "title": "季度报告", "lang": "zh-CN", "page": { "size": "A4", "margin": "20mm" } },
"styles": { "muted": { "color": "#666666", "fontSize": 10 } },
"root": "doc",
"elements": {
"doc": { "type": "Document", "children": ["title", "intro", "items"] },
"title": { "type": "Heading", "props": { "level": 1, "text": "季度报告" } },
"intro": { "type": "Text", "props": { "text": "一份 JSON,出三种格式。" }, "style": "muted" },
"items": { "type": "List", "props": { "items": ["docx", "pdf", "html"] } }
}
}
终端窗口
fmtagno render hello.json -o hello.docx
fmtagno render hello.json -o hello.pdf
fmtagno render hello.json -o hello.html --paged

三种格式一份数据

同一份 JSON 出 docx、pdf、html。哪个格式表达不了某个样式,就给一条警告,不报错。

样式像 CSS

字段名跟 CSS 走:fontSize、lineHeight、border。取值以 Word 能表达的为准。

样式集

一套公司模板写成样式集,很多文档共用。换个样式集,就换一套外观。

表格和分节

合并单元格、列宽、行高、表头重复;分节换纸张、页眉页脚、页码。

自定义组件

把常用排版拼成自己的组件,JSON 里一行引用。

AI 好写

元素平铺、用 id 互相引用。AI 可以一条条写出来,fmtagno check 马上告诉它错在哪。