Skip to content

Commit 4c3a22c

Browse files
committed
Fixes #80
1 parent 2cd9429 commit 4c3a22c

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

src/markdownSyntaxHighlightOptions.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ module.exports = function (options = {}) {
3030

3131
let hasHighlightNumbers = split.length > 0;
3232
let highlights = new HighlightLinesGroup(split.join("/"), "/");
33-
let lines = html.split("\n").slice(0, -1); // The last line is empty.
33+
let lines = html.split("\n");
34+
35+
// Trim last line if it is empty
36+
if (lines[lines.length - 1] === "") {
37+
lines = lines.slice(0, -1);
38+
}
3439

3540
lines = lines.map(function(line, j) {
3641
if(options.alwaysWrapLineHighlights || hasHighlightNumbers) {

test/EleventyTest.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,14 @@ test("Diff output escaped #75", async t => {
1111
t.is(json[0].content.trim(), `<pre class="language-html"><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">></span></span>Hello<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>p</span><span class="token punctuation">></span></span></code></pre>
1212
<pre class="language-diff-html"><code class="language-diff-html"><span class="token deleted-sign deleted language-html"><span class="token prefix deleted">-</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">></span></span>Hello<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>p</span><span class="token punctuation">></span></span></span></code></pre>`);
1313
});
14+
15+
test.only("diff-javascript #80", async t => {
16+
let elev = new Eleventy("./test/issue-80/", "./test/issue-80/_site/", {
17+
configPath: "./test/issue-80/.eleventy.js"
18+
});
19+
let json = await elev.toJSON();
20+
21+
t.is(json.length, 1);
22+
t.is(json[0].content.trim(), `<pre class="language-diff-javascript"><code class="language-diff-javascript"><span class="token deleted-sign deleted language-javascript"><span class="token prefix deleted">-</span> <span class="token function">foo</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
23+
</span></code></pre>`);
24+
});

test/issue-80/.eleventy.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const syntaxHighlight = require("../../");
2+
3+
module.exports = function(eleventyConfig) {
4+
eleventyConfig.addPlugin(syntaxHighlight);
5+
};

test/issue-80/index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```diff-javascript
2+
- foo()
3+
```

0 commit comments

Comments
 (0)