Flyfish File Viewer 的独立绘图渲染器,覆盖 drawio、dio、excalidraw、mermaid、mmd、plantuml 和 puml。
drawio / dio 默认使用随 viewer assets 分发的 diagrams.net offline viewer。excalidraw 使用官方 restore 与 exportToSvg,失败时回退到 roughjs 只读 SVG。mermaid / mmd 按需加载官方 mermaid,输出主题适配 SVG。plantuml / puml 默认保持离线 SVG 源码预览;需要完整 PlantUML 渲染时,可通过 options.drawing.plantumlServerUrl 指向自托管 SVG 端点,端点不可用时仍会回落到离线预览,避免白屏或 broken image。@panzoom/panzoom 提供拖拽平移、Ctrl/Command 滚轮缩放和统一工具栏缩放联动。options.drawing 自托管资源配置。@file-viewer/core 已不再内置 drawing renderer,也不再直接依赖 @excalidraw/excalidraw、mermaid、plantuml-encoder、@panzoom/panzoom 或 roughjs。import { createFileViewerCore, createFileViewerRendererRegistry } from '@file-viewer/core';
import { drawingRenderer } from '@file-viewer/renderer-drawing';
const registry = createFileViewerRendererRegistry({
renderers: [drawingRenderer],
});
const viewer = createFileViewerCore({
target: document.querySelector('#viewer')!,
rendererRegistry: registry,
});
完整按需加载方案见 官方文档。