From b914399ef552117d180d8592feb3779b76b0fa92 Mon Sep 17 00:00:00 2001 From: Asko Nomm Date: Thu, 7 Apr 2022 13:12:21 +0200 Subject: Add core test data --- resources/test/core.md | 71 +++++++++++++++++++++++++++++++++++++++++ resources/test/core_result.html | 39 ++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 resources/test/core.md create mode 100644 resources/test/core_result.html (limited to 'resources/test') 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 `
`; +} + +// 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 diff --git a/resources/test/core_result.html b/resources/test/core_result.html new file mode 100644 index 0000000..350a595 --- /dev/null +++ b/resources/test/core_result.html @@ -0,0 +1,39 @@ +

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
// 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!

\ No newline at end of file -- cgit v1.2.3