@clean-jsdoc-theme/dwar

中文文档
5.2.1发布于 2026/10/24MITTypeScriptES Module构建来源已验证近 30 天下载 2.2万

纯站点管理 → HTML/CSS/JS 纯洁-jsdoc-主题渲染器

中文使用文档
文档目录7 节
  1. 公共 API
  2. 使用量
  3. 什麽 render() 发射
  4. 管道安装
  5. 页:1
  6. 贡献者
  7. 许可证

@ clean-jsdoc-主题/战争

纯站点管理 → HTML/CSS/JS 渲染器. 通过 Preact 组件编译 MDX 从 @clean-jsdoc-theme/rang,服务器发送每个页面,将岛屿捆绑在 一个拆分的建筑(共享块+每个内容覆盖的条目块) 并发布CSS.

公共 API

  • render(manifest, opts): Promise<RenderResult> —— 软件包唯一的导出: 一个纯的async函数返回一个内存 RenderResult (单位:千美元)OutputFile[], (中文(简体) ), SearchEntry[], (中文(简体) ), errors, (中文(简体) ), stats) (中文(简体) ). 呼叫者坚持文件本身。 未编译的页面被跳过并报告于 RenderResult.errors从来没有扔.

使用量

import { render } from '@clean-jsdoc-theme/dwar';
import { generateSite } from '@clean-jsdoc-theme/setu';
import { writeFile, mkdir } from 'node:fs/promises';
import { dirname, join } from 'node:path';

const manifest = generateSite(saltyCollection);

const result = await render(manifest, {
  theme: {
    tokens: {
      colors: {
        bg: '#ffffff',
        bgMuted: '#f5f5f5',
        fg: '#111111',
        fgMuted: '#666666',
        accent: '#0070f3',
        accentFg: '#ffffff',
        border: '#e5e5e5',
      },
      fonts: { heading: 'Source Serif 4', body: 'Roboto', mono: 'ui-monospace' },
      shiki: { light: 'github-light', dark: 'github-dark' },
      siteName: 'My Docs',
    },
    basePath: '/',
  },
});

const outDir = './dist';
for (const file of result.files) {
  const target = join(outDir, file.path);
  await mkdir(dirname(target), { recursive: true });
  await writeFile(target, file.contents);
}

什麽 render() 发射

  • <slug>/index.html 百分比 Page每一个 <head> 包括水分前的主题脚本( 在样式表链接之前) 防止 FOUC; 内置标题控制器 + 岛屿加载器脚本 </body>。 。 。 .
  • <slug>/index.md 每个内容页——页面的MDX正文逐字记录,与HTML(用于LLMs +复制页按钮)合用. 源查看器的页面没有发出任何消息.
  • _assets/styles.${buildId}.css ——主题 :root 编号 : [data-theme="dark"] 符号块外加预建的静态公用层 .
  • _assets/search-index.${buildId}.json 模糊的搜索索引 cmdk 岛取来.
  • _islands/<name>.js 百分比 IslandName ——内容被遮住的条目块从一个分块的建筑上分出,共享一个共同的Preact + Rang块.
  • 每页 <script data-island-props>{ "i0": …, "i1": …, … }</script> 携带连环岛道具.
  • A 类 复制页 {\fn华文楷体\fs20\bord1\shad1\1che0e0e0\2ch000000}被活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活 预览/下一页 (单位:千美元)PageNav下方的内容页——每道门由 ThemeConfig (单位:千美元)copyPage 编号 : pageNav),从不出现在源页面.
  • RenderResult.search 一个 SearchEntry 每个非隐藏页,准备下游索引.

对a 本地化 建筑(RenderOptions.locale),SSR树被包裹在一 bhasha (英语) LanguageProvider,一个 __i18n 每个岛根的有效载荷种子(无) 水分漂移, <html lang> 财务报告和审定财务报表 hreflang 候补已设置 语言切换器已挂载。 没有的建筑 locale 字节与 从前.

kind: 'source' 页面全部跳过 MDX : 原始来源留在 SSR 中 <pre> (关闭JSON有效载荷) code-viewer 摩纳哥从一个CDN 懒惰的岛屿 来增强它.

管道安装

SiteManifest ──► dwar.render ──► OutputFile[] ──► caller writes ──► static site
                     │
                     ├── MDX via @mdx-js/mdx + rang.defaultMdxComponents
                     ├── SSR via preact-render-to-string + rang.Layout
                     ├── Island markers wrapping rang.ISLAND_REGISTRY entries
                     ├── Islands bundled via esbuild (shared chunk + per-island entry)
                     └── CSS: per-theme token block + prebuilt utility layer

页:1

  • render() 实值 纯: 无 fs,没有 process.cwd没有伐木。 坚持不懈是召唤者的责任. 一个磁盘触摸是选择入岛缓存(RenderOptions.islandCacheDir; 省略该词和 render() 完全不碰磁盘.
  • CSS在矮人自己的建设时间编译一次. scripts/build-css.mjs 运行 Tailwindow v4 CLI 运行于 Rang's + Dwar 源头,并将结果输入 src/generated/utility-css.ts尾风从不冲向消费者 jsdoc 建造,所以 render() 保持纯度, 用户不需要 Tailwind 配置; 只有 :root 编号 : [data-theme="dark"] 每个符号块被释放 ThemeConfig 在时间.
  • 一个防守 {@link Foo} → `@link Foo` 预处理器在 src/mdx.ts 用作安全网。 setu 现在解决了上游的链接,所以只有真-不可解的标记到达了这个代码,其中的内置-代码倒计时会持续编辑页面.

贡献者

感谢所有帮助建立干净的jsdoc主题的人.

Contributors

许可证

麻省理工学院.

版本与发布记录

@clean-jsdoc-theme/dwar 共发布 18 个版本,首次发布于 2026/06/10;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.2.1latest2026/10/2416 天前
5.2.02026/08/282 个月前
5.1.12026/07/293 个月前
5.1.02026/07/243 个月前
5.0.82026/07/183 个月前
5.0.72026/07/074 个月前

其他发布通道:next → 5.0.0-alpha.0。

关于 @clean-jsdoc-theme/dwar 的常见问题

@clean-jsdoc-theme/dwar 是什么?

纯站点管理 → HTML/CSS/JS 纯洁-jsdoc-主题渲染器

如何安装 @clean-jsdoc-theme/dwar?

在项目目录运行 npm install @clean-jsdoc-theme/dwar,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:preact(^10.22.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@clean-jsdoc-theme/dwar 支持 TypeScript 吗?

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

@clean-jsdoc-theme/dwar 支持 ESM 还是 CommonJS?

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

@clean-jsdoc-theme/dwar 可以商用吗?

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

@clean-jsdoc-theme/dwar 的下载量有多少?

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

@clean-jsdoc-theme/dwar 还在维护吗?

最新版本 5.2.1 发布于 2026/10/24(16 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。