Skip to content

Commit 2cf9aa6

Browse files
authored
Merge pull request #11 from syntax-tree/more
More
2 parents 25af221 + 382f65f commit 2cf9aa6

25 files changed

+151
-1
lines changed

handlers/break.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict';
2+
3+
module.exports = br;
4+
5+
function br(h, node) {
6+
return h(node, 'break');
7+
}

handlers/code.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
'use strict';
2+
3+
module.exports = code;
4+
5+
var is = require('hast-util-is-element');
6+
var has = require('hast-util-has-property');
7+
var toString = require('hast-util-to-string');
8+
9+
var prefix = 'language-';
10+
11+
function code(h, node) {
12+
var values = node.children;
13+
var length = values.length;
14+
var index = -1;
15+
var value;
16+
var classList;
17+
var lang;
18+
19+
while (++index < length) {
20+
value = values[index];
21+
if (is(value, 'code') && has(value, 'className')) {
22+
classList = value.properties.className;
23+
break;
24+
}
25+
}
26+
27+
if (classList) {
28+
length = classList.length;
29+
index = -1;
30+
31+
while (++index < length) {
32+
value = classList[index];
33+
34+
if (value.slice(0, prefix.length) === prefix) {
35+
lang = value.slice(prefix.length);
36+
break;
37+
}
38+
}
39+
}
40+
41+
return h(node, 'code', {lang: lang || null}, toString(node));
42+
}

handlers/delete.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
'use strict';
2+
3+
module.exports = strikethrough;
4+
5+
var all = require('../all');
6+
7+
function strikethrough(h, node) {
8+
return h(node, 'delete', all(h, node));
9+
}

handlers/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@ exports.text = require('./text');
66

77
exports.strong = exports.b = require('./strong');
88
exports.em = exports.i = require('./emphasis');
9+
exports.del = exports.s = exports.strike = require('./delete');
910
exports.code = exports.kbd = exports.samp = exports.var = require('./inline-code');
1011
exports.img = require('./image');
12+
exports.br = require('./break');
1113

1214
exports.p = require('./paragraph');
15+
exports.hr = require('./thematic-break');
16+
exports.pre = require('./code');
1317

1418
exports.h1 = exports.h2 = exports.h3 =
1519
exports.h4 = exports.h5 = exports.h6 = require('./heading');

handlers/thematic-break.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict';
2+
3+
module.exports = thematicBreak;
4+
5+
function thematicBreak(h, node) {
6+
return h(node, 'thematicBreak');
7+
}

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
"homepage": "https://github.com/syntax-tree/hast-util-to-mdast#readme",
2424
"dependencies": {
2525
"has": "^1.0.1",
26+
"hast-util-has-property": "^1.0.0",
27+
"hast-util-is-element": "^1.0.0",
2628
"hast-util-to-string": "^1.0.0",
2729
"trim-lines": "^1.1.0",
2830
"unist-builder": "^1.0.2",

tests/fixtures/br/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<p>alpha<br>bravo</p>

tests/fixtures/br/index.json

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

tests/fixtures/br/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
alpha··
2+
bravo

tests/fixtures/del/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<p><del>Hello World.</del></p>

0 commit comments

Comments
 (0)