@life-and-dev/mdsite 0.5.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -37
- package/dist/commands/clean.d.ts +1 -0
- package/dist/commands/clean.js +70 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/commands.test.js +157 -75
- package/dist/commands/commands.test.js.map +1 -1
- package/dist/commands/generate.js +5 -4
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.js +5 -64
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/prepare.js +2 -14
- package/dist/commands/prepare.js.map +1 -1
- package/dist/commands/prepare.test.js +26 -24
- package/dist/commands/prepare.test.js.map +1 -1
- package/dist/commands/preview.js +21 -21
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/start.js +13 -11
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.js +7 -4
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/workflows.test.js +42 -56
- package/dist/commands/workflows.test.js.map +1 -1
- package/dist/config/default-mdsite-config.js +7 -8
- package/dist/config/default-mdsite-config.js.map +1 -1
- package/dist/config/default-mdsite-config.test.js +7 -8
- package/dist/config/default-mdsite-config.test.js.map +1 -1
- package/dist/config/mdsite-config.d.ts +46 -10
- package/dist/config/mdsite-config.js +46 -24
- package/dist/config/mdsite-config.js.map +1 -1
- package/dist/config/mdsite-config.test.js +55 -50
- package/dist/config/mdsite-config.test.js.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +13 -0
- package/dist/index.test.js.map +1 -1
- package/dist/process/child-process.d.ts +4 -0
- package/dist/process/child-process.js +33 -1
- package/dist/process/child-process.js.map +1 -1
- package/dist/process/child-process.test.js +41 -5
- package/dist/process/child-process.test.js.map +1 -1
- package/dist/process/runtime-state.d.ts +13 -5
- package/dist/process/runtime-state.js +25 -13
- package/dist/process/runtime-state.js.map +1 -1
- package/dist/process/runtime-state.test.js +10 -10
- package/dist/process/runtime-state.test.js.map +1 -1
- package/dist/renderer/mdsite-nuxt.d.ts +28 -3
- package/dist/renderer/mdsite-nuxt.js +32 -27
- package/dist/renderer/mdsite-nuxt.js.map +1 -1
- package/dist/renderer/mdsite-nuxt.test.js +40 -39
- package/dist/renderer/mdsite-nuxt.test.js.map +1 -1
- package/mdsite-nuxt/app/components/AppFooter.vue +84 -22
- package/mdsite-nuxt/app/composables/useFooter.test.ts +54 -0
- package/mdsite-nuxt/app/composables/useFooter.ts +48 -31
- package/mdsite-nuxt/app/composables/useSiteConfig.test.ts +13 -87
- package/mdsite-nuxt/app/composables/useSiteConfig.ts +7 -26
- package/mdsite-nuxt/app/composables/useSourceEdit.test.ts +103 -0
- package/mdsite-nuxt/app/composables/useSourceEdit.ts +39 -51
- package/mdsite-nuxt/app/layouts/default.vue +10 -3
- package/mdsite-nuxt/nuxt.config.ts +22 -15
- package/mdsite-nuxt/scripts/generate-favicons.test.ts +3 -3
- package/mdsite-nuxt/scripts/generate-favicons.ts +4 -4
- package/mdsite-nuxt/scripts/generate-indices.test.ts +71 -10
- package/mdsite-nuxt/scripts/generate-indices.ts +161 -27
- package/mdsite-nuxt/scripts/renderer-hooks.test.ts +0 -91
- package/mdsite-nuxt/scripts/renderer-hooks.ts +1 -50
- package/mdsite-nuxt/scripts/start.test.ts +0 -1
- package/mdsite-nuxt/scripts/start.ts +0 -1
- package/mdsite-nuxt/utils/mdsite-config.ts +86 -41
- package/package.json +1 -1
- package/mdsite-nuxt/example.config.yml +0 -67
|
@@ -3,6 +3,28 @@ import path from 'node:path';
|
|
|
3
3
|
import YAML from 'yaml';
|
|
4
4
|
import { createDefaultMdsiteConfig } from './default-mdsite-config.js';
|
|
5
5
|
import { deriveSiteNameFromIndex, generateMenuFromMarkdownFiles } from './menu.js';
|
|
6
|
+
/**
|
|
7
|
+
* Runtime type-guard for entries inside the `footer:` YAML list. Accepts:
|
|
8
|
+
* - non-empty strings (file names / external URLs)
|
|
9
|
+
* - `null` (separator)
|
|
10
|
+
* - single-key objects whose value is a string or `null`
|
|
11
|
+
* Drops anything else silently to stay backwards-compatible with malformed
|
|
12
|
+
* user input; the renderer mirrors this filter.
|
|
13
|
+
*/
|
|
14
|
+
function isValidFooterItem(item) {
|
|
15
|
+
if (item === null)
|
|
16
|
+
return true;
|
|
17
|
+
if (typeof item === 'string')
|
|
18
|
+
return item.trim().length > 0;
|
|
19
|
+
if (typeof item === 'object') {
|
|
20
|
+
const keys = Object.keys(item);
|
|
21
|
+
if (keys.length !== 1)
|
|
22
|
+
return false;
|
|
23
|
+
const value = item[keys[0]];
|
|
24
|
+
return value === null || typeof value === 'string';
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
6
28
|
const configFileName = 'mdsite.yml';
|
|
7
29
|
export async function loadMdsiteConfig(configDir) {
|
|
8
30
|
const configPath = path.join(configDir, configFileName);
|
|
@@ -32,26 +54,26 @@ export function serializeMdsiteConfig(config) {
|
|
|
32
54
|
}
|
|
33
55
|
async function normalizeMdsiteConfig(rawConfig, contentDir) {
|
|
34
56
|
const fallbackConfig = await buildDefaultMdsiteConfig(contentDir);
|
|
35
|
-
const
|
|
57
|
+
const inputPath = resolveInputConfigPath(rawConfig.paths?.input);
|
|
36
58
|
return {
|
|
37
|
-
favicon: typeof rawConfig.favicon === 'string' ? rawConfig.favicon : fallbackConfig.favicon,
|
|
38
59
|
features: {
|
|
39
|
-
bibleTooltips: rawConfig.features?.
|
|
40
|
-
sourceEdit: rawConfig.features?.
|
|
60
|
+
bibleTooltips: rawConfig.features?.['bible-tooltips'] ?? fallbackConfig.features.bibleTooltips,
|
|
61
|
+
sourceEdit: typeof rawConfig.features?.['source-edit'] === 'string'
|
|
62
|
+
? rawConfig.features['source-edit']
|
|
63
|
+
: fallbackConfig.features.sourceEdit,
|
|
64
|
+
footer: Array.isArray(rawConfig.features?.footer)
|
|
65
|
+
? rawConfig.features.footer.filter(isValidFooterItem)
|
|
66
|
+
: fallbackConfig.features.footer
|
|
41
67
|
},
|
|
42
|
-
content: contentPath ? { path: contentPath } : fallbackConfig.content,
|
|
43
68
|
menu: Array.isArray(rawConfig.menu) ? rawConfig.menu : fallbackConfig.menu,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
repo: typeof rawConfig.server?.repo === 'string' ? rawConfig.server.repo : fallbackConfig.server.repo,
|
|
49
|
-
gitBranch: typeof rawConfig.server?.['git-branch'] === 'string' && rawConfig.server['git-branch'].trim()
|
|
50
|
-
? rawConfig.server['git-branch']
|
|
51
|
-
: fallbackConfig.server.gitBranch
|
|
69
|
+
paths: {
|
|
70
|
+
input: inputPath ?? fallbackConfig.paths.input,
|
|
71
|
+
build: typeof rawConfig.paths?.build === 'string' ? rawConfig.paths.build : fallbackConfig.paths.build,
|
|
72
|
+
output: typeof rawConfig.paths?.output === 'string' ? rawConfig.paths.output : fallbackConfig.paths.output
|
|
52
73
|
},
|
|
53
74
|
site: {
|
|
54
75
|
canonical: typeof rawConfig.site?.canonical === 'string' ? rawConfig.site.canonical : fallbackConfig.site.canonical,
|
|
76
|
+
favicon: typeof rawConfig.site?.favicon === 'string' ? rawConfig.site.favicon : fallbackConfig.site.favicon,
|
|
55
77
|
name: typeof rawConfig.site?.name === 'string' && rawConfig.site.name.trim() ? rawConfig.site.name : fallbackConfig.site.name
|
|
56
78
|
},
|
|
57
79
|
themes: {
|
|
@@ -71,25 +93,25 @@ async function normalizeMdsiteConfig(rawConfig, contentDir) {
|
|
|
71
93
|
};
|
|
72
94
|
}
|
|
73
95
|
export function resolveContentOutputPath(contentDir, config) {
|
|
74
|
-
return path.resolve(contentDir, config.
|
|
96
|
+
return path.resolve(contentDir, config.paths.output, 'public');
|
|
75
97
|
}
|
|
76
98
|
/**
|
|
77
|
-
* Extract the content path from either
|
|
78
|
-
* (`
|
|
79
|
-
*
|
|
99
|
+
* Extract the content path from `paths.input`. Accepts either a shorthand
|
|
100
|
+
* string form (`paths: { input: docs }`) or a nested object form. Returns
|
|
101
|
+
* undefined when no usable path is configured.
|
|
80
102
|
*/
|
|
81
|
-
function
|
|
82
|
-
if (typeof
|
|
83
|
-
const trimmed =
|
|
103
|
+
function resolveInputConfigPath(rawInput) {
|
|
104
|
+
if (typeof rawInput === 'string') {
|
|
105
|
+
const trimmed = rawInput.trim();
|
|
84
106
|
return trimmed.length > 0 ? trimmed : undefined;
|
|
85
107
|
}
|
|
86
|
-
if (
|
|
87
|
-
return
|
|
108
|
+
if (rawInput && typeof rawInput === 'object' && typeof rawInput.path === 'string') {
|
|
109
|
+
return rawInput.path;
|
|
88
110
|
}
|
|
89
111
|
return undefined;
|
|
90
112
|
}
|
|
91
113
|
export function resolveConfiguredContentDir(configDir, rawConfig) {
|
|
92
|
-
const
|
|
93
|
-
return
|
|
114
|
+
const inputPath = resolveInputConfigPath(rawConfig.paths?.input);
|
|
115
|
+
return inputPath ? path.resolve(configDir, inputPath) : configDir;
|
|
94
116
|
}
|
|
95
117
|
//# sourceMappingURL=mdsite-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdsite-config.js","sourceRoot":"","sources":["../../src/config/mdsite-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"mdsite-config.js","sourceRoot":"","sources":["../../src/config/mdsite-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AAgBlF;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,IAAa;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAA;QACzD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QACnC,MAAM,KAAK,GAAI,IAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;IACpD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAkED,MAAM,cAAc,GAAG,YAAY,CAAA;AAEnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAEvD,IAAI,OAAe,CAAA;IACnB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,WAAW,cAAc,OAAO,SAAS,8BAA8B,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACxC,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAEjE,OAAO;QACL,MAAM,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC;QACvD,SAAS;QACT,UAAU;QACV,UAAU;KACX,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IAC/D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC,UAAU,CAAC,CAAA;IAC5D,OAAO,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,SAA8B,EAAE,UAAkB;IACrF,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAEhE,OAAO;QACL,QAAQ,EAAE;YACR,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa;YAC9F,UAAU,EAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,QAAQ;gBACjE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACnC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU;YACtC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAC/C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACrD,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM;SACnC;QACD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI;QAC1E,KAAK,EAAE;YACL,KAAK,EAAE,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK;YAC9C,KAAK,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK;YACtG,MAAM,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM;SAC3G;QACD,IAAI,EAAE;YACJ,SAAS,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS;YACnH,OAAO,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO;YAC3G,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;SAC9H;QACD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;oBACrC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;iBAC3C;aACF;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE;oBACN,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;oBACpC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;iBAC1C;aACF;SACF;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB,EAAE,MAAoB;IAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,QAAiB;IAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC/B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAQ,QAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1G,OAAQ,QAA6B,CAAC,IAAI,CAAA;IAC5C,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,SAAiB,EAAE,SAA8B;IAC3F,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAChE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACnE,CAAC"}
|
|
@@ -20,7 +20,7 @@ describe('mdsite config helpers', () => {
|
|
|
20
20
|
const config = await buildDefaultMdsiteConfig(contentDir);
|
|
21
21
|
expect(config.site.name).toBe('My Docs');
|
|
22
22
|
expect(config.menu).toEqual(['guide']);
|
|
23
|
-
expect(config.
|
|
23
|
+
expect(config.paths.output).toBe('.output');
|
|
24
24
|
});
|
|
25
25
|
it('serializeMdsiteConfig returns yaml text with the configured values', async () => {
|
|
26
26
|
const contentDir = await makeTempDir();
|
|
@@ -39,15 +39,15 @@ describe('mdsite config helpers', () => {
|
|
|
39
39
|
await writeFile(path.join(contentDir, 'index.md'), '# Derived Name', 'utf8');
|
|
40
40
|
await writeFile(path.join(contentDir, 'guide.md'), '# Guide', 'utf8');
|
|
41
41
|
await writeFile(path.join(contentDir, 'mdsite.yml'), [
|
|
42
|
-
'favicon: assets/favicon.svg',
|
|
43
42
|
'features:',
|
|
44
|
-
'
|
|
43
|
+
' bible-tooltips: false',
|
|
45
44
|
'menu:',
|
|
46
45
|
' - custom/page',
|
|
47
|
-
'
|
|
46
|
+
'paths:',
|
|
48
47
|
' output: dist/public',
|
|
49
|
-
'
|
|
48
|
+
' build: .renderer',
|
|
50
49
|
'site:',
|
|
50
|
+
' favicon: assets/favicon.svg',
|
|
51
51
|
' canonical: https://example.test',
|
|
52
52
|
' name: " "',
|
|
53
53
|
'themes:',
|
|
@@ -62,21 +62,22 @@ describe('mdsite config helpers', () => {
|
|
|
62
62
|
const loaded = await loadMdsiteConfig(contentDir);
|
|
63
63
|
expect(loaded.configPath).toBe(path.join(contentDir, 'mdsite.yml'));
|
|
64
64
|
expect(loaded.contentDir).toBe(contentDir);
|
|
65
|
-
expect(loaded.config.favicon).toBe('assets/favicon.svg');
|
|
65
|
+
expect(loaded.config.site.favicon).toBe('assets/favicon.svg');
|
|
66
66
|
expect(loaded.config.features).toEqual({
|
|
67
67
|
bibleTooltips: false,
|
|
68
|
-
sourceEdit:
|
|
68
|
+
sourceEdit: '',
|
|
69
|
+
footer: []
|
|
69
70
|
});
|
|
70
71
|
expect(loaded.config.menu).toEqual(['custom/page']);
|
|
71
|
-
expect(loaded.config.footer).toEqual([]);
|
|
72
|
-
expect(loaded.config.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
gitBranch: 'main'
|
|
72
|
+
expect(loaded.config.features.footer).toEqual([]);
|
|
73
|
+
expect(loaded.config.paths).toEqual({
|
|
74
|
+
input: '',
|
|
75
|
+
build: '.renderer',
|
|
76
|
+
output: 'dist/public'
|
|
77
77
|
});
|
|
78
78
|
expect(loaded.config.site).toEqual({
|
|
79
79
|
canonical: 'https://example.test',
|
|
80
|
+
favicon: 'assets/favicon.svg',
|
|
80
81
|
name: 'Derived Name'
|
|
81
82
|
});
|
|
82
83
|
expect(loaded.config.themes.light.colors.primary).toBe('#123456');
|
|
@@ -84,27 +85,51 @@ describe('mdsite config helpers', () => {
|
|
|
84
85
|
expect(loaded.config.themes.dark.colors.outline).toBe('#abcdef');
|
|
85
86
|
expect(loaded.config.themes.dark.colors.primary).toBe('#58a6ff');
|
|
86
87
|
});
|
|
87
|
-
it('loadMdsiteConfig reads footer: as a flat string array', async () => {
|
|
88
|
+
it('loadMdsiteConfig reads features.footer: as a flat string array', async () => {
|
|
88
89
|
const contentDir = await makeTempDir();
|
|
89
90
|
await writeFile(path.join(contentDir, 'index.md'), '# Home', 'utf8');
|
|
90
91
|
await writeFile(path.join(contentDir, 'about.md'), '# About', 'utf8');
|
|
91
92
|
await writeFile(path.join(contentDir, 'contacts.md'), '# Contacts', 'utf8');
|
|
92
93
|
await writeFile(path.join(contentDir, 'mdsite.yml'), [
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
'
|
|
96
|
-
'
|
|
94
|
+
'features:',
|
|
95
|
+
' footer:',
|
|
96
|
+
' - about',
|
|
97
|
+
' - contacts',
|
|
98
|
+
' - not-a-string: 1',
|
|
99
|
+
''
|
|
100
|
+
].join('\n'), 'utf8');
|
|
101
|
+
const loaded = await loadMdsiteConfig(contentDir);
|
|
102
|
+
expect(loaded.config.features.footer).toEqual(['about', 'contacts']);
|
|
103
|
+
});
|
|
104
|
+
it('loadMdsiteConfig accepts menu-shaped footer entries (custom labels, external URLs, separators)', async () => {
|
|
105
|
+
const contentDir = await makeTempDir();
|
|
106
|
+
await writeFile(path.join(contentDir, 'about.md'), '# About', 'utf8');
|
|
107
|
+
await writeFile(path.join(contentDir, 'mdsite.yml'), [
|
|
108
|
+
'features:',
|
|
109
|
+
' footer:',
|
|
110
|
+
' - about',
|
|
111
|
+
' - "About Page": about',
|
|
112
|
+
' - "GitHub Repo": https://github.com/life-and-dev/mdsite',
|
|
113
|
+
' - null',
|
|
114
|
+
' - "Multi":',
|
|
115
|
+
' - nested: not allowed',
|
|
116
|
+
' - { too: many, keys: true }',
|
|
97
117
|
''
|
|
98
118
|
].join('\n'), 'utf8');
|
|
99
119
|
const loaded = await loadMdsiteConfig(contentDir);
|
|
100
|
-
expect(loaded.config.footer).toEqual([
|
|
120
|
+
expect(loaded.config.features.footer).toEqual([
|
|
121
|
+
'about',
|
|
122
|
+
{ 'About Page': 'about' },
|
|
123
|
+
{ 'GitHub Repo': 'https://github.com/life-and-dev/mdsite' },
|
|
124
|
+
null,
|
|
125
|
+
]);
|
|
101
126
|
});
|
|
102
|
-
it('loadMdsiteConfig resolves
|
|
127
|
+
it('loadMdsiteConfig resolves paths.input relative to the config directory', async () => {
|
|
103
128
|
const configDir = await makeTempDir();
|
|
104
129
|
const contentDir = path.join(configDir, 'docs');
|
|
105
130
|
await writeFile(path.join(configDir, 'mdsite.yml'), [
|
|
106
|
-
'
|
|
107
|
-
'
|
|
131
|
+
'paths:',
|
|
132
|
+
' input: docs',
|
|
108
133
|
'site:',
|
|
109
134
|
' name: Root Config Docs',
|
|
110
135
|
''
|
|
@@ -115,13 +140,14 @@ describe('mdsite config helpers', () => {
|
|
|
115
140
|
expect(loaded.configDir).toBe(configDir);
|
|
116
141
|
expect(loaded.configPath).toBe(path.join(configDir, 'mdsite.yml'));
|
|
117
142
|
expect(loaded.contentDir).toBe(contentDir);
|
|
118
|
-
expect(loaded.config.
|
|
143
|
+
expect(loaded.config.paths.input).toBe('docs');
|
|
119
144
|
});
|
|
120
|
-
it('loadMdsiteConfig resolves the
|
|
145
|
+
it('loadMdsiteConfig resolves the paths.input string shorthand relative to the config directory', async () => {
|
|
121
146
|
const configDir = await makeTempDir();
|
|
122
147
|
const contentDir = path.join(configDir, 'content');
|
|
123
148
|
await writeFile(path.join(configDir, 'mdsite.yml'), [
|
|
124
|
-
'
|
|
149
|
+
'paths:',
|
|
150
|
+
' input: content',
|
|
125
151
|
'site:',
|
|
126
152
|
' name: Shorthand Content',
|
|
127
153
|
''
|
|
@@ -130,38 +156,17 @@ describe('mdsite config helpers', () => {
|
|
|
130
156
|
await writeFile(path.join(contentDir, 'index.md'), '# Shorthand Index', 'utf8');
|
|
131
157
|
const loaded = await loadMdsiteConfig(configDir);
|
|
132
158
|
expect(loaded.contentDir).toBe(contentDir);
|
|
133
|
-
expect(loaded.config.
|
|
159
|
+
expect(loaded.config.paths.input).toBe('content');
|
|
134
160
|
});
|
|
135
161
|
it('resolveContentOutputPath resolves the configured output relative to the content directory', () => {
|
|
136
162
|
const contentDir = '/tmp/example';
|
|
137
163
|
expect(resolveContentOutputPath(contentDir, {
|
|
138
|
-
|
|
139
|
-
features: { bibleTooltips: true, sourceEdit: true },
|
|
164
|
+
features: { bibleTooltips: true, sourceEdit: '', footer: [] },
|
|
140
165
|
menu: [],
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
site: { canonical: '', name: 'Docs' },
|
|
166
|
+
paths: { input: '', build: '.mdsite', output: 'public/site' },
|
|
167
|
+
site: { canonical: '', favicon: '', name: 'Docs' },
|
|
144
168
|
themes: { light: { colors: {} }, dark: { colors: {} } }
|
|
145
169
|
})).toBe(path.resolve(contentDir, 'public', 'site', 'public'));
|
|
146
170
|
});
|
|
147
|
-
it('loadMdsiteConfig reads server.git-branch and defaults to "main" when missing or blank', async () => {
|
|
148
|
-
const contentDir = await makeTempDir();
|
|
149
|
-
await writeFile(path.join(contentDir, 'index.md'), '# Home', 'utf8');
|
|
150
|
-
const writeConfig = (branch) => writeFile(path.join(contentDir, 'mdsite.yml'), branch === undefined
|
|
151
|
-
? 'site:\n name: Home\n'
|
|
152
|
-
: `site:\n name: Home\nserver:\n git-branch: ${branch}\n`, 'utf8');
|
|
153
|
-
// Missing -> default 'main'
|
|
154
|
-
await writeConfig();
|
|
155
|
-
const defaulted = await loadMdsiteConfig(contentDir);
|
|
156
|
-
expect(defaulted.config.server.gitBranch).toBe('main');
|
|
157
|
-
// Explicit value -> preserved
|
|
158
|
-
await writeConfig('develop');
|
|
159
|
-
const customized = await loadMdsiteConfig(contentDir);
|
|
160
|
-
expect(customized.config.server.gitBranch).toBe('develop');
|
|
161
|
-
// Blank string -> default 'main'
|
|
162
|
-
await writeConfig(' ');
|
|
163
|
-
const blanked = await loadMdsiteConfig(contentDir);
|
|
164
|
-
expect(blanked.config.server.gitBranch).toBe('main');
|
|
165
|
-
});
|
|
166
171
|
});
|
|
167
172
|
//# sourceMappingURL=mdsite-config.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdsite-config.test.js","sourceRoot":"","sources":["../../src/config/mdsite-config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,QAAQ,GAAa,EAAE,CAAA;AAE7B,KAAK,UAAU,WAAW;IACxB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/F,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,UAAU,GAAG,MAAM,WAAW,EAAE,CAAA;QACtC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QACvE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAErE,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAA;QAEzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"mdsite-config.test.js","sourceRoot":"","sources":["../../src/config/mdsite-config.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import process from 'node:process';
|
|
4
|
+
import { runCleanCommand } from './commands/clean.js';
|
|
4
5
|
import { runGenerateCommand } from './commands/generate.js';
|
|
5
6
|
import { runInitCommand } from './commands/init.js';
|
|
6
7
|
import { runPrepareGithubCommand } from './commands/prepare.js';
|
|
@@ -16,17 +17,19 @@ Usage:
|
|
|
16
17
|
mdsite generate
|
|
17
18
|
mdsite static|static [-d|--detached] [--host [addr]]
|
|
18
19
|
mdsite stop
|
|
20
|
+
mdsite clean
|
|
19
21
|
mdsite version
|
|
20
22
|
mdsite prepare github
|
|
21
23
|
|
|
22
24
|
Commands:
|
|
23
25
|
init Ensure mdsite files exist in the current directory (idempotent; creates missing files, never overwrites)
|
|
24
|
-
|
|
26
|
+
live Start the checked-in mdsite-nuxt renderer for local content (alias: live)
|
|
25
27
|
generate Build static output through mdsite-nuxt
|
|
26
|
-
|
|
28
|
+
static Preview the generated site through mdsite-nuxt (alias: static)
|
|
27
29
|
stop Stop tracked start and preview processes
|
|
28
30
|
version Print the CLI package version
|
|
29
31
|
prepare Generate the GitHub Pages workflow for this content directory
|
|
32
|
+
clean Delete the renderer working dir and the generated output (refuses while a tracked process is running)
|
|
30
33
|
|
|
31
34
|
Options:
|
|
32
35
|
-h, --help Show this help output
|
|
@@ -112,6 +115,9 @@ async function main() {
|
|
|
112
115
|
case 'stop':
|
|
113
116
|
console.log(await runStopCommand(currentDirectory));
|
|
114
117
|
return;
|
|
118
|
+
case 'clean':
|
|
119
|
+
console.log(await runCleanCommand(currentDirectory));
|
|
120
|
+
return;
|
|
115
121
|
case 'version':
|
|
116
122
|
case '--version':
|
|
117
123
|
case '-v':
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.test.js
CHANGED
|
@@ -6,10 +6,13 @@ vi.mock('./commands/start.js', () => ({ runStartCommand: vi.fn() }));
|
|
|
6
6
|
vi.mock('./commands/generate.js', () => ({ runGenerateCommand: vi.fn() }));
|
|
7
7
|
vi.mock('./commands/preview.js', () => ({ runPreviewCommand: vi.fn() }));
|
|
8
8
|
vi.mock('./commands/stop.js', () => ({ runStopCommand: vi.fn() }));
|
|
9
|
+
vi.mock('./commands/clean.js', () => ({ runCleanCommand: vi.fn() }));
|
|
9
10
|
vi.mock('./commands/prepare.js', () => ({ runPrepareGithubCommand: vi.fn() }));
|
|
11
|
+
import { runCleanCommand } from './commands/clean.js';
|
|
10
12
|
import { runPrepareGithubCommand } from './commands/prepare.js';
|
|
11
13
|
import { runPreviewCommand } from './commands/preview.js';
|
|
12
14
|
import { runStartCommand } from './commands/start.js';
|
|
15
|
+
const runCleanCommandMock = vi.mocked(runCleanCommand);
|
|
13
16
|
const runPrepareGithubCommandMock = vi.mocked(runPrepareGithubCommand);
|
|
14
17
|
const runPreviewCommandMock = vi.mocked(runPreviewCommand);
|
|
15
18
|
const runStartCommandMock = vi.mocked(runStartCommand);
|
|
@@ -43,6 +46,7 @@ describe('root CLI entrypoint', () => {
|
|
|
43
46
|
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('mdsite - local-first CLI for mdsite-nuxt'));
|
|
44
47
|
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('prepare github'));
|
|
45
48
|
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('mdsite static|static [-d|--detached]'));
|
|
49
|
+
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('mdsite clean'));
|
|
46
50
|
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('-d, --detached'));
|
|
47
51
|
expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('--host [addr]'));
|
|
48
52
|
expect(errorSpy).not.toHaveBeenCalled();
|
|
@@ -182,6 +186,15 @@ describe('root CLI entrypoint', () => {
|
|
|
182
186
|
expect(logSpy).toHaveBeenCalledWith(await readRootPackageVersion());
|
|
183
187
|
expect(errorSpy).not.toHaveBeenCalled();
|
|
184
188
|
});
|
|
189
|
+
it('dispatches mdsite clean to the clean command handler', async () => {
|
|
190
|
+
process.argv = ['node', 'mdsite', 'clean'];
|
|
191
|
+
runCleanCommandMock.mockResolvedValueOnce('Removed .mdsite and .output from /content.');
|
|
192
|
+
await import('./index.js');
|
|
193
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
194
|
+
expect(runCleanCommandMock).toHaveBeenCalledWith(process.cwd());
|
|
195
|
+
expect(logSpy).toHaveBeenCalledWith('Removed .mdsite and .output from /content.');
|
|
196
|
+
expect(errorSpy).not.toHaveBeenCalled();
|
|
197
|
+
});
|
|
185
198
|
it('dispatches mdsite prepare github to the GitHub workflow command', async () => {
|
|
186
199
|
process.argv = ['node', 'mdsite', 'prepare', 'github'];
|
|
187
200
|
runPrepareGithubCommandMock.mockResolvedValue('Generated GitHub Pages workflow at /workspace/content/.github/workflows/deploy.yml');
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,8 @@ export declare function waitForTcpPort(host: string, port: number, options?: {
|
|
|
6
6
|
timeoutMs?: number;
|
|
7
7
|
connectTimeoutMs?: number;
|
|
8
8
|
}): Promise<boolean>;
|
|
9
|
+
export declare function waitForRendererPort(logPath: string, fallbackPort: number, options?: {
|
|
10
|
+
retryIntervalMs?: number;
|
|
11
|
+
timeoutMs?: number;
|
|
12
|
+
}): Promise<number>;
|
|
9
13
|
export declare function stopProcess(pid: number): Promise<boolean>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdir, open } from 'node:fs/promises';
|
|
1
|
+
import { mkdir, open, readFile } from 'node:fs/promises';
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
3
|
import net from 'node:net';
|
|
4
4
|
import path from 'node:path';
|
|
@@ -73,6 +73,38 @@ export async function waitForTcpPort(host, port, options = {}) {
|
|
|
73
73
|
}
|
|
74
74
|
return false;
|
|
75
75
|
}
|
|
76
|
+
// Matches Nuxt dev ("Local: http://host:port/") and Nitro preview
|
|
77
|
+
// ("Listening on http://[::]:port") URLs so the CLI can follow the
|
|
78
|
+
// fallback port Nuxt picks when the requested one is occupied.
|
|
79
|
+
// The host portion is non-greedy and tolerates both bare hostnames
|
|
80
|
+
// and IPv6 brackets (which contain ":"), and the trailing lookahead
|
|
81
|
+
// stops the host group from swallowing the port digits.
|
|
82
|
+
const LISTENING_URL_PATTERN = /(?:Local|Listening on)[\s:]*https?:\/\/(?:[^\s]+?):(\d+)(?=\D|$)/i;
|
|
83
|
+
export async function waitForRendererPort(logPath, fallbackPort, options = {}) {
|
|
84
|
+
const retryIntervalMs = options.retryIntervalMs ?? 100;
|
|
85
|
+
const timeoutMs = options.timeoutMs ?? 5_000;
|
|
86
|
+
const deadline = Date.now() + timeoutMs;
|
|
87
|
+
while (Date.now() < deadline) {
|
|
88
|
+
try {
|
|
89
|
+
const content = await readFile(logPath, 'utf8');
|
|
90
|
+
const match = content.match(LISTENING_URL_PATTERN);
|
|
91
|
+
if (match) {
|
|
92
|
+
const detected = Number.parseInt(match[1], 10);
|
|
93
|
+
if (Number.isFinite(detected)) {
|
|
94
|
+
return detected;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Log file may not exist yet; keep polling until the deadline.
|
|
100
|
+
}
|
|
101
|
+
if (Date.now() >= deadline) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
await new Promise((resolve) => setTimeout(resolve, retryIntervalMs));
|
|
105
|
+
}
|
|
106
|
+
return fallbackPort;
|
|
107
|
+
}
|
|
76
108
|
export async function stopProcess(pid) {
|
|
77
109
|
if (!isRunning(pid)) {
|
|
78
110
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-process.js","sourceRoot":"","sources":["../../src/process/child-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"child-process.js","sourceRoot":"","sources":["../../src/process/child-process.ts"],"names":[],"mappings":"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"}
|