From 05cf919d39ed0c44d8f84725edcaa08fd3e7c7ac Mon Sep 17 00:00:00 2001 From: Tanner Nielsen Date: Thu, 2 May 2019 22:57:06 -0500 Subject: [PATCH 1/2] Added support for embedding via `` --- docs/embed-files.md | 2 +- src/core/render/embed.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/embed-files.md b/docs/embed-files.md index dab2efe4e..e9c5c545a 100644 --- a/docs/embed-files.md +++ b/docs/embed-files.md @@ -47,7 +47,7 @@ Sometimes you don't want to embed a whole file. Maybe because you need just a fe ``` In your code file you need to surround the fragment between `/// [demo]` lines (before and after the fragment). -Alternatively you can use `### [demo]`. +Alternatively you can use `### [demo]` or ``. Example: diff --git a/src/core/render/embed.js b/src/core/render/embed.js index 821837488..20d62b791 100644 --- a/src/core/render/embed.js +++ b/src/core/render/embed.js @@ -22,7 +22,8 @@ function walkFetchEmbed({embedTokens, compile, fetch}, cb) { } else if (token.embed.type === 'code') { if (token.embed.fragment) { const fragment = token.embed.fragment - const pattern = new RegExp(`(?:###|\\/\\/\\/)\\s*\\[${fragment}\\]([\\s\\S]*)(?:###|\\/\\/\\/)\\s*\\[${fragment}\\]`) + const marker = `(?:(?:(?:###|\\/\\/\\/)\\s*\\[${fragment}\\])|(?:))` + const pattern = new RegExp(`${marker}([\\s\\S]*)${marker}`) text = ((text.match(pattern) || [])[1] || '').trim() } embedToken = compile.lexer( From 4eeb7df7d4360715928e64ce38cc7285211b0349 Mon Sep 17 00:00:00 2001 From: Tanner Nielsen Date: Tue, 31 Mar 2020 19:08:05 -0500 Subject: [PATCH 2/2] lint: fix errors --- src/core/render/embed.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/render/embed.js b/src/core/render/embed.js index eb41f9995..89b37b18c 100644 --- a/src/core/render/embed.js +++ b/src/core/render/embed.js @@ -39,9 +39,9 @@ function walkFetchEmbed({ embedTokens, compile, fetch }, cb) { embedToken = compile.lexer(text); } else if (token.embed.type === 'code') { if (token.embed.fragment) { - const fragment = token.embed.fragment - const marker = `(?:(?:(?:###|\\/\\/\\/)\\s*\\[${fragment}\\])|(?:))` - const pattern = new RegExp(`${marker}([\\s\\S]*)${marker}`) + const fragment = token.embed.fragment; + const marker = `(?:(?:(?:###|\\/\\/\\/)\\s*\\[${fragment}\\])|(?:))`; + const pattern = new RegExp(`${marker}([\\s\\S]*)${marker}`); text = stripIndent((text.match(pattern) || [])[1] || '').trim(); }