diff options
Diffstat (limited to 'resources/test/core.md')
| -rw-r--r-- | resources/test/core.md | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/resources/test/core.md b/resources/test/core.md new file mode 100644 index 0000000..0db2199 --- /dev/null +++ b/resources/test/core.md @@ -0,0 +1,71 @@ +Lorem ipsum dolor **sit** amet. Lorem ipsum *dolor* _sit_ __amet__. + +1. List item +2. Another list item + 1. Sub list item + 2. Another sub list item + 1. Sub sub list item + 3. Continuing sub list item +3. Continuing list item + +```javascript +// Detect horizontal line block +function isHorizontalLineBlock(block) { + return block === "***"; +} + +// Render horizontal line block +function horizontalLineBlock(block) { + return `<hr>`; +} + +// Compose an array of parsers +const parsers = [{ + matcher: isHorizontalLineBlock, + renderers: [horizontalLineBlock] +}]; + +// And finally, our parser itself +function markdownToHTML(markdown) { + // Create blocks + const blocks = content.split(/\n\n/); + + // Parse blocks + const parsedBlocks = blocks.map((block) => { + // Let's find a parser that has a matcher that matches + const parser = parsers.find((parser) => parser.matcher(block)); + + // If match was found, let's run our renderers over `block` + if (parser) { + for (const renderer of match.renderers) { + block = renderer(block); + } + } + + return block; + }); + + // And at last, join the blocks together for one big block. + return parsedBlocks.join(""); +} +``` + +This is ___bold italic text___ and ***this is also***. + +## Hi there, world! + +* List item +* Another list item + * Sub list item + * Another sub list item + * Sub sub list item + * Continuing sub list item +* Continuing list item + +* List item +* Another list item + * Sub list item + * Another sub list item + 1. Sub sub list item + 2. Continuing sub list item +* Continuing list item
\ No newline at end of file |
