UNPKG

1.58 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports["default"] = void 0;
7
8var _default = function _default() {
9 var md = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
10 var lines = md.trim().split('\n');
11 var headerDelimiter = lines.indexOf('- - - -');
12 if (headerDelimiter < 0 || headerDelimiter > 4) return {
13 content: md
14 };
15 var headerLines = lines.slice(0, headerDelimiter);
16 var res = {
17 content: lines.slice(headerDelimiter + 1).join('\n')
18 };
19 headerLines.map(function (line) {
20 return line.trim();
21 }).forEach(function (line) {
22 if (line.indexOf('# ') === 0) {
23 res.title = line.substr(1).trim();
24 } else if (line.indexOf('`') !== -1 || line.indexOf('#') !== -1) {
25 var tags = line.split(' ');
26 tags.map(function (tag) {
27 return tag.trim();
28 }).forEach(function (tag) {
29 if (tag[0] === '`') {
30 res.url = tag.substr(1, tag.length - 2);
31 } else if (tag[0] === '#') {
32 if (!res.tags) res.tags = [];
33 res.tags.push(tag.substr(1));
34 } else {
35 // eslint-disable-next-line no-lonely-if
36 if (__DEV__) console.error('parseArticleFromMd unknown tag', tag); // eslint-disable-line no-console
37 }
38 });
39 } else {
40 // eslint-disable-next-line no-lonely-if
41 if (__DEV__) console.error('parseArticleFromMd unknown header line', line); // eslint-disable-line no-console
42 }
43 });
44 return res;
45};
46
47exports["default"] = _default;
48//# sourceMappingURL=parseArticleFromMarkdown.js.map
\No newline at end of file