react-native-nitro-markdown 0.5.3 → 0.5.4
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 +77 -10
- package/android/CMakeLists.txt +1 -1
- package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +9 -3
- package/cpp/bindings/HybridMarkdownParser.cpp +4 -2
- package/cpp/core/MD4CParser.cpp +20 -2
- package/cpp/core/MarkdownTypes.hpp +1 -1
- package/lib/commonjs/headless.js +2 -2
- package/lib/commonjs/markdown.js +16 -12
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/blockquote.js +15 -13
- package/lib/commonjs/renderers/blockquote.js.map +1 -1
- package/lib/commonjs/renderers/code.js +57 -53
- package/lib/commonjs/renderers/code.js.map +1 -1
- package/lib/commonjs/renderers/heading.js +48 -46
- package/lib/commonjs/renderers/heading.js.map +1 -1
- package/lib/commonjs/renderers/horizontal-rule.js +10 -8
- package/lib/commonjs/renderers/horizontal-rule.js.map +1 -1
- package/lib/commonjs/renderers/image.js +12 -3
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/list.js +75 -70
- package/lib/commonjs/renderers/list.js.map +1 -1
- package/lib/commonjs/renderers/math.js +4 -3
- package/lib/commonjs/renderers/math.js.map +1 -1
- package/lib/commonjs/renderers/paragraph.js +15 -13
- package/lib/commonjs/renderers/paragraph.js.map +1 -1
- package/lib/commonjs/renderers/style-cache.js +14 -0
- package/lib/commonjs/renderers/style-cache.js.map +1 -0
- package/lib/commonjs/renderers/table/index.js +7 -4
- package/lib/commonjs/renderers/table/index.js.map +1 -1
- package/lib/module/headless.js +2 -2
- package/lib/module/markdown.js +16 -12
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/blockquote.js +15 -13
- package/lib/module/renderers/blockquote.js.map +1 -1
- package/lib/module/renderers/code.js +57 -53
- package/lib/module/renderers/code.js.map +1 -1
- package/lib/module/renderers/heading.js +48 -46
- package/lib/module/renderers/heading.js.map +1 -1
- package/lib/module/renderers/horizontal-rule.js +10 -8
- package/lib/module/renderers/horizontal-rule.js.map +1 -1
- package/lib/module/renderers/image.js +13 -4
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/list.js +75 -70
- package/lib/module/renderers/list.js.map +1 -1
- package/lib/module/renderers/math.js +4 -3
- package/lib/module/renderers/math.js.map +1 -1
- package/lib/module/renderers/paragraph.js +15 -13
- package/lib/module/renderers/paragraph.js.map +1 -1
- package/lib/module/renderers/style-cache.js +10 -0
- package/lib/module/renderers/style-cache.js.map +1 -0
- package/lib/module/renderers/table/index.js +7 -4
- package/lib/module/renderers/table/index.js.map +1 -1
- package/lib/typescript/commonjs/Markdown.nitro.d.ts +1 -0
- package/lib/typescript/commonjs/Markdown.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/headless.d.ts +2 -2
- package/lib/typescript/commonjs/markdown.d.ts +1 -1
- package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/blockquote.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/blockquote.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/paragraph.d.ts +1 -1
- package/lib/typescript/commonjs/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/style-cache.d.ts +3 -0
- package/lib/typescript/commonjs/renderers/style-cache.d.ts.map +1 -0
- package/lib/typescript/commonjs/renderers/table/index.d.ts.map +1 -1
- package/lib/typescript/module/Markdown.nitro.d.ts +1 -0
- package/lib/typescript/module/Markdown.nitro.d.ts.map +1 -1
- package/lib/typescript/module/headless.d.ts +2 -2
- package/lib/typescript/module/markdown.d.ts +1 -1
- package/lib/typescript/module/markdown.d.ts.map +1 -1
- package/lib/typescript/module/renderers/blockquote.d.ts +1 -1
- package/lib/typescript/module/renderers/blockquote.d.ts.map +1 -1
- package/lib/typescript/module/renderers/code.d.ts.map +1 -1
- package/lib/typescript/module/renderers/heading.d.ts +1 -1
- package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts +1 -1
- package/lib/typescript/module/renderers/horizontal-rule.d.ts.map +1 -1
- package/lib/typescript/module/renderers/image.d.ts.map +1 -1
- package/lib/typescript/module/renderers/list.d.ts +1 -1
- package/lib/typescript/module/renderers/list.d.ts.map +1 -1
- package/lib/typescript/module/renderers/math.d.ts +1 -1
- package/lib/typescript/module/renderers/math.d.ts.map +1 -1
- package/lib/typescript/module/renderers/paragraph.d.ts +1 -1
- package/lib/typescript/module/renderers/paragraph.d.ts.map +1 -1
- package/lib/typescript/module/renderers/style-cache.d.ts +3 -0
- package/lib/typescript/module/renderers/style-cache.d.ts.map +1 -0
- package/lib/typescript/module/renderers/table/index.d.ts.map +1 -1
- package/nitro.json +12 -3
- package/nitrogen/generated/android/NitroMarkdownOnLoad.cpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +2 -2
- package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.hpp +2 -2
- package/nitrogen/generated/ios/NitroMarkdown+autolinking.rb +2 -0
- package/nitrogen/generated/shared/c++/ParserOptions.hpp +6 -2
- package/package.json +5 -5
- package/react-native-nitro-markdown.podspec +3 -0
- package/src/Markdown.nitro.ts +1 -0
- package/src/headless.ts +2 -2
- package/src/markdown.tsx +30 -12
- package/src/renderers/blockquote.tsx +22 -17
- package/src/renderers/code.tsx +75 -63
- package/src/renderers/heading.tsx +60 -54
- package/src/renderers/horizontal-rule.tsx +17 -12
- package/src/renderers/image.tsx +15 -4
- package/src/renderers/list.tsx +93 -76
- package/src/renderers/math.tsx +8 -3
- package/src/renderers/paragraph.tsx +22 -17
- package/src/renderers/style-cache.ts +14 -0
- package/src/renderers/table/index.tsx +15 -10
package/README.md
CHANGED
|
@@ -12,6 +12,9 @@ Native Markdown parsing and rendering for React Native, powered by [md4c](https:
|
|
|
12
12
|
- **Full rendering pipeline** -- parser + renderer + streaming session in one package
|
|
13
13
|
- **GFM support** -- tables, strikethrough, task lists, autolinks
|
|
14
14
|
- **Math rendering** -- inline and block LaTeX via `react-native-mathjax-svg` (optional)
|
|
15
|
+
- **Opt-in HTML AST nodes** -- preserve raw HTML as `html_inline` / `html_block` for custom renderers
|
|
16
|
+
- **Large document support** -- top-level block virtualization and cached renderer styles
|
|
17
|
+
- **Code highlighting** -- built-in JS/TS, Python, and Bash tokenizer with custom highlighter support
|
|
15
18
|
- **Headless API** -- parse markdown and extract text without any UI
|
|
16
19
|
- **Streaming** -- incremental rendering for chat/LLM token streams
|
|
17
20
|
- **Customizable** -- themes, per-node style overrides, custom renderers, AST transforms, plugin pipeline
|
|
@@ -21,17 +24,26 @@ Native Markdown parsing and rendering for React Native, powered by [md4c](https:
|
|
|
21
24
|
| Dependency | Version |
|
|
22
25
|
|---|---|
|
|
23
26
|
| React Native | `>=0.75.0` |
|
|
24
|
-
| react-native-nitro-modules | `>=0.35.
|
|
27
|
+
| react-native-nitro-modules | `>=0.35.4` |
|
|
25
28
|
| react-native-mathjax-svg *(optional)* | `>=0.9.0` |
|
|
26
29
|
| react-native-svg *(optional, for math)* | `>=13.0.0` |
|
|
27
30
|
|
|
28
31
|
## Installation
|
|
29
32
|
|
|
33
|
+
With npm:
|
|
34
|
+
|
|
30
35
|
```bash
|
|
31
36
|
npm install react-native-nitro-markdown react-native-nitro-modules
|
|
32
37
|
cd ios && pod install
|
|
33
38
|
```
|
|
34
39
|
|
|
40
|
+
With Bun:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
bun add react-native-nitro-markdown react-native-nitro-modules
|
|
44
|
+
cd ios && pod install
|
|
45
|
+
```
|
|
46
|
+
|
|
35
47
|
For math rendering:
|
|
36
48
|
|
|
37
49
|
```bash
|
|
@@ -61,6 +73,22 @@ export function Example() {
|
|
|
61
73
|
|
|
62
74
|
## API Reference
|
|
63
75
|
|
|
76
|
+
### Parser Options
|
|
77
|
+
|
|
78
|
+
`ParserOptions` controls native parser extensions. Defaults are conservative for HTML and feature-complete for Markdown extensions.
|
|
79
|
+
|
|
80
|
+
| Option | Default | Enables | Notes |
|
|
81
|
+
|---|---:|---|---|
|
|
82
|
+
| `gfm` | `true` | Tables, strikethrough, task lists, permissive autolinks | Set `false` for stricter CommonMark-style parsing |
|
|
83
|
+
| `math` | `true` | Inline and display LaTeX spans | Rendering falls back to plain styled text unless optional math deps are installed |
|
|
84
|
+
| `html` | `false` | `html_inline` and `html_block` AST nodes | Raw HTML is not rendered by default; provide custom renderers |
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
<Markdown options={{ gfm: true, math: true, html: false }}>
|
|
88
|
+
{content}
|
|
89
|
+
</Markdown>
|
|
90
|
+
```
|
|
91
|
+
|
|
64
92
|
### `<Markdown>`
|
|
65
93
|
|
|
66
94
|
The main component. Parses a markdown string and renders it.
|
|
@@ -72,7 +100,7 @@ import { Markdown } from "react-native-nitro-markdown";
|
|
|
72
100
|
| Prop | Type | Default | Description |
|
|
73
101
|
|---|---|---|---|
|
|
74
102
|
| `children` | `string` | required | Markdown input string |
|
|
75
|
-
| `options` | `ParserOptions` | -- | Parser flags (`gfm`, `math`) |
|
|
103
|
+
| `options` | `ParserOptions` | -- | Parser flags (`gfm`, `math`, `html`) |
|
|
76
104
|
| `plugins` | `MarkdownPlugin[]` | -- | Plugin hooks (`beforeParse`, `afterParse`) |
|
|
77
105
|
| `sourceAst` | `MarkdownNode` | -- | Pre-parsed AST; skips native parse when provided |
|
|
78
106
|
| `astTransform` | `AstTransform` | -- | Post-parse AST rewrite before render |
|
|
@@ -174,7 +202,7 @@ import {
|
|
|
174
202
|
|
|
175
203
|
| Function | Description |
|
|
176
204
|
|---|---|
|
|
177
|
-
| `parseMarkdown(text, options?)` | Parse to AST (options: `{ gfm?, math? }`) |
|
|
205
|
+
| `parseMarkdown(text, options?)` | Parse to AST (options: `{ gfm?, math?, html? }`) |
|
|
178
206
|
| `parseMarkdownWithOptions(text, options)` | Parse with explicit options |
|
|
179
207
|
| `extractPlainText(text)` | Parse and return plain text from native parser |
|
|
180
208
|
| `extractPlainTextWithOptions(text, options)` | Same with parser flags |
|
|
@@ -218,9 +246,41 @@ Renderers receive `EnhancedRendererProps` with `node`, `children`, and `Renderer
|
|
|
218
246
|
| `code_inline` | `content` |
|
|
219
247
|
| `list` | `ordered`, `start` |
|
|
220
248
|
| `task_list_item` | `checked` |
|
|
249
|
+
| `html_inline`, `html_block` | Read raw HTML from `node.content` |
|
|
221
250
|
|
|
222
251
|
Return `undefined` to fall back to the built-in renderer, or `null` to render nothing.
|
|
223
252
|
|
|
253
|
+
#### Rendering HTML Nodes
|
|
254
|
+
|
|
255
|
+
HTML parsing is opt-in and produces raw AST nodes. The built-in renderer intentionally renders nothing for `html_inline` and `html_block`; applications decide what is safe to display.
|
|
256
|
+
|
|
257
|
+
```tsx
|
|
258
|
+
import { Text, View } from "react-native";
|
|
259
|
+
import { Markdown } from "react-native-nitro-markdown";
|
|
260
|
+
|
|
261
|
+
<Markdown
|
|
262
|
+
options={{ html: true }}
|
|
263
|
+
renderers={{
|
|
264
|
+
html_inline: ({ node }) => {
|
|
265
|
+
if (node.content === "<br>") return <Text>{"\n"}</Text>;
|
|
266
|
+
return null;
|
|
267
|
+
},
|
|
268
|
+
html_block: ({ node }) => {
|
|
269
|
+
if (!node.content?.includes('data-kind="release-note"')) return null;
|
|
270
|
+
return (
|
|
271
|
+
<View>
|
|
272
|
+
<Text>Release note</Text>
|
|
273
|
+
</View>
|
|
274
|
+
);
|
|
275
|
+
},
|
|
276
|
+
}}
|
|
277
|
+
>
|
|
278
|
+
{content}
|
|
279
|
+
</Markdown>;
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Do not pass untrusted HTML directly into a WebView from a renderer. Sanitize or map known tags/attributes to native components.
|
|
283
|
+
|
|
224
284
|
### Theme API
|
|
225
285
|
|
|
226
286
|
```tsx
|
|
@@ -337,7 +397,11 @@ const plugins: MarkdownPlugin[] = [
|
|
|
337
397
|
```tsx
|
|
338
398
|
import { Markdown, parseMarkdownWithOptions } from "react-native-nitro-markdown";
|
|
339
399
|
|
|
340
|
-
const ast = parseMarkdownWithOptions(content, {
|
|
400
|
+
const ast = parseMarkdownWithOptions(content, {
|
|
401
|
+
gfm: true,
|
|
402
|
+
math: true,
|
|
403
|
+
html: false,
|
|
404
|
+
});
|
|
341
405
|
|
|
342
406
|
<Markdown sourceAst={ast}>{"ignored when sourceAst is provided"}</Markdown>;
|
|
343
407
|
```
|
|
@@ -363,6 +427,8 @@ Keep `Markdown` as the primary vertical scroller when virtualization is enabled
|
|
|
363
427
|
### Syntax Highlighting
|
|
364
428
|
|
|
365
429
|
```tsx
|
|
430
|
+
import type { CodeHighlighter } from "react-native-nitro-markdown";
|
|
431
|
+
|
|
366
432
|
// Built-in highlighter (JS/TS, Python, Bash)
|
|
367
433
|
<Markdown highlightCode>{"```typescript\nconst x: number = 42;\n```"}</Markdown>
|
|
368
434
|
|
|
@@ -395,7 +461,7 @@ Default link behavior: trims href, calls `onLinkPress`, validates scheme (`http:
|
|
|
395
461
|
|
|
396
462
|
`document`, `heading`, `paragraph`, `text`, `bold`, `italic`, `strikethrough`, `link`, `image`, `code_inline`, `code_block`, `blockquote`, `horizontal_rule`, `line_break`, `soft_break`, `table`, `table_head`, `table_body`, `table_row`, `table_cell`, `list`, `list_item`, `task_list_item`, `math_inline`, `math_block`, `html_block`, `html_inline`
|
|
397
463
|
|
|
398
|
-
`html_inline` and `html_block` are parsed
|
|
464
|
+
`html_inline` and `html_block` are parsed only when `options.html` is `true`; they are not rendered by default. Use a custom renderer to handle them, and read raw HTML from `node.content`.
|
|
399
465
|
|
|
400
466
|
## Package Exports
|
|
401
467
|
|
|
@@ -409,10 +475,11 @@ Parser and text utilities only -- no React dependencies. Use this for server-sid
|
|
|
409
475
|
|
|
410
476
|
## Performance Tips
|
|
411
477
|
|
|
412
|
-
- Use `updateStrategy="raf"` for streaming
|
|
413
|
-
- Batch `session.append()` calls
|
|
414
|
-
- Enable `virtualize` for
|
|
415
|
-
-
|
|
478
|
+
- Use `updateStrategy="raf"` for streaming UI updates.
|
|
479
|
+
- Batch `session.append()` calls at 50-100ms intervals rather than per-character.
|
|
480
|
+
- Enable `virtualize="auto"` for long documents and keep `Markdown` as the primary vertical scroller.
|
|
481
|
+
- Memoize custom `plugins`, `renderers`, `theme`, and `styles` objects when they are created inside a component.
|
|
482
|
+
- Use the headless API when you only need parsing, plain text extraction, search indexing, or a custom renderer.
|
|
416
483
|
|
|
417
484
|
## Troubleshooting
|
|
418
485
|
|
|
@@ -432,7 +499,7 @@ The `apps/example` directory contains a full demo app with these screens:
|
|
|
432
499
|
| Bench | `app/index.tsx` | Smoke tests + benchmark vs JS parsers |
|
|
433
500
|
| Default | `app/render-default.tsx` | Built-in renderer defaults |
|
|
434
501
|
| Styles | `app/render-default-styles.tsx` | Theme and style overrides |
|
|
435
|
-
| Custom | `app/render-custom.tsx` |
|
|
502
|
+
| Custom | `app/render-custom.tsx` | HTML AST rendering, custom renderers, AST transform |
|
|
436
503
|
| Stream | `app/render-stream.tsx` | Live streaming with token append |
|
|
437
504
|
|
|
438
505
|
## Contributing
|
package/android/CMakeLists.txt
CHANGED
|
@@ -13,6 +13,7 @@ set(CPP_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../cpp")
|
|
|
13
13
|
file(GLOB MD4C_SOURCES "${CPP_ROOT}/md4c/*.c")
|
|
14
14
|
file(GLOB CORE_SOURCES "${CPP_ROOT}/core/*.cpp")
|
|
15
15
|
file(GLOB BINDING_SOURCES "${CPP_ROOT}/bindings/*.cpp")
|
|
16
|
+
list(FILTER CORE_SOURCES EXCLUDE REGEX ".*Test\\.cpp$")
|
|
16
17
|
|
|
17
18
|
# Create the shared library with our sources
|
|
18
19
|
add_library(${PROJECT_NAME} SHARED
|
|
@@ -44,4 +45,3 @@ target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE
|
|
|
44
45
|
$<$<CONFIG:Release>:-O3 -DNDEBUG>
|
|
45
46
|
$<$<CONFIG:Debug>:-O0 -g>
|
|
46
47
|
)
|
|
47
|
-
|
|
@@ -62,7 +62,7 @@ class HybridMarkdownSession : HybridMarkdownSessionSpec() {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
override fun getTextRange(from: Double, to: Double): String {
|
|
65
|
-
if (from.
|
|
65
|
+
if (!from.isFinite() || !to.isFinite() || from < 0.0 || to < 0.0 || from > to) return ""
|
|
66
66
|
synchronized(lock) {
|
|
67
67
|
val start = from.toLong().coerceIn(0L, buffer.length.toLong()).toInt()
|
|
68
68
|
val end = to.toLong().coerceIn(start.toLong(), buffer.length.toLong()).toInt()
|
|
@@ -88,15 +88,21 @@ class HybridMarkdownSession : HybridMarkdownSessionSpec() {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
override fun replace(from: Double, to: Double, text: String): Double {
|
|
91
|
-
require(from
|
|
91
|
+
require(from.isFinite() && to.isFinite() && from >= 0.0 && to >= 0.0 && to >= from) {
|
|
92
|
+
"Invalid range: from=$from and to=$to must be finite, from must be >= 0, and to must be >= from"
|
|
93
|
+
}
|
|
92
94
|
val newLength: Double
|
|
95
|
+
val notifyFrom: Double
|
|
96
|
+
val notifyTo: Double
|
|
93
97
|
synchronized(lock) {
|
|
94
98
|
val start = from.toLong().coerceIn(0L, buffer.length.toLong()).toInt()
|
|
95
99
|
val end = to.toLong().coerceIn(start.toLong(), buffer.length.toLong()).toInt()
|
|
96
100
|
buffer.replace(start, end, text)
|
|
97
101
|
newLength = buffer.length.toDouble()
|
|
102
|
+
notifyFrom = start.toDouble()
|
|
103
|
+
notifyTo = start.toDouble() + text.length.toDouble()
|
|
98
104
|
}
|
|
99
|
-
notifyListeners(
|
|
105
|
+
notifyListeners(notifyFrom, notifyTo)
|
|
100
106
|
return newLength
|
|
101
107
|
}
|
|
102
108
|
|
|
@@ -249,7 +249,7 @@ std::string flattenNodeText(const std::shared_ptr<InternalMarkdownNode>& node) {
|
|
|
249
249
|
} // namespace
|
|
250
250
|
|
|
251
251
|
std::string HybridMarkdownParser::parse(const std::string& text) {
|
|
252
|
-
InternalParserOptions opts{.gfm = true, .math = true};
|
|
252
|
+
InternalParserOptions opts{.gfm = true, .math = true, .html = false};
|
|
253
253
|
|
|
254
254
|
auto ast = parser_->parse(text, opts);
|
|
255
255
|
return nodeToJson(ast);
|
|
@@ -259,13 +259,14 @@ std::string HybridMarkdownParser::parseWithOptions(const std::string& text, cons
|
|
|
259
259
|
InternalParserOptions internalOpts;
|
|
260
260
|
internalOpts.gfm = options.gfm.value_or(true);
|
|
261
261
|
internalOpts.math = options.math.value_or(true);
|
|
262
|
+
internalOpts.html = options.html.value_or(false);
|
|
262
263
|
|
|
263
264
|
auto ast = parser_->parse(text, internalOpts);
|
|
264
265
|
return nodeToJson(ast);
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
std::string HybridMarkdownParser::extractPlainText(const std::string& text) {
|
|
268
|
-
InternalParserOptions opts{.gfm = true, .math = true};
|
|
269
|
+
InternalParserOptions opts{.gfm = true, .math = true, .html = false};
|
|
269
270
|
|
|
270
271
|
auto ast = parser_->parse(text, opts);
|
|
271
272
|
return flattenNodeText(ast);
|
|
@@ -275,6 +276,7 @@ std::string HybridMarkdownParser::extractPlainTextWithOptions(const std::string&
|
|
|
275
276
|
InternalParserOptions internalOpts;
|
|
276
277
|
internalOpts.gfm = options.gfm.value_or(true);
|
|
277
278
|
internalOpts.math = options.math.value_or(true);
|
|
279
|
+
internalOpts.html = options.html.value_or(false);
|
|
278
280
|
|
|
279
281
|
auto ast = parser_->parse(text, internalOpts);
|
|
280
282
|
return flattenNodeText(ast);
|
package/cpp/core/MD4CParser.cpp
CHANGED
|
@@ -424,10 +424,28 @@ public:
|
|
|
424
424
|
|
|
425
425
|
case MD_TEXT_HTML:
|
|
426
426
|
impl->flushText();
|
|
427
|
-
if (!impl->nodeStack.empty()) {
|
|
427
|
+
if (!impl->nodeStack.empty() && text && size > 0) {
|
|
428
|
+
MD_OFFSET off = safeOffset(text, impl->inputText, impl->inputTextSize);
|
|
429
|
+
if (off == 0 && text != impl->inputText) off = impl->lastTextEnd;
|
|
430
|
+
|
|
431
|
+
if (impl->nodeStack.top()->type == NodeType::HtmlBlock) {
|
|
432
|
+
auto htmlBlock = impl->nodeStack.top();
|
|
433
|
+
if (htmlBlock->content.has_value()) {
|
|
434
|
+
htmlBlock->content->append(text, size);
|
|
435
|
+
} else {
|
|
436
|
+
htmlBlock->content = std::string(text, size);
|
|
437
|
+
}
|
|
438
|
+
htmlBlock->end = off + size;
|
|
439
|
+
impl->lastTextEnd = off + size;
|
|
440
|
+
break;
|
|
441
|
+
}
|
|
442
|
+
|
|
428
443
|
auto node = std::make_shared<MarkdownNode>(NodeType::HtmlInline);
|
|
429
444
|
node->content = std::string(text, size);
|
|
445
|
+
node->beg = off;
|
|
446
|
+
node->end = off + size;
|
|
430
447
|
impl->nodeStack.top()->addChild(node);
|
|
448
|
+
impl->lastTextEnd = off + size;
|
|
431
449
|
}
|
|
432
450
|
break;
|
|
433
451
|
|
|
@@ -476,7 +494,7 @@ std::shared_ptr<MarkdownNode> MD4CParser::parse(const std::string& markdown, con
|
|
|
476
494
|
size_t inputSize = clampInputSize(markdown.size());
|
|
477
495
|
impl_->inputTextSize = inputSize;
|
|
478
496
|
|
|
479
|
-
unsigned int flags = MD_FLAG_NOHTML;
|
|
497
|
+
unsigned int flags = options.html ? 0 : MD_FLAG_NOHTML;
|
|
480
498
|
|
|
481
499
|
if (options.gfm) {
|
|
482
500
|
flags |= MD_FLAG_TABLES;
|
package/lib/commonjs/headless.js
CHANGED
|
@@ -47,7 +47,7 @@ try {
|
|
|
47
47
|
/**
|
|
48
48
|
* Parse markdown text with custom options.
|
|
49
49
|
* @param text - The markdown text to parse
|
|
50
|
-
* @param options - Parser options (gfm, math)
|
|
50
|
+
* @param options - Parser options (gfm, math, html)
|
|
51
51
|
* @returns The root node of the parsed AST
|
|
52
52
|
*/
|
|
53
53
|
|
|
@@ -72,7 +72,7 @@ function parseMarkdown(text, options) {
|
|
|
72
72
|
/**
|
|
73
73
|
* Parse markdown text with custom options.
|
|
74
74
|
* @param text - The markdown text to parse
|
|
75
|
-
* @param options - Parser options (gfm, math)
|
|
75
|
+
* @param options - Parser options (gfm, math, html)
|
|
76
76
|
* @returns The root node of the parsed AST
|
|
77
77
|
*/
|
|
78
78
|
function parseMarkdownWithOptions(text, options) {
|
package/lib/commonjs/markdown.js
CHANGED
|
@@ -53,6 +53,7 @@ const baseStylesCache = new WeakMap();
|
|
|
53
53
|
const parseAstCache = new Map();
|
|
54
54
|
const MAX_PARSE_CACHE_ENTRIES = 32;
|
|
55
55
|
const MAX_CACHEABLE_TEXT_LENGTH = 24_000;
|
|
56
|
+
const EMPTY_RENDERERS = {};
|
|
56
57
|
const isMarkdownNode = value => {
|
|
57
58
|
if (typeof value !== "object" || value === null) return false;
|
|
58
59
|
return typeof Reflect.get(value, "type") === "string";
|
|
@@ -71,21 +72,24 @@ const cloneMarkdownNode = node => {
|
|
|
71
72
|
};
|
|
72
73
|
};
|
|
73
74
|
const getParserOptionsKey = options => {
|
|
74
|
-
if (!options) return "gfm:default|math:default";
|
|
75
|
+
if (!options) return "gfm:default|math:default|html:default";
|
|
75
76
|
const gfm = options.gfm === undefined ? "default" : options.gfm ? "1" : "0";
|
|
76
77
|
const math = options.math === undefined ? "default" : options.math ? "1" : "0";
|
|
77
|
-
|
|
78
|
+
const html = options.html === undefined ? "default" : options.html ? "1" : "0";
|
|
79
|
+
return `gfm:${gfm}|math:${math}|html:${html}`;
|
|
78
80
|
};
|
|
79
81
|
const normalizeParserOptions = options => {
|
|
80
82
|
if (!options) return undefined;
|
|
81
83
|
const gfm = options.gfm;
|
|
82
84
|
const math = options.math;
|
|
83
|
-
|
|
85
|
+
const html = options.html;
|
|
86
|
+
if (gfm === undefined && math === undefined && html === undefined) {
|
|
84
87
|
return undefined;
|
|
85
88
|
}
|
|
86
89
|
return {
|
|
87
90
|
gfm,
|
|
88
|
-
math
|
|
91
|
+
math,
|
|
92
|
+
html
|
|
89
93
|
};
|
|
90
94
|
};
|
|
91
95
|
const parseWithNativeParser = (text, options) => {
|
|
@@ -163,7 +167,7 @@ const Markdown = ({
|
|
|
163
167
|
plugins,
|
|
164
168
|
sourceAst,
|
|
165
169
|
astTransform,
|
|
166
|
-
renderers =
|
|
170
|
+
renderers = EMPTY_RENDERERS,
|
|
167
171
|
theme: userTheme,
|
|
168
172
|
styles: nodeStyles,
|
|
169
173
|
stylingStrategy = "opinionated",
|
|
@@ -180,21 +184,21 @@ const Markdown = ({
|
|
|
180
184
|
}) => {
|
|
181
185
|
const parserOptionGfm = options?.gfm;
|
|
182
186
|
const parserOptionMath = options?.math;
|
|
187
|
+
const parserOptionHtml = options?.html;
|
|
183
188
|
|
|
184
189
|
/* eslint-disable react-hooks/refs -- Refs updated/read intentionally to avoid re-parsing on callback identity changes */
|
|
185
190
|
const onErrorRef = (0, _react.useRef)(onError);
|
|
186
191
|
onErrorRef.current = onError;
|
|
187
|
-
const pluginsRef = (0, _react.useRef)(plugins);
|
|
188
|
-
pluginsRef.current = plugins;
|
|
189
192
|
const parseResult = (0, _react.useMemo)(() => {
|
|
190
193
|
try {
|
|
191
|
-
const markdownToParse = applyBeforeParsePlugins(children,
|
|
194
|
+
const markdownToParse = applyBeforeParsePlugins(children, plugins, onErrorRef.current);
|
|
192
195
|
const parserOptions = normalizeParserOptions({
|
|
193
196
|
gfm: parserOptionGfm,
|
|
194
|
-
math: parserOptionMath
|
|
197
|
+
math: parserOptionMath,
|
|
198
|
+
html: parserOptionHtml
|
|
195
199
|
});
|
|
196
200
|
let parsedAst = sourceAst ? cloneMarkdownNode(sourceAst) : getCachedParsedAst(markdownToParse, parserOptions);
|
|
197
|
-
parsedAst = applyAfterParsePlugins(parsedAst,
|
|
201
|
+
parsedAst = applyAfterParsePlugins(parsedAst, plugins, onErrorRef.current);
|
|
198
202
|
let ast = parsedAst;
|
|
199
203
|
if (astTransform) {
|
|
200
204
|
try {
|
|
@@ -216,12 +220,12 @@ const Markdown = ({
|
|
|
216
220
|
ast: null
|
|
217
221
|
};
|
|
218
222
|
}
|
|
219
|
-
}, [children, parserOptionGfm, parserOptionMath, sourceAst, astTransform]);
|
|
223
|
+
}, [children, parserOptionGfm, parserOptionMath, parserOptionHtml, sourceAst, astTransform, plugins]);
|
|
220
224
|
/* eslint-enable react-hooks/refs */
|
|
221
225
|
|
|
222
226
|
(0, _react.useEffect)(() => {
|
|
223
227
|
onParsingInProgress?.();
|
|
224
|
-
}, [children, parserOptionGfm, parserOptionMath, onParsingInProgress]);
|
|
228
|
+
}, [children, parserOptionGfm, parserOptionMath, parserOptionHtml, onParsingInProgress]);
|
|
225
229
|
(0, _react.useEffect)(() => {
|
|
226
230
|
if (!parseResult.ast || !onParseComplete) return;
|
|
227
231
|
onParseComplete({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_blockquote","_code","_heading","_horizontalRule","_image","_link","_list","_math","_paragraph","_table","_theme","_jsxRuntime","hashString","str","hash","i","length","char","charCodeAt","ERROR_PHASE","PARSE","BEFORE_PLUGIN","AFTER_PLUGIN","safeOnError","onError","error","phase","pluginName","Error","String","callbackError","__DEV__","console","warn","baseStylesCache","WeakMap","parseAstCache","Map","MAX_PARSE_CACHE_ENTRIES","MAX_CACHEABLE_TEXT_LENGTH","isMarkdownNode","value","Reflect","get","warnInDev","message","runtimeConsole","globalThis","cloneMarkdownNode","node","children","map","getParserOptionsKey","options","gfm","undefined","math","normalizeParserOptions","parseWithNativeParser","text","parseMarkdownWithOptions","parseMarkdown","getCachedParsedAst","cacheKey","cachedNode","delete","set","parsedNode","size","oldestCacheKey","keys","next","applyBeforeParsePlugins","markdown","plugins","sorted","sort","a","b","priority","nextMarkdown","plugin","beforeParse","transformed","pluginLabel","name","applyAfterParsePlugins","ast","nextAst","afterParse","Markdown","sourceAst","astTransform","renderers","theme","userTheme","styles","nodeStyles","stylingStrategy","style","onParsingInProgress","onParseComplete","onLinkPress","virtualize","virtualizationMinBlocks","virtualization","tableOptions","highlightCode","parserOptionGfm","parserOptionMath","onErrorRef","useRef","current","pluginsRef","parseResult","useMemo","markdownToParse","parserOptions","parsedAst","parseError","useEffect","raw","getFlattenedText","base","minimalMarkdownTheme","defaultMarkdownTheme","mergeThemes","baseStyles","getBaseStyles","contextValue","topLevelBlocks","type","shouldVirtualizeBySetting","shouldVirtualize","keyExtractor","useCallback","index","beg","end","renderVirtualizedItem","item","jsx","NodeRenderer","depth","inListItem","View","container","Text","errorText","MarkdownContext","Provider","FlatList","data","renderItem","virtualizedList","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","removeClippedSubviews","showsVerticalScrollIndicator","exports","isInline","NodeRendererComponent","parentIsText","useMarkdownContext","renderChildren","childInListItem","childParentIsText","elements","currentInlineGroup","flushInlineGroup","hasMath","some","child","push","flexDirection","alignItems","flexWrap","flexShrink","n","idx","Wrapper","Fragment","wrapperProps","forEach","customRenderer","childrenRendered","baseProps","Renderer","enhancedProps","level","href","title","url","alt","content","getTextContent","language","ordered","start","checked","result","nodeStyleOverride","document","Heading","Paragraph","bold","italic","strikethrough","Link","Image","InlineCode","CodeBlock","Blockquote","HorizontalRule","mathContent","replace","trim","MathInline","MathBlock","List","ListItem","TaskListItem","TableRenderer","memo","previousProps","nextProps","cached","created","createBaseStyles","StyleSheet","create","flex","color","fontSize","fontFamily","fontFamilies","mono","Platform","OS","includeFontPadding","colors","fontSizes","m","lineHeight","regular","fontWeight","fontStyle","textDecorationLine"],"sourceRoot":"../../src","sources":["markdown.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_blockquote","_code","_heading","_horizontalRule","_image","_link","_list","_math","_paragraph","_table","_theme","_jsxRuntime","hashString","str","hash","i","length","char","charCodeAt","ERROR_PHASE","PARSE","BEFORE_PLUGIN","AFTER_PLUGIN","safeOnError","onError","error","phase","pluginName","Error","String","callbackError","__DEV__","console","warn","baseStylesCache","WeakMap","parseAstCache","Map","MAX_PARSE_CACHE_ENTRIES","MAX_CACHEABLE_TEXT_LENGTH","EMPTY_RENDERERS","isMarkdownNode","value","Reflect","get","warnInDev","message","runtimeConsole","globalThis","cloneMarkdownNode","node","children","map","getParserOptionsKey","options","gfm","undefined","math","html","normalizeParserOptions","parseWithNativeParser","text","parseMarkdownWithOptions","parseMarkdown","getCachedParsedAst","cacheKey","cachedNode","delete","set","parsedNode","size","oldestCacheKey","keys","next","applyBeforeParsePlugins","markdown","plugins","sorted","sort","a","b","priority","nextMarkdown","plugin","beforeParse","transformed","pluginLabel","name","applyAfterParsePlugins","ast","nextAst","afterParse","Markdown","sourceAst","astTransform","renderers","theme","userTheme","styles","nodeStyles","stylingStrategy","style","onParsingInProgress","onParseComplete","onLinkPress","virtualize","virtualizationMinBlocks","virtualization","tableOptions","highlightCode","parserOptionGfm","parserOptionMath","parserOptionHtml","onErrorRef","useRef","current","parseResult","useMemo","markdownToParse","parserOptions","parsedAst","parseError","useEffect","raw","getFlattenedText","base","minimalMarkdownTheme","defaultMarkdownTheme","mergeThemes","baseStyles","getBaseStyles","contextValue","topLevelBlocks","type","shouldVirtualizeBySetting","shouldVirtualize","keyExtractor","useCallback","index","beg","end","renderVirtualizedItem","item","jsx","NodeRenderer","depth","inListItem","View","container","Text","errorText","MarkdownContext","Provider","FlatList","data","renderItem","virtualizedList","initialNumToRender","maxToRenderPerBatch","windowSize","updateCellsBatchingPeriod","removeClippedSubviews","showsVerticalScrollIndicator","exports","isInline","NodeRendererComponent","parentIsText","useMarkdownContext","renderChildren","childInListItem","childParentIsText","elements","currentInlineGroup","flushInlineGroup","hasMath","some","child","push","flexDirection","alignItems","flexWrap","flexShrink","n","idx","Wrapper","Fragment","wrapperProps","forEach","customRenderer","childrenRendered","baseProps","Renderer","enhancedProps","level","href","title","url","alt","content","getTextContent","language","ordered","start","checked","result","nodeStyleOverride","document","Heading","Paragraph","bold","italic","strikethrough","Link","Image","InlineCode","CodeBlock","Blockquote","HorizontalRule","mathContent","replace","trim","MathInline","MathBlock","List","ListItem","TaskListItem","TableRenderer","memo","previousProps","nextProps","cached","created","createBaseStyles","StyleSheet","create","flex","color","fontSize","fontFamily","fontFamilies","mono","Platform","OS","includeFontPadding","colors","fontSizes","m","lineHeight","regular","fontWeight","fontStyle","textDecorationLine"],"sourceRoot":"../../src","sources":["markdown.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Blockquote = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _styleCache = require("./style-cache.js");
|
|
9
9
|
var _MarkdownContext = require("../MarkdownContext.js");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
const Blockquote = ({
|
|
@@ -15,22 +15,24 @@ const Blockquote = ({
|
|
|
15
15
|
const {
|
|
16
16
|
theme
|
|
17
17
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
18
|
-
const styles = (0,
|
|
19
|
-
blockquote: {
|
|
20
|
-
borderLeftWidth: 4,
|
|
21
|
-
borderLeftColor: theme.colors.blockquote,
|
|
22
|
-
paddingLeft: theme.spacing.l,
|
|
23
|
-
marginVertical: theme.spacing.m,
|
|
24
|
-
backgroundColor: theme.colors.surfaceLight,
|
|
25
|
-
paddingVertical: theme.spacing.m,
|
|
26
|
-
paddingRight: theme.spacing.m,
|
|
27
|
-
borderRadius: theme.borderRadius.s
|
|
28
|
-
}
|
|
29
|
-
}), [theme]);
|
|
18
|
+
const styles = (0, _styleCache.getCachedStyles)(stylesCache, theme, createStyles);
|
|
30
19
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
31
20
|
style: [styles.blockquote, style],
|
|
32
21
|
children: children
|
|
33
22
|
});
|
|
34
23
|
};
|
|
35
24
|
exports.Blockquote = Blockquote;
|
|
25
|
+
const stylesCache = new WeakMap();
|
|
26
|
+
const createStyles = theme => _reactNative.StyleSheet.create({
|
|
27
|
+
blockquote: {
|
|
28
|
+
borderLeftWidth: 4,
|
|
29
|
+
borderLeftColor: theme.colors.blockquote,
|
|
30
|
+
paddingLeft: theme.spacing.l,
|
|
31
|
+
marginVertical: theme.spacing.m,
|
|
32
|
+
backgroundColor: theme.colors.surfaceLight,
|
|
33
|
+
paddingVertical: theme.spacing.m,
|
|
34
|
+
paddingRight: theme.spacing.m,
|
|
35
|
+
borderRadius: theme.borderRadius.s
|
|
36
|
+
}
|
|
37
|
+
});
|
|
36
38
|
//# sourceMappingURL=blockquote.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","Blockquote","children","style","theme","useMarkdownContext","styles","getCachedStyles","stylesCache","createStyles","jsx","View","blockquote","exports","WeakMap","StyleSheet","create","borderLeftWidth","borderLeftColor","colors","paddingLeft","spacing","l","marginVertical","m","backgroundColor","surfaceLight","paddingVertical","paddingRight","borderRadius","s"],"sourceRoot":"../../../src","sources":["renderers/blockquote.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAQjD,MAAMI,UAA+B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACtE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAACC,WAAW,EAAEJ,KAAK,EAAEK,YAAY,CAAC;EAEhE,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAACd,YAAA,CAAAe,IAAI;IAACR,KAAK,EAAE,CAACG,MAAM,CAACM,UAAU,EAAET,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACnE,CAAC;AAACW,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAIF,MAAMO,WAAW,GAAG,IAAIM,OAAO,CAAkC,CAAC;AAElE,MAAML,YAAY,GAAIL,KAAoB,IACxCW,uBAAU,CAACC,MAAM,CAAC;EAChBJ,UAAU,EAAE;IACVK,eAAe,EAAE,CAAC;IAClBC,eAAe,EAAEd,KAAK,CAACe,MAAM,CAACP,UAAU;IACxCQ,WAAW,EAAEhB,KAAK,CAACiB,OAAO,CAACC,CAAC;IAC5BC,cAAc,EAAEnB,KAAK,CAACiB,OAAO,CAACG,CAAC;IAC/BC,eAAe,EAAErB,KAAK,CAACe,MAAM,CAACO,YAAY;IAC1CC,eAAe,EAAEvB,KAAK,CAACiB,OAAO,CAACG,CAAC;IAChCI,YAAY,EAAExB,KAAK,CAACiB,OAAO,CAACG,CAAC;IAC7BK,YAAY,EAAEzB,KAAK,CAACyB,YAAY,CAACC;EACnC;AACF,CAAC,CAAC","ignoreList":[]}
|