nx-md-parser 2.0.1 → 2.0.2
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 +89 -29
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/markdown-transformer/core/transformer.d.ts +3 -0
- package/dist/src/lib/markdown-transformer/core/transformer.d.ts.map +1 -1
- package/dist/src/lib/markdown-transformer/core/transformer.js +60 -1
- package/dist/src/lib/markdown-transformer/core/transformer.js.map +1 -1
- package/dist/src/lib/markdown-transformer/core/types.d.ts +2 -1
- package/dist/src/lib/markdown-transformer/core/types.d.ts.map +1 -1
- package/dist/src/lib/markdown-transformer/core/types.js +1 -0
- package/dist/src/lib/markdown-transformer/core/types.js.map +1 -1
- package/dist/src/lib/markdown-transformer/parsers/bullet-parser.d.ts.map +1 -1
- package/dist/src/lib/markdown-transformer/parsers/bullet-parser.js +51 -43
- package/dist/src/lib/markdown-transformer/parsers/bullet-parser.js.map +1 -1
- package/dist/src/lib/markdown-transformer/parsers/colon-parser.d.ts +10 -0
- package/dist/src/lib/markdown-transformer/parsers/colon-parser.d.ts.map +1 -0
- package/dist/src/lib/markdown-transformer/parsers/colon-parser.js +65 -0
- package/dist/src/lib/markdown-transformer/parsers/colon-parser.js.map +1 -0
- package/dist/src/lib/markdown-transformer/parsers/format-detector.d.ts.map +1 -1
- package/dist/src/lib/markdown-transformer/parsers/format-detector.js +3 -1
- package/dist/src/lib/markdown-transformer/parsers/format-detector.js.map +1 -1
- package/dist/src/lib/markdown-transformer/parsers/index.d.ts +1 -0
- package/dist/src/lib/markdown-transformer/parsers/index.d.ts.map +1 -1
- package/dist/src/lib/markdown-transformer/parsers/index.js +3 -1
- package/dist/src/lib/markdown-transformer/parsers/index.js.map +1 -1
- package/package.json +14 -6
package/README.md
CHANGED
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
[](https://badge.fury.io/js/nx-md-parser)
|
|
4
4
|
[](https://opensource.org/licenses/ISC)
|
|
5
5
|
|
|
6
|
-
**Multi-Format AI-Powered Markdown to JSON Transformer** - Transform markdown documents into structured JSON with support for multiple formats
|
|
6
|
+
**Extensible Multi-Format AI-Powered Markdown to JSON Transformer** - Transform markdown documents into structured JSON with support for multiple markdown formats, intelligent schema validation, auto-fixing, and machine learning capabilities. Built with an extensible parser architecture that can handle any markdown variant.
|
|
7
7
|
|
|
8
8
|
## ✨ Features
|
|
9
9
|
|
|
10
|
-
### 📝 Multi-Format Markdown Support
|
|
11
|
-
- **Auto-Detection**: Automatically detects
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
10
|
+
### 📝 Extensible Multi-Format Markdown Support
|
|
11
|
+
- **Auto-Detection**: Automatically detects and selects appropriate parser for any markdown format
|
|
12
|
+
- **Built-in Formats**: Heading (`### Section`), bullet (`- Section`), and colon (`Key: Value`) formats
|
|
13
|
+
- **Custom Parsers**: Easy to add support for any markdown variant (YAML frontmatter, numbered sections, etc.)
|
|
14
|
+
- **Parser Registry**: Register multiple parsers for different formats
|
|
15
|
+
- **Format Selection**: Explicitly specify format or let auto-detection choose
|
|
15
16
|
- **Backward Compatible**: All existing code continues to work unchanged
|
|
16
17
|
|
|
17
18
|
### 🤖 Advanced AI-Powered Matching
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
- **Configurable Weights & Thresholds**: Fine-tune matching sensitivity for different use cases
|
|
20
21
|
- **Machine Learning**: Learn aliases and improve matching accuracy over time
|
|
21
22
|
- **Context-Aware**: Different thresholds for key-to-key, title-to-key, and object matching
|
|
22
|
-
- **Persistent Learning** (Optional): Save/load ML data with `@xronoces/xronox-ml
|
|
23
|
+
- **Persistent Learning** (Optional): Save/load ML data with `@xronoces/xronox-ml``
|
|
23
24
|
- **Schema Consistency**: Same intelligent matching for objects AND arrays
|
|
24
25
|
|
|
25
26
|
### 🔧 Intelligent Auto-Fixing
|
|
@@ -31,10 +32,11 @@
|
|
|
31
32
|
- **Content Intelligence**: Parse tables, lists, key-value pairs automatically
|
|
32
33
|
|
|
33
34
|
### 🏗️ Modular Architecture
|
|
34
|
-
- **Extensible Parser System**:
|
|
35
|
-
- **Clean Separation**: Parsers, converters, transformers, and utilities
|
|
36
|
-
- **Plugin Architecture**: Register custom parsers for specialized formats
|
|
37
|
-
- **Format Detection**: Intelligent auto-selection of appropriate parsers
|
|
35
|
+
- **Extensible Parser System**: Add support for any markdown format by implementing BaseMarkdownParser
|
|
36
|
+
- **Clean Separation**: Parsers, converters, transformers, and utilities in separate modules
|
|
37
|
+
- **Plugin Architecture**: Register custom parsers for specialized formats (YAML, XML, custom syntax)
|
|
38
|
+
- **Format Detection**: Intelligent auto-selection of appropriate parsers from registered options
|
|
39
|
+
- **Multiple Parsers**: Support multiple parsers simultaneously for different document types
|
|
38
40
|
|
|
39
41
|
### 📋 Schema Validation
|
|
40
42
|
- **Intuitive Schema DSL**: Clean, TypeScript-friendly schema definition
|
|
@@ -135,6 +137,22 @@ SSL: true
|
|
|
135
137
|
}
|
|
136
138
|
```
|
|
137
139
|
|
|
140
|
+
### Colon-Separated Format
|
|
141
|
+
```markdown
|
|
142
|
+
Title: My Project
|
|
143
|
+
Description: Project description
|
|
144
|
+
Tags: TypeScript, React
|
|
145
|
+
Active: true
|
|
146
|
+
```
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"title": "My Project",
|
|
150
|
+
"description": "Project description",
|
|
151
|
+
"tags": ["TypeScript", "React"],
|
|
152
|
+
"active": true
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
138
156
|
### Mixed Content Types
|
|
139
157
|
All parsing types can be nested and combined for complex document structures.
|
|
140
158
|
|
|
@@ -204,25 +222,39 @@ Priority: High
|
|
|
204
222
|
true
|
|
205
223
|
`);
|
|
206
224
|
|
|
207
|
-
//
|
|
225
|
+
// And with colon format (Key: Value)
|
|
226
|
+
const colonResult = transformer.transformMarkdown(\`
|
|
227
|
+
Title: My Awesome Project
|
|
228
|
+
Tags: TypeScript, React, Node.js
|
|
229
|
+
Metadata: Author - John Doe, Priority - High
|
|
230
|
+
Active: true
|
|
231
|
+
Version: 1.0.0
|
|
232
|
+
\`);
|
|
233
|
+
|
|
234
|
+
// All formats produce the same structured result!
|
|
208
235
|
console.log(headingResult.result); // Your structured JSON
|
|
209
236
|
console.log(bulletResult.result); // Same structured JSON
|
|
237
|
+
console.log(colonResult.result); // Same structured JSON
|
|
210
238
|
```
|
|
211
239
|
|
|
212
|
-
### Format Selection
|
|
240
|
+
### Format Selection & Auto-Detection
|
|
213
241
|
|
|
214
242
|
```typescript
|
|
215
243
|
import { JSONTransformer, Schema, MarkdownFormat } from 'nx-md-parser';
|
|
216
244
|
|
|
217
|
-
//
|
|
245
|
+
// Auto-detect format (recommended)
|
|
246
|
+
const transformer = new JSONTransformer(schema); // Automatically chooses best parser
|
|
247
|
+
|
|
248
|
+
// Force specific built-in format
|
|
249
|
+
const headingTransformer = new JSONTransformer(schema, {
|
|
250
|
+
parserOptions: { format: MarkdownFormat.HEADING }
|
|
251
|
+
});
|
|
252
|
+
|
|
218
253
|
const bulletTransformer = new JSONTransformer(schema, {
|
|
219
|
-
parserOptions: {
|
|
220
|
-
format: MarkdownFormat.BULLET // or MarkdownFormat.HEADING
|
|
221
|
-
}
|
|
254
|
+
parserOptions: { format: MarkdownFormat.BULLET }
|
|
222
255
|
});
|
|
223
256
|
|
|
224
|
-
//
|
|
225
|
-
const autoTransformer = new JSONTransformer(schema); // format: MarkdownFormat.AUTO
|
|
257
|
+
// Works with any registered format - the system is extensible!
|
|
226
258
|
```
|
|
227
259
|
|
|
228
260
|
## 🎯 Advanced Usage
|
|
@@ -312,13 +344,14 @@ const merged = mergeWithRoles(roleBasedData);
|
|
|
312
344
|
```typescript
|
|
313
345
|
import { BaseMarkdownParser, MarkdownFormat, getFormatDetector } from 'nx-md-parser';
|
|
314
346
|
|
|
347
|
+
// Example: YAML Frontmatter parser
|
|
315
348
|
class YamlFrontmatterParser extends BaseMarkdownParser {
|
|
316
349
|
canParse(markdown: string): boolean {
|
|
317
350
|
return markdown.startsWith('---\n');
|
|
318
351
|
}
|
|
319
352
|
|
|
320
353
|
parseSections(markdown: string): MarkdownSection[] {
|
|
321
|
-
//
|
|
354
|
+
// Parse YAML frontmatter + markdown body
|
|
322
355
|
return [];
|
|
323
356
|
}
|
|
324
357
|
|
|
@@ -327,9 +360,28 @@ class YamlFrontmatterParser extends BaseMarkdownParser {
|
|
|
327
360
|
}
|
|
328
361
|
}
|
|
329
362
|
|
|
330
|
-
//
|
|
363
|
+
// Example: Numbered sections parser
|
|
364
|
+
class NumberedSectionsParser extends BaseMarkdownParser {
|
|
365
|
+
canParse(markdown: string): boolean {
|
|
366
|
+
return /^\d+\.\s/.test(markdown);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
parseSections(markdown: string): MarkdownSection[] {
|
|
370
|
+
// Parse numbered sections like "1. Introduction"
|
|
371
|
+
return [];
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
getFormatName(): MarkdownFormat {
|
|
375
|
+
return 'numbered-sections' as any;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// Register multiple custom parsers
|
|
331
380
|
const detector = getFormatDetector();
|
|
332
381
|
detector.registerParser(new YamlFrontmatterParser());
|
|
382
|
+
detector.registerParser(new NumberedSectionsParser());
|
|
383
|
+
|
|
384
|
+
// Now supports: headings, bullets, colon format, YAML frontmatter, numbered sections, etc.
|
|
333
385
|
```
|
|
334
386
|
|
|
335
387
|
### JSON to Markdown Generation
|
|
@@ -431,6 +483,12 @@ import { BulletParser } from 'nx-md-parser';
|
|
|
431
483
|
const parser = new BulletParser();
|
|
432
484
|
```
|
|
433
485
|
|
|
486
|
+
**ColonParser** - Parses `Key: Value` colon format
|
|
487
|
+
```typescript
|
|
488
|
+
import { ColonParser } from 'nx-md-parser';
|
|
489
|
+
const parser = new ColonParser();
|
|
490
|
+
```
|
|
491
|
+
|
|
434
492
|
**FormatDetector** - Auto-detects and selects appropriate parsers
|
|
435
493
|
```typescript
|
|
436
494
|
import { FormatDetector, getFormatDetector } from 'nx-md-parser';
|
|
@@ -472,10 +530,11 @@ learnAliasesFromTransformations(transformations: TransformationExample[]): Learn
|
|
|
472
530
|
#### Parser Types & Enums
|
|
473
531
|
```typescript
|
|
474
532
|
enum MarkdownFormat {
|
|
475
|
-
AUTO = 'auto',
|
|
476
|
-
HEADING = 'heading',
|
|
477
|
-
BULLET = 'bullet',
|
|
478
|
-
|
|
533
|
+
AUTO = 'auto', // Auto-detect format
|
|
534
|
+
HEADING = 'heading', // ### Section format
|
|
535
|
+
BULLET = 'bullet', // - Section format
|
|
536
|
+
COLON = 'colon', // Key: Value format
|
|
537
|
+
MIXED = 'mixed' // Mixed formats
|
|
479
538
|
}
|
|
480
539
|
|
|
481
540
|
interface MarkdownSection {
|
|
@@ -573,10 +632,11 @@ ISC License - see [LICENSE](LICENSE) file for details.
|
|
|
573
632
|
|
|
574
633
|
## 📋 What's New in v2.0
|
|
575
634
|
|
|
576
|
-
- **Multi-Format
|
|
577
|
-
- **
|
|
635
|
+
- **Extensible Multi-Format Architecture**: Support for any markdown variant through custom parsers, not just headings and bullets
|
|
636
|
+
- **Intelligent Parser System**: Auto-detection and selection from multiple registered parsers
|
|
637
|
+
- **Plugin Architecture**: Easy to extend with custom parsers for YAML frontmatter, numbered sections, XML, or any format
|
|
638
|
+
- **Modular Design**: Clean separation of parsing, conversion, and transformation logic
|
|
578
639
|
- **Backward Compatibility**: All existing code continues to work unchanged
|
|
579
|
-
- **
|
|
580
|
-
- **Enhanced TypeScript**: Better type safety with new parser interfaces
|
|
640
|
+
- **Enhanced TypeScript**: Better type safety with extensible parser interfaces
|
|
581
641
|
|
|
582
642
|
**Made with ❤️ by the nx-intelligence team**
|
package/dist/src/index.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export { MarkdownParser, } from './lib/markdown-transformer/core/transformer';
|
|
|
11
11
|
export { mergeTransformResults, jsonToMarkdown, loadSchemaFromFile, createTransformerFromSchemaFile, createNxHelpersTransformer, learnAliasesFromTransformations } from './lib/markdown-transformer/utils/merge';
|
|
12
12
|
export type { SchemaType, ValidationStatus, TransformResult, MarkdownSection, ParserOptions, } from './lib/markdown-transformer/core/types';
|
|
13
13
|
export { MarkdownFormat } from './lib/markdown-transformer/core/types';
|
|
14
|
-
export { BaseMarkdownParser, HeadingParser, BulletParser, FormatDetector, getFormatDetector, resetFormatDetector } from './lib/markdown-transformer/parsers';
|
|
14
|
+
export { BaseMarkdownParser, HeadingParser, BulletParser, ColonParser, FormatDetector, getFormatDetector, resetFormatDetector } from './lib/markdown-transformer/parsers';
|
|
15
15
|
export { mergeNoRedundancy, mergeMultiple, mergeWithRoles, loadJson, toCamelCase, fromCamelToTitle, toTitleCase, anyToMarkdownString, string as nxString, number as nxNumber, boolean as nxBoolean, array as nxArray, object as nxObject, bestMatchOneToMany, defaultMatcherConfig, JSONTransformer as NxHelpersJSONTransformer } from 'nx-helpers';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EACL,cAAc,GACf,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EAEnB,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,OAAO,IAAI,SAAS,EACpB,KAAK,IAAI,OAAO,EAChB,MAAM,IAAI,QAAQ,EAElB,kBAAkB,EAClB,oBAAoB,EAEpB,eAAe,IAAI,wBAAwB,EAC5C,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EACL,cAAc,GACf,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wCAAwC,CAAC;AAGhD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EAEnB,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,OAAO,IAAI,SAAS,EACpB,KAAK,IAAI,OAAO,EAChB,MAAM,IAAI,QAAQ,EAElB,kBAAkB,EAClB,oBAAoB,EAEpB,eAAe,IAAI,wBAAwB,EAC5C,MAAM,YAAY,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* matching a desired schema with intelligent auto-fixing capabilities.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.NxHelpersJSONTransformer = exports.defaultMatcherConfig = exports.bestMatchOneToMany = exports.nxObject = exports.nxArray = exports.nxBoolean = exports.nxNumber = exports.nxString = exports.anyToMarkdownString = exports.toTitleCase = exports.fromCamelToTitle = exports.toCamelCase = exports.loadJson = exports.mergeWithRoles = exports.mergeMultiple = exports.mergeNoRedundancy = exports.resetFormatDetector = exports.getFormatDetector = exports.FormatDetector = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = exports.MarkdownFormat = exports.learnAliasesFromTransformations = exports.createNxHelpersTransformer = exports.createTransformerFromSchemaFile = exports.loadSchemaFromFile = exports.jsonToMarkdown = exports.mergeTransformResults = exports.MarkdownParser = exports.Schema = exports.LearningTransformer = exports.JSONTransformer = void 0;
|
|
9
|
+
exports.NxHelpersJSONTransformer = exports.defaultMatcherConfig = exports.bestMatchOneToMany = exports.nxObject = exports.nxArray = exports.nxBoolean = exports.nxNumber = exports.nxString = exports.anyToMarkdownString = exports.toTitleCase = exports.fromCamelToTitle = exports.toCamelCase = exports.loadJson = exports.mergeWithRoles = exports.mergeMultiple = exports.mergeNoRedundancy = exports.resetFormatDetector = exports.getFormatDetector = exports.FormatDetector = exports.ColonParser = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = exports.MarkdownFormat = exports.learnAliasesFromTransformations = exports.createNxHelpersTransformer = exports.createTransformerFromSchemaFile = exports.loadSchemaFromFile = exports.jsonToMarkdown = exports.mergeTransformResults = exports.MarkdownParser = exports.Schema = exports.LearningTransformer = exports.JSONTransformer = void 0;
|
|
10
10
|
// Core functionality - what most users need
|
|
11
11
|
var transformer_1 = require("./lib/markdown-transformer/core/transformer");
|
|
12
12
|
Object.defineProperty(exports, "JSONTransformer", { enumerable: true, get: function () { return transformer_1.JSONTransformer; } });
|
|
@@ -31,6 +31,7 @@ var parsers_1 = require("./lib/markdown-transformer/parsers");
|
|
|
31
31
|
Object.defineProperty(exports, "BaseMarkdownParser", { enumerable: true, get: function () { return parsers_1.BaseMarkdownParser; } });
|
|
32
32
|
Object.defineProperty(exports, "HeadingParser", { enumerable: true, get: function () { return parsers_1.HeadingParser; } });
|
|
33
33
|
Object.defineProperty(exports, "BulletParser", { enumerable: true, get: function () { return parsers_1.BulletParser; } });
|
|
34
|
+
Object.defineProperty(exports, "ColonParser", { enumerable: true, get: function () { return parsers_1.ColonParser; } });
|
|
34
35
|
Object.defineProperty(exports, "FormatDetector", { enumerable: true, get: function () { return parsers_1.FormatDetector; } });
|
|
35
36
|
Object.defineProperty(exports, "getFormatDetector", { enumerable: true, get: function () { return parsers_1.getFormatDetector; } });
|
|
36
37
|
Object.defineProperty(exports, "resetFormatDetector", { enumerable: true, get: function () { return parsers_1.resetFormatDetector; } });
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,4CAA4C;AAC5C,2EAA8E;AAArE,8GAAA,eAAe,OAAA;AACxB,4EAAmF;AAA1E,kHAAA,mBAAmB,OAAA;AAC5B,2EAAqE;AAA5D,qGAAA,MAAM,OAAA;AAEf,8CAA8C;AAC9C,2EAEqD;AADnD,6GAAA,cAAc,OAAA;AAEhB,gEAOgD;AAN9C,8GAAA,qBAAqB,OAAA;AACrB,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,wHAAA,+BAA+B,OAAA;AAC/B,mHAAA,0BAA0B,OAAA;AAC1B,wHAAA,+BAA+B,OAAA;AAWjC,+DAAuE;AAA9D,uGAAA,cAAc,OAAA;AAEvB,iDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,4CAA4C;AAC5C,2EAA8E;AAArE,8GAAA,eAAe,OAAA;AACxB,4EAAmF;AAA1E,kHAAA,mBAAmB,OAAA;AAC5B,2EAAqE;AAA5D,qGAAA,MAAM,OAAA;AAEf,8CAA8C;AAC9C,2EAEqD;AADnD,6GAAA,cAAc,OAAA;AAEhB,gEAOgD;AAN9C,8GAAA,qBAAqB,OAAA;AACrB,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,wHAAA,+BAA+B,OAAA;AAC/B,mHAAA,0BAA0B,OAAA;AAC1B,wHAAA,+BAA+B,OAAA;AAWjC,+DAAuE;AAA9D,uGAAA,cAAc,OAAA;AAEvB,iDAAiD;AACjD,8DAQ4C;AAP1C,6GAAA,kBAAkB,OAAA;AAClB,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,sGAAA,WAAW,OAAA;AACX,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AAGrB,uDAAuD;AACvD,yCAoBoB;AAnBlB,+GAAA,iBAAiB,OAAA;AACjB,2GAAA,aAAa,OAAA;AACb,4GAAA,cAAc,OAAA;AACd,sGAAA,QAAQ,OAAA;AACR,yGAAA,WAAW,OAAA;AACX,8GAAA,gBAAgB,OAAA;AAChB,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,kBAAkB;AAClB,sGAAA,MAAM,OAAY;AAClB,sGAAA,MAAM,OAAY;AAClB,uGAAA,OAAO,OAAa;AACpB,qGAAA,KAAK,OAAW;AAChB,sGAAA,MAAM,OAAY;AAClB,oBAAoB;AACpB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,mBAAmB;AACnB,sHAAA,eAAe,OAA4B"}
|
|
@@ -42,6 +42,9 @@ export declare class JSONTransformer {
|
|
|
42
42
|
* Transform markdown text to JSON matching schema
|
|
43
43
|
*/
|
|
44
44
|
transformMarkdown(markdown: string): TransformResult;
|
|
45
|
+
private mergeRelatedSections;
|
|
46
|
+
private shouldMergeSections;
|
|
47
|
+
private analyzeContentStructure;
|
|
45
48
|
private sectionsToObject;
|
|
46
49
|
/**
|
|
47
50
|
* Transform any input to match desired schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,eAAe,EACf,aAAa,EAId,MAAM,SAAS,CAAC;AACjB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMnF,eAAO,MAAM,MAAM;kBACL,UAAU;kBACV,UAAU;mBACT,UAAU;mBACR,UAAU,KAAG,UAAU;yBACjB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,UAAU;CAI7D,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAa/D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIzC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAUhF;AAMD,qBAAa,eAAe;IAUxB,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;gBAG3B,MAAM,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAiBH;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;
|
|
1
|
+
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,eAAe,EACf,aAAa,EAId,MAAM,SAAS,CAAC;AACjB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMnF,eAAO,MAAM,MAAM;kBACL,UAAU;kBACV,UAAU;mBACT,UAAU;mBACR,UAAU,KAAG,UAAU;yBACjB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,UAAU;CAI7D,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAa/D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIzC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAUhF;AAMD,qBAAa,eAAe;IAUxB,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;gBAG3B,MAAM,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAiBH;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAoCpD,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,eAAe;IA+BtC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,OAAO;IAwEf,OAAO,CAAC,QAAQ;IA+DhB,OAAO,CAAC,uBAAuB;IAuC/B,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,eAAe;CAqBxB"}
|
|
@@ -90,7 +90,7 @@ class JSONTransformer {
|
|
|
90
90
|
// STEP 2: Get appropriate parser
|
|
91
91
|
const parser = this.formatDetector.getParser(format, markdown);
|
|
92
92
|
// STEP 3: Parse sections
|
|
93
|
-
|
|
93
|
+
let sections = parser.parseSections(markdown);
|
|
94
94
|
// STEP 4: Convert sections to object
|
|
95
95
|
const parsed = this.sectionsToObject(sections);
|
|
96
96
|
// STEP 5: Transform to match schema
|
|
@@ -105,6 +105,65 @@ class JSONTransformer {
|
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
+
mergeRelatedSections(sections) {
|
|
109
|
+
if (sections.length <= 1)
|
|
110
|
+
return sections;
|
|
111
|
+
const merged = [];
|
|
112
|
+
let currentSection = null;
|
|
113
|
+
for (const section of sections) {
|
|
114
|
+
// Check if this section should be merged with the current one
|
|
115
|
+
if (currentSection && this.shouldMergeSections(currentSection, section)) {
|
|
116
|
+
// Merge this section's content into the current section
|
|
117
|
+
currentSection.content += '\n\n' + section.heading + '\n' + section.content;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// Start a new section
|
|
121
|
+
if (currentSection) {
|
|
122
|
+
merged.push(currentSection);
|
|
123
|
+
}
|
|
124
|
+
currentSection = { ...section };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (currentSection) {
|
|
128
|
+
merged.push(currentSection);
|
|
129
|
+
}
|
|
130
|
+
return merged;
|
|
131
|
+
}
|
|
132
|
+
shouldMergeSections(current, next) {
|
|
133
|
+
// Only merge in bullet format
|
|
134
|
+
if (current.format !== 'bullet' || next.format !== 'bullet') {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
// For bullet format, merge sections based on content patterns
|
|
138
|
+
const currentStructure = this.analyzeContentStructure(current.content);
|
|
139
|
+
const nextStructure = this.analyzeContentStructure(next.content);
|
|
140
|
+
// Only merge if current has introductory text and next has structured content (overview + details)
|
|
141
|
+
// This indicates current is an overview and next are details
|
|
142
|
+
if (currentStructure.hasIntroText && nextStructure.hasStructuredContent && !nextStructure.hasIntroText) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
analyzeContentStructure(content) {
|
|
148
|
+
const trimmed = content.trim();
|
|
149
|
+
if (!trimmed) {
|
|
150
|
+
return { hasIntroText: false, hasStructuredContent: false, hasLists: false, hasNumbers: false };
|
|
151
|
+
}
|
|
152
|
+
const lines = trimmed.split('\n').map(l => l.trim()).filter(l => l);
|
|
153
|
+
// Check for introductory paragraph text (lines that don't start with bullets/numbers)
|
|
154
|
+
const introLines = lines.filter(line => !line.match(/^[-*•]\s/) && !line.match(/^\d+\./));
|
|
155
|
+
const hasIntroText = introLines.length > 0 && introLines[0].length > 20; // Substantial intro text
|
|
156
|
+
// Check for structured content (bullets, numbers, etc.)
|
|
157
|
+
const hasLists = lines.some(line => line.match(/^[-*•]\s/));
|
|
158
|
+
const hasNumbers = lines.some(line => line.match(/^\d+\./));
|
|
159
|
+
const hasStructuredContent = hasLists || hasNumbers || lines.length > 3;
|
|
160
|
+
return {
|
|
161
|
+
hasIntroText,
|
|
162
|
+
hasStructuredContent,
|
|
163
|
+
hasLists,
|
|
164
|
+
hasNumbers
|
|
165
|
+
};
|
|
166
|
+
}
|
|
108
167
|
sectionsToObject(sections) {
|
|
109
168
|
const result = {};
|
|
110
169
|
for (const section of sections) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,12 @@ export interface MarkdownSection {
|
|
|
22
22
|
heading: string;
|
|
23
23
|
content: string;
|
|
24
24
|
level: number;
|
|
25
|
-
format: 'heading' | 'bullet' | 'mixed';
|
|
25
|
+
format: 'heading' | 'bullet' | 'colon' | 'mixed';
|
|
26
26
|
}
|
|
27
27
|
export declare enum MarkdownFormat {
|
|
28
28
|
HEADING = "heading",// ### Section
|
|
29
29
|
BULLET = "bullet",// - Section
|
|
30
|
+
COLON = "colon",// Key: Value format
|
|
30
31
|
MIXED = "mixed",// Both in same doc
|
|
31
32
|
AUTO = "auto"
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;CAClD;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY,CAAK,cAAc;IACtC,MAAM,WAAW,CAAO,YAAY;IACpC,KAAK,UAAU,CAAS,oBAAoB;IAC5C,KAAK,UAAU,CAAS,mBAAmB;IAC3C,IAAI,SAAS;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -5,6 +5,7 @@ var MarkdownFormat;
|
|
|
5
5
|
(function (MarkdownFormat) {
|
|
6
6
|
MarkdownFormat["HEADING"] = "heading";
|
|
7
7
|
MarkdownFormat["BULLET"] = "bullet";
|
|
8
|
+
MarkdownFormat["COLON"] = "colon";
|
|
8
9
|
MarkdownFormat["MIXED"] = "mixed";
|
|
9
10
|
MarkdownFormat["AUTO"] = "auto"; // Auto-detect
|
|
10
11
|
})(MarkdownFormat || (exports.MarkdownFormat = MarkdownFormat = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":";;;AAuBA,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/core/types.ts"],"names":[],"mappings":";;;AAuBA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA,CAAW,cAAc;AACxC,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullet-parser.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcnC,aAAa,IAAI,cAAc;IAI/B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;
|
|
1
|
+
{"version":3,"file":"bullet-parser.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcnC,aAAa,IAAI,cAAc;IAI/B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IA8DlD,OAAO,CAAC,eAAe;CA0BxB"}
|
|
@@ -25,41 +25,48 @@ class BulletParser extends base_parser_1.BaseMarkdownParser {
|
|
|
25
25
|
let currentSection = null;
|
|
26
26
|
for (let i = 0; i < lines.length; i++) {
|
|
27
27
|
const line = lines[i];
|
|
28
|
-
// Check for bullet
|
|
29
|
-
const bulletMatch = line.match(
|
|
28
|
+
// Check for any bullet (indented or not)
|
|
29
|
+
const bulletMatch = line.match(/^\s*-\s+(.+)$/);
|
|
30
30
|
const isIndented = /^\s+/.test(line);
|
|
31
|
-
if (bulletMatch
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
if (bulletMatch) {
|
|
32
|
+
if (!isIndented) {
|
|
33
|
+
// Bullet at column 0 - check if it's a section header
|
|
34
|
+
const heading = bulletMatch[1].trim();
|
|
35
|
+
if (this.isSectionHeader(heading, lines, i)) {
|
|
36
|
+
// Save previous section
|
|
37
|
+
if (currentSection) {
|
|
38
|
+
currentSection.content = currentSection.content.trim();
|
|
39
|
+
sections.push(currentSection);
|
|
40
|
+
}
|
|
41
|
+
// Start new section
|
|
42
|
+
currentSection = {
|
|
43
|
+
heading: heading,
|
|
44
|
+
content: '',
|
|
45
|
+
level: 1,
|
|
46
|
+
format: 'bullet'
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
else if (currentSection) {
|
|
50
|
+
// This is content (part of a list in current section)
|
|
51
|
+
currentSection.content += line + '\n';
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// First line - treat as section
|
|
55
|
+
currentSection = {
|
|
56
|
+
heading: heading,
|
|
57
|
+
content: '',
|
|
58
|
+
level: 1,
|
|
59
|
+
format: 'bullet'
|
|
60
|
+
};
|
|
38
61
|
}
|
|
39
|
-
// Start new section
|
|
40
|
-
currentSection = {
|
|
41
|
-
heading: heading,
|
|
42
|
-
content: '',
|
|
43
|
-
level: 1,
|
|
44
|
-
format: 'bullet'
|
|
45
|
-
};
|
|
46
62
|
}
|
|
47
63
|
else if (currentSection) {
|
|
48
|
-
//
|
|
64
|
+
// Indented bullet - always content for current section
|
|
49
65
|
currentSection.content += line + '\n';
|
|
50
66
|
}
|
|
51
|
-
else {
|
|
52
|
-
// First line - treat as section
|
|
53
|
-
currentSection = {
|
|
54
|
-
heading: heading,
|
|
55
|
-
content: '',
|
|
56
|
-
level: 1,
|
|
57
|
-
format: 'bullet'
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
67
|
}
|
|
61
68
|
else if (currentSection) {
|
|
62
|
-
//
|
|
69
|
+
// Non-bullet line - content for current section
|
|
63
70
|
currentSection.content += line + '\n';
|
|
64
71
|
}
|
|
65
72
|
}
|
|
@@ -71,23 +78,24 @@ class BulletParser extends base_parser_1.BaseMarkdownParser {
|
|
|
71
78
|
return sections;
|
|
72
79
|
}
|
|
73
80
|
isSectionHeader(heading, lines, index) {
|
|
74
|
-
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
// Analyze the heading to determine if it's a section title or list item
|
|
82
|
+
// If it ends with a period, it's likely a complete sentence (list item)
|
|
83
|
+
if (heading.endsWith('.')) {
|
|
84
|
+
return false; // Treat as content for previous section
|
|
85
|
+
}
|
|
86
|
+
// If it's very short and looks like a numbered item, it's a list item
|
|
87
|
+
if (heading.length < 20 && /^\d+\./.test(heading.trim())) {
|
|
88
|
+
return false; // Numbered list item
|
|
89
|
+
}
|
|
90
|
+
// If it's very short and doesn't look like a title, it might be a list item
|
|
91
|
+
if (heading.length < 15 && !/^[A-Z]/.test(heading)) {
|
|
92
|
+
return false; // Probably a list item
|
|
93
|
+
}
|
|
94
|
+
// If it contains multiple sentences, it's likely content
|
|
95
|
+
if (heading.includes('. ') || heading.split('.').length > 2) {
|
|
96
|
+
return false; // Multi-sentence content
|
|
89
97
|
}
|
|
90
|
-
//
|
|
98
|
+
// Default: treat as section header
|
|
91
99
|
return true;
|
|
92
100
|
}
|
|
93
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullet-parser.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AACnD,yCAAgE;AAEhE,MAAa,YAAa,SAAQ,gCAAkB;IAClD,QAAQ,CAAC,QAAgB;QACvB,wDAAwD;QACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE3C,oEAAoE;QACpE,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,sBAAc,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,IAAI,cAAc,GAA2B,IAAI,CAAC;QAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,
|
|
1
|
+
{"version":3,"file":"bullet-parser.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/bullet-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseMarkdownParser } from './base-parser';
|
|
2
|
+
import { MarkdownSection } from '../core/types';
|
|
3
|
+
import { MarkdownFormat } from '../core/types';
|
|
4
|
+
export declare class ColonParser extends BaseMarkdownParser {
|
|
5
|
+
canParse(markdown: string): boolean;
|
|
6
|
+
getFormatName(): MarkdownFormat;
|
|
7
|
+
parseSections(markdown: string): MarkdownSection[];
|
|
8
|
+
private isLikelyTitle;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=colon-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colon-parser.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/colon-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWnC,aAAa,IAAI,cAAc;IAI/B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IA6BlD,OAAO,CAAC,aAAa;CAoBtB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColonParser = void 0;
|
|
4
|
+
const base_parser_1 = require("./base-parser");
|
|
5
|
+
const types_1 = require("../core/types");
|
|
6
|
+
class ColonParser extends base_parser_1.BaseMarkdownParser {
|
|
7
|
+
canParse(markdown) {
|
|
8
|
+
const lines = markdown.split('\n').filter(l => l.trim());
|
|
9
|
+
// Must have at least some lines that look like key: value
|
|
10
|
+
const colonLines = lines.filter(line => line.includes(':'));
|
|
11
|
+
const totalLines = lines.length;
|
|
12
|
+
// If more than 50% of lines contain colons, likely colon format
|
|
13
|
+
return colonLines.length > totalLines * 0.3 && colonLines.length >= 2;
|
|
14
|
+
}
|
|
15
|
+
getFormatName() {
|
|
16
|
+
return types_1.MarkdownFormat.COLON;
|
|
17
|
+
}
|
|
18
|
+
parseSections(markdown) {
|
|
19
|
+
const lines = markdown.split('\n');
|
|
20
|
+
const sections = [];
|
|
21
|
+
for (const line of lines) {
|
|
22
|
+
const trimmed = line.trim();
|
|
23
|
+
if (!trimmed)
|
|
24
|
+
continue;
|
|
25
|
+
// Check if line looks like "Key: Value"
|
|
26
|
+
const colonIndex = trimmed.indexOf(':');
|
|
27
|
+
if (colonIndex > 0) {
|
|
28
|
+
const key = trimmed.substring(0, colonIndex).trim();
|
|
29
|
+
const value = trimmed.substring(colonIndex + 1).trim();
|
|
30
|
+
// Only treat as section if it looks like a title (not too long, not a sentence)
|
|
31
|
+
if (this.isLikelyTitle(key) && value) {
|
|
32
|
+
sections.push({
|
|
33
|
+
heading: key,
|
|
34
|
+
content: value,
|
|
35
|
+
level: 1,
|
|
36
|
+
format: 'colon'
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return sections;
|
|
42
|
+
}
|
|
43
|
+
isLikelyTitle(key) {
|
|
44
|
+
// Titles are typically:
|
|
45
|
+
// - Short (less than 50 chars)
|
|
46
|
+
// - Start with capital letter or are camelCase
|
|
47
|
+
// - Don't contain complete sentences
|
|
48
|
+
// - Not too generic
|
|
49
|
+
if (key.length > 50)
|
|
50
|
+
return false;
|
|
51
|
+
if (key.length < 2)
|
|
52
|
+
return false;
|
|
53
|
+
// Don't treat complete sentences as titles
|
|
54
|
+
if (key.includes('.') || key.split(' ').length > 8)
|
|
55
|
+
return false;
|
|
56
|
+
// Don't treat very generic terms as titles
|
|
57
|
+
const genericTerms = ['the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by'];
|
|
58
|
+
const lowerKey = key.toLowerCase();
|
|
59
|
+
if (genericTerms.includes(lowerKey))
|
|
60
|
+
return false;
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.ColonParser = ColonParser;
|
|
65
|
+
//# sourceMappingURL=colon-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colon-parser.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/colon-parser.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAEnD,yCAA+C;AAE/C,MAAa,WAAY,SAAQ,gCAAkB;IACjD,QAAQ,CAAC,QAAgB;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAEhC,gEAAgE;QAChE,OAAO,UAAU,CAAC,MAAM,GAAG,UAAU,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,OAAO,sBAAc,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,wCAAwC;YACxC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvD,gFAAgF;gBAChF,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,GAAG;wBACZ,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,wBAAwB;QACxB,+BAA+B;QAC/B,+CAA+C;QAC/C,qCAAqC;QACrC,oBAAoB;QAEpB,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjC,2CAA2C;QAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjE,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/G,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAElD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjED,kCAiEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-detector.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"format-detector.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,aAAkB;IAQvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAYxC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;IA2BxE,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;CAGjD"}
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FormatDetector = void 0;
|
|
4
4
|
const heading_parser_1 = require("./heading-parser");
|
|
5
5
|
const bullet_parser_1 = require("./bullet-parser");
|
|
6
|
+
const colon_parser_1 = require("./colon-parser");
|
|
6
7
|
const types_1 = require("../core/types");
|
|
7
8
|
class FormatDetector {
|
|
8
9
|
constructor(options = {}) {
|
|
9
10
|
this.parsers = [
|
|
10
11
|
new heading_parser_1.HeadingParser(options),
|
|
11
|
-
new bullet_parser_1.BulletParser(options)
|
|
12
|
+
new bullet_parser_1.BulletParser(options),
|
|
13
|
+
new colon_parser_1.ColonParser(options)
|
|
12
14
|
];
|
|
13
15
|
}
|
|
14
16
|
detect(markdown) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-detector.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,mDAA+C;AAC/C,yCAA8D;AAE9D,MAAa,cAAc;IAGzB,YAAY,UAAyB,EAAE;QACrC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,8BAAa,CAAC,OAAO,CAAC;YAC1B,IAAI,4BAAY,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"format-detector.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/format-detector.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,mDAA+C;AAC/C,iDAA6C;AAC7C,yCAA8D;AAE9D,MAAa,cAAc;IAGzB,YAAY,UAAyB,EAAE;QACrC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,8BAAa,CAAC,OAAO,CAAC;YAC1B,IAAI,4BAAY,CAAC,OAAO,CAAC;YACzB,IAAI,0BAAW,CAAC,OAAO,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,uDAAuD;QACvD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,sBAAc,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,MAAsB,EAAE,QAAiB;QACjD,IAAI,MAAM,KAAK,sBAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,4CAA4C;QAC5C,IAAI,MAAM,KAAK,sBAAc,CAAC,KAAK,EAAE,CAAC;YACpC,wCAAwC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,sBAAc,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,sBAAc,CAAC,MAAM,CAAC,CAAC;YAEzF,IAAI,aAAa,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,IAAI,YAAY,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC3C,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,6BAA6B;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,MAA0B;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AArDD,wCAqDC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { BaseMarkdownParser } from './base-parser';
|
|
2
2
|
export { HeadingParser } from './heading-parser';
|
|
3
3
|
export { BulletParser } from './bullet-parser';
|
|
4
|
+
export { ColonParser } from './colon-parser';
|
|
4
5
|
export { FormatDetector } from './format-detector';
|
|
5
6
|
import { FormatDetector } from './format-detector';
|
|
6
7
|
import { ParserOptions } from '../core/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAKzE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAKzE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormatDetector = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = void 0;
|
|
3
|
+
exports.FormatDetector = exports.ColonParser = exports.BulletParser = exports.HeadingParser = exports.BaseMarkdownParser = void 0;
|
|
4
4
|
exports.getFormatDetector = getFormatDetector;
|
|
5
5
|
exports.resetFormatDetector = resetFormatDetector;
|
|
6
6
|
var base_parser_1 = require("./base-parser");
|
|
@@ -9,6 +9,8 @@ var heading_parser_1 = require("./heading-parser");
|
|
|
9
9
|
Object.defineProperty(exports, "HeadingParser", { enumerable: true, get: function () { return heading_parser_1.HeadingParser; } });
|
|
10
10
|
var bullet_parser_1 = require("./bullet-parser");
|
|
11
11
|
Object.defineProperty(exports, "BulletParser", { enumerable: true, get: function () { return bullet_parser_1.BulletParser; } });
|
|
12
|
+
var colon_parser_1 = require("./colon-parser");
|
|
13
|
+
Object.defineProperty(exports, "ColonParser", { enumerable: true, get: function () { return colon_parser_1.ColonParser; } });
|
|
12
14
|
var format_detector_1 = require("./format-detector");
|
|
13
15
|
Object.defineProperty(exports, "FormatDetector", { enumerable: true, get: function () { return format_detector_1.FormatDetector; } });
|
|
14
16
|
const format_detector_2 = require("./format-detector");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/markdown-transformer/parsers/index.ts"],"names":[],"mappings":";;;AAYA,8CAKC;AAED,kDAEC;AArBD,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,uDAAmD;AAGnD,8BAA8B;AAC9B,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD,SAAgB,iBAAiB,CAAC,OAAuB;IACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAgB,mBAAmB;IACjC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nx-md-parser",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Multi-Format AI-Powered Markdown to JSON Transformer with support for
|
|
3
|
+
"version": "2.0.2",
|
|
4
|
+
"description": "Extensible Multi-Format AI-Powered Markdown to JSON Transformer with support for any markdown variant through custom parsers, intelligent schema validation, auto-fixing, table parsing, and optional persistent machine learning",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -35,12 +35,20 @@
|
|
|
35
35
|
"persistent-learning",
|
|
36
36
|
"ml-persistence",
|
|
37
37
|
"multi-format",
|
|
38
|
-
"headings",
|
|
39
|
-
"bullets",
|
|
40
|
-
"modular",
|
|
41
38
|
"extensible",
|
|
39
|
+
"custom-parsers",
|
|
40
|
+
"modular",
|
|
42
41
|
"format-detection",
|
|
43
|
-
"auto-detection"
|
|
42
|
+
"auto-detection",
|
|
43
|
+
"plugin-architecture",
|
|
44
|
+
"yaml",
|
|
45
|
+
"frontmatter",
|
|
46
|
+
"headings",
|
|
47
|
+
"bullets",
|
|
48
|
+
"numbered-lists",
|
|
49
|
+
"colon",
|
|
50
|
+
"key-value",
|
|
51
|
+
"properties"
|
|
44
52
|
],
|
|
45
53
|
"author": "nx-md-parser contributors",
|
|
46
54
|
"license": "ISC",
|