@acdvorak/myst-to-docx

中文文档
1.0.14发布于 2024/11/14MITTypeScriptES Module近 30 天下载 7424

从 MyST Markdown 文档导出到 Microsoft Word (*.docx)

中文使用文档
文档目录7 节
  1. 概览
  2. 浏览器中的基本用途
  3. 节点的基本使用
  4. 扩展用途
  5. 支持的块节点
  6. 支持的样式节点
  7. 资源

myst-to-docx

导出 MyST 文档到 Microsoft Word 文件, 使用 docx 文档。 。 。 .

概览

myst-to-docx 有一个 DocxSerializer 对象,您在行走 MyST 文档时将其写入。 是一个光线包裹 https://docx.js.org/ (中文(简体) ),它实际上负责导出. myst-to-docx 只写( 即可以导出到, 但无法读取) *.docx),并覆盖了所有标准 MyST 节点(见下文).

myst-to-docx 可用于浏览器或节点。 此库目前仅依赖 docx, (中文(简体) ), myst-frontmatter 财务报告和审定财务报表 buffer-image-size - 序列处理器可以外部编辑(见 Extended Usage 页:1.

AST应该通过 myst-transforms 以确保列出所有节点.

浏览器中的基本用途

工具 fetchImagesAsBuffers 将 AST 移动并下载图像到 docx 使用的缓冲器中,它也会计算出对象的大小,并将对象带回 getImageBuffer 财务报告和审定财务报表 getImageDimensions,这些选项需要传递给选项。 如果您的图像更为复杂(例如它们是人鱼图,或Jupyter输出),您需要做更复杂的预处理来创建这两个函数.

A 类 Blob 返回,可以下载客户端.

import { unified } from 'unified';
import { mystToDocx, fetchImagesAsBuffers, DocxResult } from 'myst-to-docx';

const opts = await fetchImagesAsBuffers(tree);
const file = unified().use(mystToDocx, opts).stringify(tree);
const blob = await (file.result as DocxResult);

节点的基本使用

在节点中,图像维度是使用只使用节点包来发现的,不需要提供. 节点转换的结果是 Buffer 作为 file.result,可以保存到磁盘中.

import { unified } from 'unified';
import { mystToDocx, DocxResult } from 'myst-to-docx';

const file = unified()
  .use(mystToDocx, {
    getImageBuffer(url) {
      return fs.readFileSync(url).buffer;
    };
  })
  .stringify(tree);
const buffer = await (file.result as DocxResult);

扩展用途

而不是使用 defaultDocxSerializer 您可以覆盖或提供 cumosome 序列器.

import { DocxSerializer, defaultNodes, defaultMarks } from 'myst-to-docx';

const nodeSerializer = {
  ...defaultNodes,
  my_paragraph(state, node) {
    state.renderInline(node);
    state.closeBlock(node);
  },
};

export const myDocxSerializer = new DocxSerializer(nodeSerializer, defaultMarks);

这个 state 这是 DocxSerializerState 并具有与 docx。 。 。 .

支持的块节点

  • 文本
  • 链接
  • 段 次 页 次
  • 标题(职等)
    • 包括标题编号
  • 块引用
  • 代码
    • TODO: 不支持样式
  • 主题中断
  • 换行
  • 列表
  • 列表 项目
  • 图像
  • 数学
    • 包括编号
  • 内置线性Math
  • 交叉参照
  • 缩略语
  • 块
  • 定义 列表
  • 定义
  • 定义 说明
  • 集装箱
  • 标题
  • 标题
  • 图表

支持的样式节点

  • 重点
  • 强
  • 内置代码
  • 下标
  • 上标
  • 删除( 切通)
  • 下划线
  • 小盖

资源

版本与发布记录

@acdvorak/myst-to-docx 共发布 3 个版本,首次发布于 2024/11/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.14latest2024/11/142 年前
1.0.132024/11/132 年前
1.0.122024/11/132 年前

关于 @acdvorak/myst-to-docx 的常见问题

@acdvorak/myst-to-docx 是什么?

从 MyST Markdown 文档导出到 Microsoft Word (*.docx)

如何安装 @acdvorak/myst-to-docx?

在项目目录运行 npm install @acdvorak/myst-to-docx,或使用 pnpm add / yarn add / bun add。

@acdvorak/myst-to-docx 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@acdvorak/myst-to-docx 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@acdvorak/myst-to-docx 可以商用吗?

@acdvorak/myst-to-docx 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@acdvorak/myst-to-docx 的下载量有多少?

根据 npm 官方下载统计,@acdvorak/myst-to-docx 在 2026/10/05 – 2026/11/03 这 30 天内被下载 7,424 次,日均约 247 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@acdvorak/myst-to-docx 还在维护吗?

最新版本 1.0.14 发布于 2024/11/14(2 年前);至今共发布 3 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/11/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。