@mdfriday/foundry 25.9.3 → 25.9.5
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 +10 -0
- package/dist/internal/application/ssg.d.ts.map +1 -1
- package/dist/internal/application/ssg.js +12 -0
- package/dist/internal/application/ssg.js.map +1 -1
- package/dist/internal/application/test-incremental-ssg.d.ts +9 -0
- package/dist/internal/application/test-incremental-ssg.d.ts.map +1 -0
- package/dist/internal/application/test-incremental-ssg.js +80 -0
- package/dist/internal/application/test-incremental-ssg.js.map +1 -0
- package/dist/internal/application/test-ssg.d.ts +8 -0
- package/dist/internal/application/test-ssg.d.ts.map +1 -0
- package/dist/internal/application/test-ssg.js +30 -0
- package/dist/internal/application/test-ssg.js.map +1 -0
- package/dist/internal/domain/config/entity/config.d.ts +8 -2
- package/dist/internal/domain/config/entity/config.d.ts.map +1 -1
- package/dist/internal/domain/config/entity/config.js +10 -3
- package/dist/internal/domain/config/entity/config.js.map +1 -1
- package/dist/internal/domain/config/entity/social.d.ts +66 -0
- package/dist/internal/domain/config/entity/social.d.ts.map +1 -0
- package/dist/internal/domain/config/entity/social.js +126 -0
- package/dist/internal/domain/config/entity/social.js.map +1 -0
- package/dist/internal/domain/config/factory/config.d.ts.map +1 -1
- package/dist/internal/domain/config/factory/config.js +2 -1
- package/dist/internal/domain/config/factory/config.js.map +1 -1
- package/dist/internal/domain/config/index.d.ts +2 -0
- package/dist/internal/domain/config/index.d.ts.map +1 -1
- package/dist/internal/domain/config/index.js +5 -1
- package/dist/internal/domain/config/index.js.map +1 -1
- package/dist/internal/domain/config/tests/entity-config.test.js +16 -12
- package/dist/internal/domain/config/tests/entity-config.test.js.map +1 -1
- package/dist/internal/domain/config/tests/social.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/social.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/social.test.js +164 -0
- package/dist/internal/domain/config/tests/social.test.js.map +1 -0
- package/dist/internal/domain/config/type.d.ts +22 -0
- package/dist/internal/domain/config/type.d.ts.map +1 -1
- package/dist/internal/domain/config/type.js.map +1 -1
- package/dist/internal/domain/config/vo/social.d.ts +23 -0
- package/dist/internal/domain/config/vo/social.d.ts.map +1 -0
- package/dist/internal/domain/config/vo/social.js +212 -0
- package/dist/internal/domain/config/vo/social.js.map +1 -0
- package/dist/internal/domain/content/entity/page.d.ts +6 -1
- package/dist/internal/domain/content/entity/page.d.ts.map +1 -1
- package/dist/internal/domain/content/entity/page.js +14 -2
- package/dist/internal/domain/content/entity/page.js.map +1 -1
- package/dist/internal/domain/content/entity/pagebuilder.d.ts +3 -2
- package/dist/internal/domain/content/entity/pagebuilder.d.ts.map +1 -1
- package/dist/internal/domain/content/entity/pagebuilder.js +16 -5
- package/dist/internal/domain/content/entity/pagebuilder.js.map +1 -1
- package/dist/internal/domain/content/entity/pagemeta.d.ts +10 -2
- package/dist/internal/domain/content/entity/pagemeta.d.ts.map +1 -1
- package/dist/internal/domain/content/entity/pagemeta.js +17 -1
- package/dist/internal/domain/content/entity/pagemeta.js.map +1 -1
- package/dist/internal/domain/content/entity/paginator.d.ts +6 -0
- package/dist/internal/domain/content/entity/paginator.d.ts.map +1 -1
- package/dist/internal/domain/content/entity/paginator.js +24 -2
- package/dist/internal/domain/content/entity/paginator.js.map +1 -1
- package/dist/internal/domain/content/factory/hub.d.ts.map +1 -1
- package/dist/internal/domain/content/factory/hub.js +2 -1
- package/dist/internal/domain/content/factory/hub.js.map +1 -1
- package/dist/internal/domain/content/type.d.ts +59 -1
- package/dist/internal/domain/content/type.d.ts.map +1 -1
- package/dist/internal/domain/content/type.js.map +1 -1
- package/dist/internal/domain/content/vo/frontmatter.d.ts +29 -1
- package/dist/internal/domain/content/vo/frontmatter.d.ts.map +1 -1
- package/dist/internal/domain/content/vo/frontmatter.js +242 -1
- package/dist/internal/domain/content/vo/frontmatter.js.map +1 -1
- package/dist/internal/domain/markdown/test/external-adapter.test.d.ts +2 -0
- package/dist/internal/domain/markdown/test/external-adapter.test.d.ts.map +1 -0
- package/dist/internal/domain/markdown/test/external-adapter.test.js +150 -0
- package/dist/internal/domain/markdown/test/external-adapter.test.js.map +1 -0
- package/dist/internal/domain/markdown/test/markdown.test.d.ts +2 -0
- package/dist/internal/domain/markdown/test/markdown.test.d.ts.map +1 -0
- package/dist/internal/domain/markdown/test/markdown.test.js +88 -0
- package/dist/internal/domain/markdown/test/markdown.test.js.map +1 -0
- package/dist/internal/domain/markdown/vo/externaladapter.d.ts +63 -0
- package/dist/internal/domain/markdown/vo/externaladapter.d.ts.map +1 -0
- package/dist/internal/domain/markdown/vo/externaladapter.js +194 -0
- package/dist/internal/domain/markdown/vo/externaladapter.js.map +1 -0
- package/dist/internal/domain/markdown/vo/markdownit.d.ts +33 -0
- package/dist/internal/domain/markdown/vo/markdownit.d.ts.map +1 -0
- package/dist/internal/domain/markdown/vo/markdownit.js +175 -0
- package/dist/internal/domain/markdown/vo/markdownit.js.map +1 -0
- package/dist/internal/domain/module/entity/module.d.ts.map +1 -1
- package/dist/internal/domain/module/entity/module.js +10 -6
- package/dist/internal/domain/module/entity/module.js.map +1 -1
- package/dist/internal/domain/module/vo/themes.test.js +12 -8
- package/dist/internal/domain/module/vo/themes.test.js.map +1 -1
- package/dist/internal/domain/site/entity/menu-builder.d.ts +35 -21
- package/dist/internal/domain/site/entity/menu-builder.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/menu-builder.js +194 -107
- package/dist/internal/domain/site/entity/menu-builder.js.map +1 -1
- package/dist/internal/domain/site/entity/page.d.ts +19 -7
- package/dist/internal/domain/site/entity/page.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/page.js +58 -3
- package/dist/internal/domain/site/entity/page.js.map +1 -1
- package/dist/internal/domain/site/entity/pager.d.ts +2 -0
- package/dist/internal/domain/site/entity/pager.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/pager.js +9 -0
- package/dist/internal/domain/site/entity/pager.js.map +1 -1
- package/dist/internal/domain/site/entity/site.d.ts +14 -8
- package/dist/internal/domain/site/entity/site.d.ts.map +1 -1
- package/dist/internal/domain/site/entity/site.js +35 -8
- package/dist/internal/domain/site/entity/site.js.map +1 -1
- package/dist/internal/domain/site/factory/navigation-factory.d.ts +4 -2
- package/dist/internal/domain/site/factory/navigation-factory.d.ts.map +1 -1
- package/dist/internal/domain/site/factory/navigation-factory.js +5 -4
- package/dist/internal/domain/site/factory/navigation-factory.js.map +1 -1
- package/dist/internal/domain/site/factory/site.d.ts.map +1 -1
- package/dist/internal/domain/site/factory/site.js +7 -9
- package/dist/internal/domain/site/factory/site.js.map +1 -1
- package/dist/internal/domain/site/type.d.ts +11 -0
- package/dist/internal/domain/site/type.d.ts.map +1 -1
- package/dist/internal/domain/site/valueobject/author.d.ts +4 -4
- package/dist/internal/domain/site/valueobject/author.d.ts.map +1 -1
- package/dist/internal/domain/site/valueobject/author.js +7 -4
- package/dist/internal/domain/site/valueobject/author.js.map +1 -1
- package/dist/internal/domain/site/valueobject/menu.d.ts +27 -115
- package/dist/internal/domain/site/valueobject/menu.d.ts.map +1 -1
- package/dist/internal/domain/site/valueobject/menu.js +42 -193
- package/dist/internal/domain/site/valueobject/menu.js.map +1 -1
- package/dist/internal/domain/site/valueobject/organization.d.ts +63 -0
- package/dist/internal/domain/site/valueobject/organization.d.ts.map +1 -0
- package/dist/internal/domain/site/valueobject/organization.js +94 -0
- package/dist/internal/domain/site/valueobject/organization.js.map +1 -0
- package/dist/internal/domain/site/valueobject/organization.test.d.ts +2 -0
- package/dist/internal/domain/site/valueobject/organization.test.d.ts.map +1 -0
- package/dist/internal/domain/site/valueobject/organization.test.js +78 -0
- package/dist/internal/domain/site/valueobject/organization.test.js.map +1 -0
- package/dist/internal/domain/template/vo/registry.d.ts +18 -0
- package/dist/internal/domain/template/vo/registry.d.ts.map +1 -1
- package/dist/internal/domain/template/vo/registry.js +343 -0
- package/dist/internal/domain/template/vo/registry.js.map +1 -1
- package/dist/pkg/log/manager.js +1 -1
- package/dist/pkg/maps/scratch.d.ts +1 -0
- package/dist/pkg/maps/scratch.d.ts.map +1 -1
- package/dist/pkg/maps/scratch.js +4 -0
- package/dist/pkg/maps/scratch.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../../../../internal/domain/content/vo/frontmatter.ts"],"names":[],"mappings":";;;AAoBA,wCAWC;AA+KD,0CAEC;AAMD,4BAmCC;AAlPD,iCAAqC;AAErC,oCAAiC;AACjC,wCAAsC;AACtC,sCAAmC;AAKnC;;;GAGG;AACH,SAAgB,cAAc;IAC5B,OAAO;QACL,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAa,qBAAqB;IAKhC,YAAY,MAAuC,EAAE,OAAoB,EAAE,WAA4B;QACrG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,GAAgB;YACtB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gDAAgD;YAChD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,SAAS,CAAC,EAAe;QACrC,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClC,EAAE,CAAC,IAAI,GAAG,WAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CAAC,EAAe;QACvC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClC,EAAE,CAAC,MAAM,GAAG,WAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU,CAAC,EAAe;QACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClC,EAAE,CAAC,KAAK,GAAG,WAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,EAAe;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,+DAA+D;YAC/D,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,WAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,WAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;gBACzD,CAAC;gBACD,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU,CAAC,EAAe;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEvC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,aAAK,CAAC,2BAA2B,CAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CACtD,CAAC;YACF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAY;QACzC,yCAAyC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;CACF;AApKD,sDAoKC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,CAAS,EAAE,GAAW;IACpD,OAAO,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,CAAsB,EAAE,GAAW,EAAE,aAAsB;IAClF,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAE/B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,QAAQ,OAAO,CAAC,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ;YACX,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ;YACX,0DAA0D;YAC1D,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,OAAO,WAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,CAAC,6BAA6B;YACzC,CAAC;QACH;YACE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClE,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,gBAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../../../../internal/domain/content/vo/frontmatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-adapter.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/external-adapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,150 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-adapter.test.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/external-adapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/markdown.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.test.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/markdown.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externaladapter.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/vo/externaladapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|