feat(ofm): add options to parse arrows (#713)
* feat(ofm): add options to parse arrows
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
* feat(ofm): add options to parse arrows
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
---------
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
| | |
| | | - `callouts`: whether to enable [[callouts]]. Defaults to `true` |
| | | - `mermaid`: whether to enable [[Mermaid diagrams]]. Defaults to `true` |
| | | - `parseTags`: whether to try and parse tags in the content body. Defaults to `true` |
| | | - `parseArrows`: whether to try and parse arrows in the content body. Defaults to `true`. |
| | | - `enableInHtmlEmbed`: whether to try and parse Obsidian flavoured markdown in raw HTML. Defaults to `false` |
| | | - `enableYouTubeEmbed`: whether to enable embedded YouTube videos using external image Markdown syntax. Defaults to `false` |
| | | - Link resolution behaviour: |
| | |
| | | callouts: boolean |
| | | mermaid: boolean |
| | | parseTags: boolean |
| | | parseArrows: boolean |
| | | parseBlockReferences: boolean |
| | | enableInHtmlEmbed: boolean |
| | | enableYouTubeEmbed: boolean |
| | |
| | | callouts: true, |
| | | mermaid: true, |
| | | parseTags: true, |
| | | parseArrows: true, |
| | | parseBlockReferences: true, |
| | | enableInHtmlEmbed: false, |
| | | enableYouTubeEmbed: true, |
| | |
| | | |
| | | export const externalLinkRegex = /^https?:\/\//i |
| | | |
| | | export const arrowRegex = new RegExp(/-{1,2}>/, "g") |
| | | |
| | | // !? -> optional embedding |
| | | // \[\[ -> open brace |
| | | // ([^\[\]\|\#]+) -> one or more non-special characters ([,],|, or #) (name) |
| | |
| | | ]) |
| | | } |
| | | |
| | | if (opts.parseArrows) { |
| | | replacements.push([ |
| | | arrowRegex, |
| | | (_value: string, ..._capture: string[]) => { |
| | | return { |
| | | type: "html", |
| | | value: `<span>→</span>`, |
| | | } |
| | | }, |
| | | ]) |
| | | } |
| | | |
| | | if (opts.parseTags) { |
| | | replacements.push([ |
| | | tagRegex, |