Skip to content

Commit 6ad800a

Browse files
committed
golfing
1 parent 64806f1 commit 6ad800a

2 files changed

Lines changed: 15 additions & 11 deletions

File tree

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@
5858
"no-console": 1,
5959
"no-cond-assign": 0,
6060
"no-regex-spaces": 0,
61-
"semi": [2, "always"]
61+
"semi": [
62+
2,
63+
"always"
64+
]
6265
}
6366
}
6467
}

src/index.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const TAGS = {
22
'' : ['<em>','</em>'],
33
_ : ['<strong>','</strong>'],
4+
'*' : ['<strong>','</strong>'],
45
'~' : ['<s>','</s>'],
56
'\n' : ['<br />'],
67
' ' : ['<br />'],
@@ -31,11 +32,12 @@ export default function parse(md, prevLinks) {
3132
chunk, prev, token, inner, t;
3233

3334
function tag(token) {
34-
var desc = TAGS[token.replace(/\*/g,'_')[1] || ''],
35-
end = context[context.length-1]==token;
35+
let desc = TAGS[token[1] || ''];
36+
let end = context[context.length-1] == token;
3637
if (!desc) return token;
3738
if (!desc[1]) return desc[0];
38-
context[end?'pop':'push'](token);
39+
if (end) context.pop();
40+
else context.push(token);
3941
return desc[end|0];
4042
}
4143

@@ -58,17 +60,16 @@ export default function parse(md, prevLinks) {
5860
// escaped
5961
}
6062
// Code/Indent blocks:
61-
else if (token[3] || token[4]) {
62-
chunk = '<pre class="code '+(token[4]?'poetry':token[2].toLowerCase())+'"><code'+(token[2] ? ` class="language-${token[2].toLowerCase()}"` : '')+'>'+outdent(encodeAttr(token[3] || token[4]).replace(/^\n+|\n+$/g, ''))+'</code></pre>';
63+
else if (t = (token[3] || token[4])) {
64+
chunk = '<pre class="code '+(token[4]?'poetry':token[2].toLowerCase())+'"><code'+(token[2] ? ` class="language-${token[2].toLowerCase()}"` : '')+'>'+outdent(encodeAttr(t).replace(/^\n+|\n+$/g, ''))+'</code></pre>';
6365
}
6466
// > Quotes, -* lists:
65-
else if (token[6]) {
66-
t = token[6];
67+
else if (t = token[6]) {
6768
if (t.match(/\./)) {
6869
token[5] = token[5].replace(/^\d+/gm, '');
6970
}
7071
inner = parse(outdent(token[5].replace(/^\s*[>*+.-]/gm, '')));
71-
if (t==='>') t = 'blockquote';
72+
if (t=='>') t = 'blockquote';
7273
else {
7374
t = t.match(/\./) ? 'ol' : 'ul';
7475
inner = inner.replace(/^(.*)(\n|$)/gm, '<li>$1</li>');
@@ -89,7 +90,7 @@ export default function parse(md, prevLinks) {
8990
}
9091
// Headings:
9192
else if (token[12] || token[14]) {
92-
t = 'h' + (token[14] ? token[14].length : (token[13][0]==='='?1:2));
93+
t = 'h' + (token[14] ? token[14].length : (token[13]>'=' ? 1 : 2));
9394
chunk = '<'+t+'>' + parse(token[12] || token[15], links) + '</'+t+'>';
9495
}
9596
// `code`:
@@ -104,5 +105,5 @@ export default function parse(md, prevLinks) {
104105
out += chunk;
105106
}
106107

107-
return (out + md.substring(last) + flush()).trim();
108+
return (out + md.substring(last) + flush()).replace(/^\n+|\n+$/g, '');
108109
}

0 commit comments

Comments
 (0)