MCPcopy Index your code
hub / github.com/markmap/markmap / createMarkmap

Function createMarkmap

packages/markmap-cli/src/index.ts:68–107  ·  view source on GitHub ↗
(
  options: IMarkmapCreateOptions & IDevelopOptions & { open: boolean },
)

Source from the content-addressed store, hash-verified

66}
67
68export async function createMarkmap(
69 options: IMarkmapCreateOptions & IDevelopOptions & { open: boolean },
70): Promise<void> {
71 const transformer = new Transformer();
72 if (options.offline) {
73 transformer.urlBuilder.setProvider('local', localProvider);
74 transformer.urlBuilder.provider = 'local';
75 } else {
76 try {
77 await transformer.urlBuilder.findFastestProvider();
78 } catch {
79 // ignore
80 }
81 }
82 const { root, features, frontmatter } = transformer.transform(
83 options.content || '',
84 );
85 const otherAssets = mergeAssets(
86 {
87 scripts: baseJsPaths.map(buildJSItem),
88 },
89 options.toolbar ? toolbarAssets : null,
90 );
91 let assets = mergeAssets(
92 {
93 scripts: otherAssets.scripts?.map((item) => transformer.resolveJS(item)),
94 styles: otherAssets.styles?.map((item) => transformer.resolveCSS(item)),
95 },
96 transformer.getUsedAssets(features),
97 );
98 if (options.offline) assets = await inlineAssets(assets);
99 const html = fillTemplate(root, assets, {
100 baseJs: [],
101 jsonOptions: (frontmatter as any)?.markmap,
102 urlBuilder: transformer.urlBuilder,
103 });
104 const output = options.output || 'markmap.html';
105 await writeFile(output, html, 'utf8');
106 if (options.open) open(output);
107}

Callers 1

mainFunction · 0.85

Calls 7

transformMethod · 0.95
resolveJSMethod · 0.95
resolveCSSMethod · 0.95
getUsedAssetsMethod · 0.95
mergeAssetsFunction · 0.90
fillTemplateFunction · 0.90
inlineAssetsFunction · 0.85

Tested by

no test coverage detected