Skip to content

Commit dfbc959

Browse files
committed
fix: only push readme to remote
1 parent 927c7f5 commit dfbc959

File tree

1 file changed

+7
-37
lines changed

1 file changed

+7
-37
lines changed

scripts/liblab-docs.ts

+7-37
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,22 @@
44
import fs from 'node:fs/promises';
55
import path from 'node:path';
66

7-
// @ts-ignore
8-
import { exists, getDirs } from '@magicbell/codegen/fs';
97
// @ts-ignore
108
import * as md from '@magicbell/codegen/markdown';
119
import glob from 'glob';
12-
13-
function pascalToHyphenCase(str: string): string {
14-
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
15-
}
16-
17-
function rewriteHref(url: string) {
18-
if (!url.endsWith('.md')) return url;
19-
return url.replace(/^documentation\//, '').replace(/([^/]+)\.md$/, (_, fileName) => pascalToHyphenCase(fileName));
20-
}
10+
import urlJoin from 'url-join';
2111

2212
const root = process.cwd();
2313
const outdir = path.join(root, 'docs-dist');
2414
await fs.rm(outdir, { recursive: true, force: true });
2515

2616
const pkg = JSON.parse(await fs.readFile('package.json', 'utf-8'));
17+
const repoUrl = urlJoin(pkg.repository.url.replace(/\.git$/, ''), 'blob/main/', pkg.repository.directory || '');
18+
19+
function rewriteHref(url: string) {
20+
if (url.startsWith('http://') || url.startsWith('https://')) return url;
21+
return urlJoin(repoUrl, url);
22+
}
2723

2824
// process readme
2925
const [readme] = glob.sync('README.md', { cwd: root });
@@ -34,29 +30,3 @@ md.mapLinks(readmeAst, rewriteHref);
3430
md.insertFrontMatter(readmeAst, { title: pkg.name });
3531

3632
await md.write(readmeAst, path.join(outdir, 'index.mdx'));
37-
38-
// process pages
39-
const docs = glob.sync('**/*.md', {
40-
cwd: path.join(root, 'documentation'),
41-
});
42-
43-
for (const file of docs) {
44-
const ast = await md.read(path.join(root, 'documentation', file));
45-
46-
md.reIndentHeadings(ast, 1);
47-
md.mapLinks(ast, rewriteHref);
48-
49-
const title = md.getTitle(ast);
50-
md.insertFrontMatter(ast, { title });
51-
md.removeFirstHeading(ast);
52-
53-
await md.write(ast, path.join(outdir, pascalToHyphenCase(file) + 'x'));
54-
}
55-
56-
for (const dir of getDirs(docs)) {
57-
const file = path.join(outdir, dir, 'index.mdx');
58-
if (await exists(file)) continue;
59-
const ast: md.Root = { type: 'root', children: [] };
60-
md.insertFrontMatter(ast, { title: path.basename(dir) });
61-
await md.write(ast, file);
62-
}

0 commit comments

Comments
 (0)