Skip to content

Commit 5aa29c1

Browse files
committed
Add support for <xmp>
Closes GH-20.
1 parent 51c936f commit 5aa29c1

File tree

5 files changed

+47
-6
lines changed

5 files changed

+47
-6
lines changed

lib/handlers/code.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ function code(h, node) {
1616
var classList;
1717
var lang;
1818

19-
while (++index < length) {
20-
value = values[index];
21-
if (is(value, 'code') && has(value, 'className')) {
22-
classList = value.properties.className;
23-
break;
19+
if (node.tagName === 'pre') {
20+
while (++index < length) {
21+
value = values[index];
22+
if (is(value, 'code') && has(value, 'className')) {
23+
classList = value.properties.className;
24+
break;
25+
}
2426
}
2527
}
2628

lib/handlers/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ exports.br = require('./break');
3434

3535
exports.p = require('./paragraph');
3636
exports.hr = require('./thematic-break');
37-
exports.pre = require('./code');
37+
exports.xmp = exports.pre = require('./code');
3838
exports.blockquote = require('./blockquote');
3939

4040
exports.h1 =

test/fixtures/xmp/index.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<xmp>alpha();</xmp>
2+
<xmp><code>bravo();</code></xmp>
3+
<xmp>charlie <code>delta();</code> echo</xmp>
4+
<xmp>foxtrot <code>golf();</code></xmp>
5+
<xmp><code>hotel();</code> india</xmp>
6+
<xmp><code></code></xmp>
7+
<xmp>juliett <div><code>kilo();</code></div> lima</xmp>

test/fixtures/xmp/index.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"fragment": true,
3+
"stringify": false
4+
}

test/fixtures/xmp/index.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
```
2+
alpha();
3+
```
4+
5+
```
6+
<code>bravo();</code>
7+
```
8+
9+
10+
```
11+
charlie <code>delta();</code> echo
12+
```
13+
14+
```
15+
foxtrot <code>golf();</code>
16+
```
17+
18+
```
19+
<code>hotel();</code> india
20+
```
21+
22+
```
23+
<code></code>
24+
```
25+
26+
```
27+
juliett <div><code>kilo();</code></div> lima
28+
```

0 commit comments

Comments
 (0)