@mdfriday/foundry 25.9.5 → 25.9.7
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/dist/internal/domain/config/vo/root.d.ts.map +1 -1
- package/dist/internal/domain/config/vo/root.js +2 -1
- package/dist/internal/domain/config/vo/root.js.map +1 -1
- package/dist/internal/domain/content/entity/page.d.ts +1 -0
- package/dist/internal/domain/content/entity/page.d.ts.map +1 -1
- package/dist/internal/domain/content/entity/page.js +22 -1
- package/dist/internal/domain/content/entity/page.js.map +1 -1
- package/dist/internal/domain/content/entity/paginator.d.ts.map +1 -1
- package/dist/internal/domain/content/entity/paginator.js +2 -0
- package/dist/internal/domain/content/entity/paginator.js.map +1 -1
- package/dist/internal/domain/content/entity/section.js +5 -5
- package/dist/internal/domain/content/entity/section.js.map +1 -1
- package/dist/internal/domain/markdown/entity/markdown.d.ts.map +1 -1
- package/dist/internal/domain/markdown/entity/markdown.js +5 -4
- package/dist/internal/domain/markdown/entity/markdown.js.map +1 -1
- package/dist/internal/domain/markdown/vo/content.d.ts +3 -6
- package/dist/internal/domain/markdown/vo/content.d.ts.map +1 -1
- package/dist/internal/domain/markdown/vo/content.js +32 -31
- package/dist/internal/domain/markdown/vo/content.js.map +1 -1
- package/dist/internal/domain/site/entity/language.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/language.js +2 -0
- package/dist/internal/domain/site/entity/language.js.map +1 -1
- package/dist/internal/domain/site/entity/menu-builder.d.ts +4 -0
- package/dist/internal/domain/site/entity/menu-builder.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/menu-builder.js +82 -12
- package/dist/internal/domain/site/entity/menu-builder.js.map +1 -1
- package/dist/internal/domain/site/entity/page.d.ts +4 -2
- package/dist/internal/domain/site/entity/page.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/page.js +12 -6
- package/dist/internal/domain/site/entity/page.js.map +1 -1
- package/dist/internal/domain/site/entity/pager.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/pager.js +2 -0
- package/dist/internal/domain/site/entity/pager.js.map +1 -1
- package/dist/internal/domain/site/entity/url.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/url.js +3 -1
- package/dist/internal/domain/site/entity/url.js.map +1 -1
- package/dist/internal/domain/site/valueobject/author.d.ts +12 -0
- package/dist/internal/domain/site/valueobject/author.d.ts.map +1 -1
- package/dist/internal/domain/site/valueobject/author.js +22 -0
- package/dist/internal/domain/site/valueobject/author.js.map +1 -1
- package/dist/internal/domain/site/valueobject/menu.d.ts +1 -0
- package/dist/internal/domain/site/valueobject/menu.d.ts.map +1 -1
- package/dist/internal/domain/site/valueobject/menu.js +3 -0
- package/dist/internal/domain/site/valueobject/menu.js.map +1 -1
- package/dist/internal/domain/site/valueobject/organization.d.ts +3 -0
- package/dist/internal/domain/site/valueobject/organization.d.ts.map +1 -1
- package/dist/internal/domain/site/valueobject/organization.js +21 -0
- package/dist/internal/domain/site/valueobject/organization.js.map +1 -1
- package/dist/internal/domain/template/vo/namespace.d.ts.map +1 -1
- package/dist/internal/domain/template/vo/namespace.js +8 -0
- package/dist/internal/domain/template/vo/namespace.js.map +1 -1
- package/dist/internal/domain/template/vo/registry.d.ts.map +1 -1
- package/dist/internal/domain/template/vo/registry.js +44 -9
- package/dist/internal/domain/template/vo/registry.js.map +1 -1
- package/dist/pkg/log/logger.d.ts.map +1 -1
- package/dist/pkg/log/logger.js +9 -9
- package/dist/pkg/log/logger.js.map +1 -1
- package/package.json +1 -1
- package/dist/internal/application/test-incremental-ssg.d.ts +0 -9
- package/dist/internal/application/test-incremental-ssg.d.ts.map +0 -1
- package/dist/internal/application/test-incremental-ssg.js +0 -80
- package/dist/internal/application/test-incremental-ssg.js.map +0 -1
- package/dist/internal/application/test-ssg.d.ts +0 -8
- package/dist/internal/application/test-ssg.d.ts.map +0 -1
- package/dist/internal/application/test-ssg.js +0 -30
- package/dist/internal/application/test-ssg.js.map +0 -1
- package/dist/internal/domain/markdown/test/external-adapter.test.d.ts +0 -2
- package/dist/internal/domain/markdown/test/external-adapter.test.d.ts.map +0 -1
- package/dist/internal/domain/markdown/test/external-adapter.test.js +0 -150
- package/dist/internal/domain/markdown/test/external-adapter.test.js.map +0 -1
- package/dist/internal/domain/markdown/test/markdown.test.d.ts +0 -2
- package/dist/internal/domain/markdown/test/markdown.test.d.ts.map +0 -1
- package/dist/internal/domain/markdown/test/markdown.test.js +0 -88
- package/dist/internal/domain/markdown/test/markdown.test.js.map +0 -1
- package/dist/internal/domain/markdown/vo/externaladapter.d.ts +0 -63
- package/dist/internal/domain/markdown/vo/externaladapter.d.ts.map +0 -1
- package/dist/internal/domain/markdown/vo/externaladapter.js +0 -194
- package/dist/internal/domain/markdown/vo/externaladapter.js.map +0 -1
- package/dist/internal/domain/markdown/vo/markdownit.d.ts +0 -33
- package/dist/internal/domain/markdown/vo/markdownit.d.ts.map +0 -1
- package/dist/internal/domain/markdown/vo/markdownit.js +0 -175
- package/dist/internal/domain/markdown/vo/markdownit.js.map +0 -1
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
/**
|
|
4
|
-
* Test script for SSG functionality
|
|
5
|
-
* This script demonstrates and validates the SSG domain functionality
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.runSSGValidation = main;
|
|
9
|
-
const ssg_1 = require("./ssg");
|
|
10
|
-
const log_1 = require("../../pkg/log");
|
|
11
|
-
// Initialize logging
|
|
12
|
-
const log = (0, log_1.getDomainLogger)('test', { component: 'ssg-validation' });
|
|
13
|
-
async function main() {
|
|
14
|
-
const projDir = "/Users/sunwei/github/mdfriday/foundry/ws/proj";
|
|
15
|
-
const moduleDir = "/Users/sunwei/github/mdfriday/foundry/ws/modules";
|
|
16
|
-
const startTime = performance.now();
|
|
17
|
-
await (0, ssg_1.processSSGWithProgress)(projDir, moduleDir, (progress) => {
|
|
18
|
-
log.info("Progress:", progress);
|
|
19
|
-
});
|
|
20
|
-
const endTime = performance.now();
|
|
21
|
-
log.info(`SSG processing completed in ${(endTime - startTime).toFixed(2)} ms`);
|
|
22
|
-
}
|
|
23
|
-
// Run the test suite
|
|
24
|
-
if (require.main === module) {
|
|
25
|
-
main().catch((error) => {
|
|
26
|
-
log.error(`Test suite failed: ${error}`);
|
|
27
|
-
process.exit(1);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=test-ssg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-ssg.js","sourceRoot":"","sources":["../../../internal/application/test-ssg.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;AA4Bc,gCAAgB;AA1BjC,+BAA+C;AAC/C,kCAA2C;AAE3C,qBAAqB;AACrB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAErE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,+CAA+C,CAAA;IAC/D,MAAM,SAAS,GAAG,kDAAkD,CAAA;IAEpE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IACnC,MAAM,IAAA,4BAAsB,EAAC,OAAO,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5D,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,qBAAqB;AACrB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,GAAG,CAAC,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"external-adapter.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/external-adapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const markdown_1 = require("../factory/markdown");
|
|
4
|
-
const type_1 = require("../type");
|
|
5
|
-
describe('External Adapter', () => {
|
|
6
|
-
test('should work with external processor object', async () => {
|
|
7
|
-
// Simulate an external processor (e.g., from Obsidian)
|
|
8
|
-
const externalProcessor = {
|
|
9
|
-
render: (source) => {
|
|
10
|
-
// Simple markdown to HTML conversion
|
|
11
|
-
return source
|
|
12
|
-
.replace(/^# (.+)$/gm, '<h1>$1</h1>')
|
|
13
|
-
.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
|
|
14
|
-
.replace(/\n\n/g, '</p><p>')
|
|
15
|
-
.replace(/^(.+)$/gm, '<p>$1</p>')
|
|
16
|
-
.replace(/<\/p><p><h/g, '</p><h')
|
|
17
|
-
.replace(/h1><\/p>/g, 'h1>');
|
|
18
|
-
},
|
|
19
|
-
metadata: {
|
|
20
|
-
name: 'Custom Processor',
|
|
21
|
-
version: '1.0.0',
|
|
22
|
-
features: ['basic-rendering'],
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
const markdown = (0, markdown_1.createMarkdownWithExternalProcessor)(externalProcessor);
|
|
26
|
-
const source = '# Hello World\n\nThis is **bold** text.';
|
|
27
|
-
const encoder = new TextEncoder();
|
|
28
|
-
const srcBytes = encoder.encode(source);
|
|
29
|
-
const rctx = {
|
|
30
|
-
ctx: {},
|
|
31
|
-
src: srcBytes,
|
|
32
|
-
renderTOC: false,
|
|
33
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
34
|
-
};
|
|
35
|
-
const dctx = {
|
|
36
|
-
document: null,
|
|
37
|
-
documentID: 'external-test',
|
|
38
|
-
documentName: 'external-test.md',
|
|
39
|
-
filename: 'external-test.md',
|
|
40
|
-
};
|
|
41
|
-
const result = await markdown.render(rctx, dctx);
|
|
42
|
-
expect(result).toBeDefined();
|
|
43
|
-
expect(result.headers()).toHaveLength(1);
|
|
44
|
-
expect(result.headers()[0].name()).toBe('Hello World');
|
|
45
|
-
expect(result.headers()[0].level()).toBe(1);
|
|
46
|
-
const html = new TextDecoder().decode(result.bytes());
|
|
47
|
-
expect(html).toContain('<h1>Hello World</h1>');
|
|
48
|
-
expect(html).toContain('<strong>bold</strong>');
|
|
49
|
-
});
|
|
50
|
-
test('should work with simple render function', async () => {
|
|
51
|
-
// Simulate a simple render function (e.g., from a basic markdown processor)
|
|
52
|
-
const renderFunc = (source) => {
|
|
53
|
-
return source
|
|
54
|
-
.replace(/^## (.+)$/gm, '<h2>$1</h2>')
|
|
55
|
-
.replace(/\*(.+?)\*/g, '<em>$1</em>');
|
|
56
|
-
};
|
|
57
|
-
const markdown = (0, markdown_1.createMarkdownWithRenderFunction)(renderFunc);
|
|
58
|
-
const source = '## Test Header\n\nSome *italic* text.';
|
|
59
|
-
const encoder = new TextEncoder();
|
|
60
|
-
const srcBytes = encoder.encode(source);
|
|
61
|
-
const rctx = {
|
|
62
|
-
ctx: {},
|
|
63
|
-
src: srcBytes,
|
|
64
|
-
renderTOC: false,
|
|
65
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
66
|
-
};
|
|
67
|
-
const dctx = {
|
|
68
|
-
document: null,
|
|
69
|
-
documentID: 'function-test',
|
|
70
|
-
documentName: 'function-test.md',
|
|
71
|
-
filename: 'function-test.md',
|
|
72
|
-
};
|
|
73
|
-
const result = await markdown.render(rctx, dctx);
|
|
74
|
-
expect(result).toBeDefined();
|
|
75
|
-
expect(result.headers()).toHaveLength(1);
|
|
76
|
-
expect(result.headers()[0].name()).toBe('Test Header');
|
|
77
|
-
expect(result.headers()[0].level()).toBe(2);
|
|
78
|
-
});
|
|
79
|
-
test('should work with Obsidian-style processor', async () => {
|
|
80
|
-
// Simulate Obsidian's render function
|
|
81
|
-
const obsidianRenderFunc = (source) => {
|
|
82
|
-
// Simulate Obsidian's markdown processing with some custom features
|
|
83
|
-
let html = source
|
|
84
|
-
.replace(/^### (.+)$/gm, '<h3>$1</h3>')
|
|
85
|
-
.replace(/\[\[(.+?)\]\]/g, '<a href="obsidian://open?vault=MyVault&file=$1">$1</a>') // Obsidian internal links
|
|
86
|
-
.replace(/==(.+?)==/g, '<mark>$1</mark>'); // Obsidian highlighting
|
|
87
|
-
return html;
|
|
88
|
-
};
|
|
89
|
-
const markdown = (0, markdown_1.createMarkdownForObsidian)(obsidianRenderFunc, { pluginName: 'MyObsidianPlugin', version: '2.1.0' });
|
|
90
|
-
const source = '### Obsidian Test\n\n[[Some Link]] with ==highlighted== text.';
|
|
91
|
-
const encoder = new TextEncoder();
|
|
92
|
-
const srcBytes = encoder.encode(source);
|
|
93
|
-
const rctx = {
|
|
94
|
-
ctx: {},
|
|
95
|
-
src: srcBytes,
|
|
96
|
-
renderTOC: false,
|
|
97
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
98
|
-
};
|
|
99
|
-
const dctx = {
|
|
100
|
-
document: null,
|
|
101
|
-
documentID: 'obsidian-test',
|
|
102
|
-
documentName: 'obsidian-test.md',
|
|
103
|
-
filename: 'obsidian-test.md',
|
|
104
|
-
};
|
|
105
|
-
const result = await markdown.render(rctx, dctx);
|
|
106
|
-
expect(result).toBeDefined();
|
|
107
|
-
expect(result.headers()).toHaveLength(1);
|
|
108
|
-
expect(result.headers()[0].name()).toBe('Obsidian Test');
|
|
109
|
-
expect(result.headers()[0].level()).toBe(3);
|
|
110
|
-
const html = new TextDecoder().decode(result.bytes());
|
|
111
|
-
expect(html).toContain('<h3>Obsidian Test</h3>');
|
|
112
|
-
expect(html).toContain('obsidian://open?vault=MyVault&file=Some Link');
|
|
113
|
-
expect(html).toContain('<mark>highlighted</mark>');
|
|
114
|
-
});
|
|
115
|
-
test('should handle async render functions', async () => {
|
|
116
|
-
// Simulate an async render function
|
|
117
|
-
const asyncRenderFunc = async (source) => {
|
|
118
|
-
// Simulate some async processing
|
|
119
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
120
|
-
return source
|
|
121
|
-
.replace(/^#### (.+)$/gm, '<h4>$1</h4>')
|
|
122
|
-
.replace(/`(.+?)`/g, '<code>$1</code>');
|
|
123
|
-
};
|
|
124
|
-
const markdown = (0, markdown_1.createMarkdownWithRenderFunction)(asyncRenderFunc);
|
|
125
|
-
const source = '#### Async Test\n\nSome `code` here.';
|
|
126
|
-
const encoder = new TextEncoder();
|
|
127
|
-
const srcBytes = encoder.encode(source);
|
|
128
|
-
const rctx = {
|
|
129
|
-
ctx: {},
|
|
130
|
-
src: srcBytes,
|
|
131
|
-
renderTOC: false,
|
|
132
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
133
|
-
};
|
|
134
|
-
const dctx = {
|
|
135
|
-
document: null,
|
|
136
|
-
documentID: 'async-test',
|
|
137
|
-
documentName: 'async-test.md',
|
|
138
|
-
filename: 'async-test.md',
|
|
139
|
-
};
|
|
140
|
-
const result = await markdown.render(rctx, dctx);
|
|
141
|
-
expect(result).toBeDefined();
|
|
142
|
-
expect(result.headers()).toHaveLength(1);
|
|
143
|
-
expect(result.headers()[0].name()).toBe('Async Test');
|
|
144
|
-
expect(result.headers()[0].level()).toBe(4);
|
|
145
|
-
const html = new TextDecoder().decode(result.bytes());
|
|
146
|
-
expect(html).toContain('<h4>Async Test</h4>');
|
|
147
|
-
expect(html).toContain('<code>code</code>');
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
//# sourceMappingURL=external-adapter.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"external-adapter.test.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/external-adapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/markdown.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const markdown_1 = require("../factory/markdown");
|
|
7
|
-
const type_1 = require("../type");
|
|
8
|
-
const markdown_it_1 = __importDefault(require("markdown-it"));
|
|
9
|
-
describe('Markdown Domain', () => {
|
|
10
|
-
test('should create markdown instance with default configuration', async () => {
|
|
11
|
-
const markdown = (0, markdown_1.createMarkdown)();
|
|
12
|
-
const source = '# Hello World\n\nThis is a **test** markdown.';
|
|
13
|
-
const encoder = new TextEncoder();
|
|
14
|
-
const srcBytes = encoder.encode(source);
|
|
15
|
-
const rctx = {
|
|
16
|
-
ctx: {},
|
|
17
|
-
src: srcBytes,
|
|
18
|
-
renderTOC: false,
|
|
19
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
20
|
-
};
|
|
21
|
-
const dctx = {
|
|
22
|
-
document: null,
|
|
23
|
-
documentID: 'test',
|
|
24
|
-
documentName: 'test.md',
|
|
25
|
-
filename: 'test.md',
|
|
26
|
-
};
|
|
27
|
-
const result = await markdown.render(rctx, dctx);
|
|
28
|
-
expect(result).toBeDefined();
|
|
29
|
-
expect(result.bytes()).toBeInstanceOf(Uint8Array);
|
|
30
|
-
expect(result.headers()).toHaveLength(1);
|
|
31
|
-
expect(result.headers()[0].name()).toBe('Hello World');
|
|
32
|
-
expect(result.headers()[0].level()).toBe(1);
|
|
33
|
-
});
|
|
34
|
-
test('should work with external MarkdownIt instance', async () => {
|
|
35
|
-
const externalMd = new markdown_it_1.default();
|
|
36
|
-
const markdown = (0, markdown_1.createMarkdownWithExternalRenderer)(externalMd);
|
|
37
|
-
const source = '## Test Header\n\nSome content.';
|
|
38
|
-
const encoder = new TextEncoder();
|
|
39
|
-
const srcBytes = encoder.encode(source);
|
|
40
|
-
const rctx = {
|
|
41
|
-
ctx: {},
|
|
42
|
-
src: srcBytes,
|
|
43
|
-
renderTOC: false,
|
|
44
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
45
|
-
};
|
|
46
|
-
const dctx = {
|
|
47
|
-
document: null,
|
|
48
|
-
documentID: 'test2',
|
|
49
|
-
documentName: 'test2.md',
|
|
50
|
-
filename: 'test2.md',
|
|
51
|
-
};
|
|
52
|
-
const result = await markdown.render(rctx, dctx);
|
|
53
|
-
expect(result).toBeDefined();
|
|
54
|
-
expect(result.headers()).toHaveLength(1);
|
|
55
|
-
expect(result.headers()[0].name()).toBe('Test Header');
|
|
56
|
-
expect(result.headers()[0].level()).toBe(2);
|
|
57
|
-
});
|
|
58
|
-
test('should generate table of contents', async () => {
|
|
59
|
-
const markdown = (0, markdown_1.createMarkdown)();
|
|
60
|
-
const source = `# Chapter 1
|
|
61
|
-
## Section 1.1
|
|
62
|
-
### Subsection 1.1.1
|
|
63
|
-
## Section 1.2
|
|
64
|
-
# Chapter 2`;
|
|
65
|
-
const encoder = new TextEncoder();
|
|
66
|
-
const srcBytes = encoder.encode(source);
|
|
67
|
-
const rctx = {
|
|
68
|
-
ctx: {},
|
|
69
|
-
src: srcBytes,
|
|
70
|
-
renderTOC: true,
|
|
71
|
-
getRenderer: type_1.DefaultRendererFunc,
|
|
72
|
-
};
|
|
73
|
-
const dctx = {
|
|
74
|
-
document: null,
|
|
75
|
-
documentID: 'toc-test',
|
|
76
|
-
documentName: 'toc-test.md',
|
|
77
|
-
filename: 'toc-test.md',
|
|
78
|
-
};
|
|
79
|
-
const result = await markdown.render(rctx, dctx);
|
|
80
|
-
expect(result.headers()).toHaveLength(5);
|
|
81
|
-
const toc = result.tableOfContents();
|
|
82
|
-
const tocHtml = toc.toHTML(1, 6, false);
|
|
83
|
-
expect(tocHtml).toContain('<ul>');
|
|
84
|
-
expect(tocHtml).toContain('Chapter 1');
|
|
85
|
-
expect(tocHtml).toContain('Section 1.1');
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
//# sourceMappingURL=markdown.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.test.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/markdown.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import Token from 'markdown-it/lib/token';
|
|
2
|
-
import { MarkdownRenderer, ExternalMarkdownProcessor, BasicMarkdownRenderFunc, BasicMarkdownParseFunc } from '../type';
|
|
3
|
-
/**
|
|
4
|
-
* Simple token implementation for external processors that don't provide full AST
|
|
5
|
-
*/
|
|
6
|
-
export declare class SimpleToken implements Partial<Token> {
|
|
7
|
-
type: string;
|
|
8
|
-
tag: string;
|
|
9
|
-
content: string;
|
|
10
|
-
level: number;
|
|
11
|
-
map: [number, number] | null;
|
|
12
|
-
constructor(type: string, tag?: string, content?: string, level?: number, map?: [number, number] | null);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* External markdown processor adapter
|
|
16
|
-
* This allows integration with any external markdown system (e.g., Obsidian)
|
|
17
|
-
*/
|
|
18
|
-
export declare class ExternalMarkdownAdapter implements MarkdownRenderer {
|
|
19
|
-
private processor;
|
|
20
|
-
constructor(processor: ExternalMarkdownProcessor);
|
|
21
|
-
render(source: string): Promise<string>;
|
|
22
|
-
parse(source: string): Promise<Token[]>;
|
|
23
|
-
private convertASTToTokens;
|
|
24
|
-
private processASTNode;
|
|
25
|
-
private createSimpleTokens;
|
|
26
|
-
/**
|
|
27
|
-
* Get metadata about the external processor
|
|
28
|
-
*/
|
|
29
|
-
getMetadata(): {
|
|
30
|
-
name?: string;
|
|
31
|
-
version?: string;
|
|
32
|
-
features?: string[];
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Function-based adapter for simple render-only processors
|
|
37
|
-
*/
|
|
38
|
-
export declare class FunctionBasedAdapter implements MarkdownRenderer {
|
|
39
|
-
private renderFunc;
|
|
40
|
-
private parseFunc?;
|
|
41
|
-
constructor(renderFunc: BasicMarkdownRenderFunc, parseFunc?: BasicMarkdownParseFunc | undefined);
|
|
42
|
-
render(source: string): Promise<string>;
|
|
43
|
-
parse(source: string): Promise<Token[]>;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Factory functions for creating adapters
|
|
47
|
-
*/
|
|
48
|
-
/**
|
|
49
|
-
* Create adapter from external processor object
|
|
50
|
-
*/
|
|
51
|
-
export declare function createExternalAdapter(processor: ExternalMarkdownProcessor): ExternalMarkdownAdapter;
|
|
52
|
-
/**
|
|
53
|
-
* Create adapter from render function only
|
|
54
|
-
*/
|
|
55
|
-
export declare function createFunctionAdapter(renderFunc: BasicMarkdownRenderFunc, parseFunc?: BasicMarkdownParseFunc): FunctionBasedAdapter;
|
|
56
|
-
/**
|
|
57
|
-
* Create adapter for Obsidian-style processors
|
|
58
|
-
*/
|
|
59
|
-
export declare function createObsidianAdapter(renderFunc: BasicMarkdownRenderFunc, metadata?: {
|
|
60
|
-
pluginName?: string;
|
|
61
|
-
version?: string;
|
|
62
|
-
}): ExternalMarkdownAdapter;
|
|
63
|
-
//# sourceMappingURL=externaladapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externaladapter.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/vo/externaladapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,WAAY,YAAW,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;gBAG3B,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAW,EAChB,OAAO,GAAE,MAAW,EACpB,KAAK,GAAE,MAAU,EACjB,GAAG,GAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAW;CAQtC;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAClD,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,yBAAyB;IAElD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAiB7C,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,cAAc;IAoEtB,OAAO,CAAC,kBAAkB;IAuE1B;;OAEG;IACH,WAAW;;;;;CAGZ;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAEzD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS,CAAC;gBADV,UAAU,EAAE,uBAAuB,EACnC,SAAS,CAAC,EAAE,sBAAsB,YAAA;IAGtC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAqB9C;AAED;;GAEG;AAEH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,yBAAyB,GAAG,uBAAuB,CAEnG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,uBAAuB,EACnC,SAAS,CAAC,EAAE,sBAAsB,GACjC,oBAAoB,CAEtB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,uBAAuB,EACnC,QAAQ,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,uBAAuB,CASzB"}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FunctionBasedAdapter = exports.ExternalMarkdownAdapter = exports.SimpleToken = void 0;
|
|
4
|
-
exports.createExternalAdapter = createExternalAdapter;
|
|
5
|
-
exports.createFunctionAdapter = createFunctionAdapter;
|
|
6
|
-
exports.createObsidianAdapter = createObsidianAdapter;
|
|
7
|
-
/**
|
|
8
|
-
* Simple token implementation for external processors that don't provide full AST
|
|
9
|
-
*/
|
|
10
|
-
class SimpleToken {
|
|
11
|
-
constructor(type, tag = '', content = '', level = 0, map = null) {
|
|
12
|
-
this.type = type;
|
|
13
|
-
this.tag = tag;
|
|
14
|
-
this.content = content;
|
|
15
|
-
this.level = level;
|
|
16
|
-
this.map = map;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.SimpleToken = SimpleToken;
|
|
20
|
-
/**
|
|
21
|
-
* External markdown processor adapter
|
|
22
|
-
* This allows integration with any external markdown system (e.g., Obsidian)
|
|
23
|
-
*/
|
|
24
|
-
class ExternalMarkdownAdapter {
|
|
25
|
-
constructor(processor) {
|
|
26
|
-
this.processor = processor;
|
|
27
|
-
}
|
|
28
|
-
async render(source) {
|
|
29
|
-
const result = this.processor.render(source);
|
|
30
|
-
return typeof result === 'string' ? result : await result;
|
|
31
|
-
}
|
|
32
|
-
async parse(source) {
|
|
33
|
-
if (this.processor.parse) {
|
|
34
|
-
const result = this.processor.parse(source);
|
|
35
|
-
const ast = typeof result === 'object' ? result : await result;
|
|
36
|
-
// Try to convert the AST to our token format
|
|
37
|
-
if (Array.isArray(ast)) {
|
|
38
|
-
return ast;
|
|
39
|
-
}
|
|
40
|
-
else if (ast && typeof ast === 'object') {
|
|
41
|
-
return this.convertASTToTokens(ast);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Fallback: create simple tokens by parsing the source manually
|
|
45
|
-
return this.createSimpleTokens(source);
|
|
46
|
-
}
|
|
47
|
-
convertASTToTokens(ast) {
|
|
48
|
-
const tokens = [];
|
|
49
|
-
// This is a generic AST to Token converter
|
|
50
|
-
// Different external processors might have different AST structures
|
|
51
|
-
if (ast.children && Array.isArray(ast.children)) {
|
|
52
|
-
for (const child of ast.children) {
|
|
53
|
-
tokens.push(...this.processASTNode(child));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else if (ast.type) {
|
|
57
|
-
tokens.push(...this.processASTNode(ast));
|
|
58
|
-
}
|
|
59
|
-
return tokens;
|
|
60
|
-
}
|
|
61
|
-
processASTNode(node) {
|
|
62
|
-
const tokens = [];
|
|
63
|
-
if (!node.type)
|
|
64
|
-
return tokens;
|
|
65
|
-
// Handle different node types
|
|
66
|
-
switch (node.type) {
|
|
67
|
-
case 'heading':
|
|
68
|
-
tokens.push(new SimpleToken('heading_open', `h${node.level || 1}`, '', 0, node.position ? [node.position.start.line - 1, node.position.end.line] : null));
|
|
69
|
-
if (node.children) {
|
|
70
|
-
for (const child of node.children) {
|
|
71
|
-
tokens.push(...this.processASTNode(child));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
tokens.push(new SimpleToken('heading_close', `h${node.level || 1}`));
|
|
75
|
-
break;
|
|
76
|
-
case 'text':
|
|
77
|
-
tokens.push(new SimpleToken('inline', '', node.value || node.content || '', 0, node.position ? [node.position.start.line - 1, node.position.end.line] : null));
|
|
78
|
-
break;
|
|
79
|
-
case 'paragraph':
|
|
80
|
-
tokens.push(new SimpleToken('paragraph_open', 'p'));
|
|
81
|
-
if (node.children) {
|
|
82
|
-
for (const child of node.children) {
|
|
83
|
-
tokens.push(...this.processASTNode(child));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
tokens.push(new SimpleToken('paragraph_close', 'p'));
|
|
87
|
-
break;
|
|
88
|
-
case 'code':
|
|
89
|
-
case 'codeBlock':
|
|
90
|
-
tokens.push(new SimpleToken('code_block', 'code', node.value || node.content || '', 0, node.position ? [node.position.start.line - 1, node.position.end.line] : null));
|
|
91
|
-
break;
|
|
92
|
-
default:
|
|
93
|
-
// For unknown node types, try to process children
|
|
94
|
-
if (node.children && Array.isArray(node.children)) {
|
|
95
|
-
for (const child of node.children) {
|
|
96
|
-
tokens.push(...this.processASTNode(child));
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return tokens;
|
|
101
|
-
}
|
|
102
|
-
createSimpleTokens(source) {
|
|
103
|
-
const tokens = [];
|
|
104
|
-
const lines = source.split('\n');
|
|
105
|
-
for (let i = 0; i < lines.length; i++) {
|
|
106
|
-
const line = lines[i].trim();
|
|
107
|
-
if (!line)
|
|
108
|
-
continue;
|
|
109
|
-
// Simple heading detection
|
|
110
|
-
const headingMatch = line.match(/^(#{1,6})\s+(.+)$/);
|
|
111
|
-
if (headingMatch) {
|
|
112
|
-
const level = headingMatch[1].length;
|
|
113
|
-
const text = headingMatch[2];
|
|
114
|
-
tokens.push(new SimpleToken('heading_open', `h${level}`, '', 0, [i, i + 1]));
|
|
115
|
-
tokens.push(new SimpleToken('inline', '', text, 1, [i, i + 1]));
|
|
116
|
-
tokens.push(new SimpleToken('heading_close', `h${level}`, '', 0, [i, i + 1]));
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
// Simple paragraph detection
|
|
120
|
-
tokens.push(new SimpleToken('paragraph_open', 'p', '', 0, [i, i + 1]));
|
|
121
|
-
tokens.push(new SimpleToken('inline', '', line, 1, [i, i + 1]));
|
|
122
|
-
tokens.push(new SimpleToken('paragraph_close', 'p', '', 0, [i, i + 1]));
|
|
123
|
-
}
|
|
124
|
-
return tokens;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get metadata about the external processor
|
|
128
|
-
*/
|
|
129
|
-
getMetadata() {
|
|
130
|
-
return this.processor.metadata || {};
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.ExternalMarkdownAdapter = ExternalMarkdownAdapter;
|
|
134
|
-
/**
|
|
135
|
-
* Function-based adapter for simple render-only processors
|
|
136
|
-
*/
|
|
137
|
-
class FunctionBasedAdapter {
|
|
138
|
-
constructor(renderFunc, parseFunc) {
|
|
139
|
-
this.renderFunc = renderFunc;
|
|
140
|
-
this.parseFunc = parseFunc;
|
|
141
|
-
}
|
|
142
|
-
async render(source) {
|
|
143
|
-
const result = this.renderFunc(source);
|
|
144
|
-
return typeof result === 'string' ? result : await result;
|
|
145
|
-
}
|
|
146
|
-
async parse(source) {
|
|
147
|
-
if (this.parseFunc) {
|
|
148
|
-
const result = this.parseFunc(source);
|
|
149
|
-
const ast = typeof result === 'object' ? result : await result;
|
|
150
|
-
if (Array.isArray(ast)) {
|
|
151
|
-
return ast;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
// Fallback to simple parsing
|
|
155
|
-
const processor = {
|
|
156
|
-
render: this.renderFunc,
|
|
157
|
-
};
|
|
158
|
-
if (this.parseFunc) {
|
|
159
|
-
processor.parse = this.parseFunc;
|
|
160
|
-
}
|
|
161
|
-
const adapter = new ExternalMarkdownAdapter(processor);
|
|
162
|
-
return adapter.parse(source);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
exports.FunctionBasedAdapter = FunctionBasedAdapter;
|
|
166
|
-
/**
|
|
167
|
-
* Factory functions for creating adapters
|
|
168
|
-
*/
|
|
169
|
-
/**
|
|
170
|
-
* Create adapter from external processor object
|
|
171
|
-
*/
|
|
172
|
-
function createExternalAdapter(processor) {
|
|
173
|
-
return new ExternalMarkdownAdapter(processor);
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Create adapter from render function only
|
|
177
|
-
*/
|
|
178
|
-
function createFunctionAdapter(renderFunc, parseFunc) {
|
|
179
|
-
return new FunctionBasedAdapter(renderFunc, parseFunc);
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Create adapter for Obsidian-style processors
|
|
183
|
-
*/
|
|
184
|
-
function createObsidianAdapter(renderFunc, metadata) {
|
|
185
|
-
return new ExternalMarkdownAdapter({
|
|
186
|
-
render: renderFunc,
|
|
187
|
-
metadata: {
|
|
188
|
-
name: metadata?.pluginName || 'Obsidian',
|
|
189
|
-
version: metadata?.version || 'unknown',
|
|
190
|
-
features: ['rendering', 'basic-parsing'],
|
|
191
|
-
},
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
//# sourceMappingURL=externaladapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externaladapter.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/vo/externaladapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import MarkdownIt from 'markdown-it';
|
|
2
|
-
import Token from 'markdown-it/lib/token';
|
|
3
|
-
import { MarkdownRenderer, Position } from '../type';
|
|
4
|
-
import { DomainMarkdownConfig } from './config';
|
|
5
|
-
/**
|
|
6
|
-
* MarkdownIt-based renderer implementation
|
|
7
|
-
*/
|
|
8
|
-
export declare class MarkdownItRenderer implements MarkdownRenderer {
|
|
9
|
-
private md;
|
|
10
|
-
private config;
|
|
11
|
-
constructor(config: DomainMarkdownConfig, externalMd?: MarkdownIt);
|
|
12
|
-
render(source: string): Promise<string>;
|
|
13
|
-
parse(source: string): Promise<Token[]>;
|
|
14
|
-
/**
|
|
15
|
-
* Get the underlying MarkdownIt instance
|
|
16
|
-
*/
|
|
17
|
-
getMarkdownIt(): MarkdownIt;
|
|
18
|
-
/**
|
|
19
|
-
* Add a custom plugin
|
|
20
|
-
*/
|
|
21
|
-
addPlugin(plugin: any, options?: any): void;
|
|
22
|
-
private createMarkdownItInstance;
|
|
23
|
-
private configureBasicPlugins;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Factory function to create MarkdownIt renderer with default configuration
|
|
27
|
-
*/
|
|
28
|
-
export declare function createMarkdownItRenderer(config?: Partial<DomainMarkdownConfig>, externalMd?: MarkdownIt): MarkdownItRenderer;
|
|
29
|
-
/**
|
|
30
|
-
* Utility to extract position information from tokens
|
|
31
|
-
*/
|
|
32
|
-
export declare function getTokenPosition(token: Token): Position | null;
|
|
33
|
-
//# sourceMappingURL=markdownit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdownit.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/vo/markdownit.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAqB,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,UAAU;IAY3D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAI7C;;OAEG;IACH,aAAa,IAAI,UAAU;IAI3B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAI3C,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,qBAAqB;CAsB9B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACtC,UAAU,CAAC,EAAE,UAAU,GACtB,kBAAkB,CA0EpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAS9D"}
|