markdown-maker 1.10.0 → 1.10.2
Sign up to get free protection for your applications and to get access to all the features.
- package/.vscode/launch.json +4 -22
- package/package.json +14 -37
- package/src/cltool.ts +48 -106
- package/src/commands.ts +56 -2
- package/src/main.ts +122 -0
- package/src/{parse.ts → parser.ts} +39 -38
- package/test/advanced.test.js +0 -3
- package/test/basic.test.js +0 -1
- package/test/errors.test.js +0 -1
- package/test/hooks.js +1 -1
- package/test/hooks.test.js +114 -0
- package/test/line.test.js +2 -4
- package/test/target.test.js +40 -32
- package/test/tester.test.js +4 -2
- package/test/vars.test.js +22 -30
- package/tsconfig.json +2 -2
- package/build/cltool.d.ts +0 -1
- package/build/cltool.js +0 -161
- package/build/cltool.js.map +0 -1
- package/build/commands.d.ts +0 -43
- package/build/commands.js +0 -223
- package/build/commands.js.map +0 -1
- package/build/parse.d.ts +0 -65
- package/build/parse.js +0 -281
- package/build/parse.js.map +0 -1
- package/build/templates.d.ts +0 -10
- package/build/templates.js +0 -20
- package/build/templates.js.map +0 -1
- package/doc/.mdmconfig.json +0 -7
- package/doc/main.md +0 -2
- package/doc/other.md +0 -1
- package/re-test.js +0 -10
package/test/basic.test.js
CHANGED
package/test/errors.test.js
CHANGED
package/test/hooks.js
CHANGED
@@ -0,0 +1,114 @@
|
|
1
|
+
const util = require("./tester.test.js");
|
2
|
+
|
3
|
+
describe("Use of markdown hooks for SSR", () => {
|
4
|
+
it("should allow a simple hook to be used", () => {
|
5
|
+
util.put("#mdhook<test>", "sample1.md");
|
6
|
+
|
7
|
+
const parser = new util.Parser("test/test-files/sample1.md");
|
8
|
+
parser.add_hook("test", () => "hello");
|
9
|
+
const output = parser.get();
|
10
|
+
|
11
|
+
util.assert.strictEqual(output, "hello\n\n");
|
12
|
+
});
|
13
|
+
it("should allow advanced hooks to be used", () => {
|
14
|
+
util.put(
|
15
|
+
"#mdadvhook<test>\n<b>Bold</b>\n<p>Paragraph</p>\n#mdendhook",
|
16
|
+
"sample1.md"
|
17
|
+
);
|
18
|
+
|
19
|
+
const replacer = (arg) => {
|
20
|
+
const elem = new util.html.HTMLElement("p", {});
|
21
|
+
elem.set_content("complete");
|
22
|
+
return elem;
|
23
|
+
};
|
24
|
+
|
25
|
+
const parser = new util.Parser("test/test-files/sample1.md");
|
26
|
+
parser.opts.allow_undefined = true;
|
27
|
+
parser.add_adv_hook("test", replacer);
|
28
|
+
const output = parser.get();
|
29
|
+
|
30
|
+
util.assert.strictEqual(output, "<p>complete</p>\n\n");
|
31
|
+
});
|
32
|
+
it("should allow for hooks to be used in HTML", () => {
|
33
|
+
util.put("<html><body>#mdhook<test></body></html>", "sample1.html");
|
34
|
+
|
35
|
+
const parser = new util.Parser("test/test-files/sample1.html");
|
36
|
+
parser.opts.allow_undefined = true;
|
37
|
+
parser.add_hook("test", () => "hello");
|
38
|
+
const output = parser.get();
|
39
|
+
|
40
|
+
util.assert.strictEqual(output, "<html><body>hello</body></html>\n\n");
|
41
|
+
});
|
42
|
+
it("should allow for hooks to be used in HTML with advanced hooks", () => {
|
43
|
+
util.put(
|
44
|
+
"<html><body>#mdadvhook<test>\n<b>Bold</b>\n<p>Paragraph</p>\n#mdendhook</body></html>",
|
45
|
+
"sample1.html"
|
46
|
+
);
|
47
|
+
|
48
|
+
const replacer = (arg) => {
|
49
|
+
const elem = new util.html.HTMLElement("p", {});
|
50
|
+
elem.set_content("complete");
|
51
|
+
return elem;
|
52
|
+
};
|
53
|
+
|
54
|
+
const parser = new util.Parser("test/test-files/sample1.html");
|
55
|
+
parser.opts.allow_undefined = true;
|
56
|
+
parser.add_adv_hook("test", replacer);
|
57
|
+
const output = parser.get();
|
58
|
+
|
59
|
+
util.assert.strictEqual(
|
60
|
+
output,
|
61
|
+
"<html><body><p>complete</p></body></html>\n\n"
|
62
|
+
);
|
63
|
+
});
|
64
|
+
it("should allow for extracting a node from the document as a template manually with ids", () => {
|
65
|
+
util.put(
|
66
|
+
`<html><body>#mdadvhook<template><name id="b"></name><class id="p"></class>#mdendhook</body></html>`,
|
67
|
+
"sample1.html"
|
68
|
+
);
|
69
|
+
|
70
|
+
const replacer = (elem) => {
|
71
|
+
const nameElem = elem.getElementsByTagName("name")[0];
|
72
|
+
nameElem.tagName = nameElem.id;
|
73
|
+
nameElem.removeAttribute("id");
|
74
|
+
nameElem.set_content("bold");
|
75
|
+
const classElem = elem.getElementsByTagName("class")[0];
|
76
|
+
classElem.tagName = classElem.id;
|
77
|
+
classElem.removeAttribute("id");
|
78
|
+
classElem.set_content("paragraph");
|
79
|
+
return elem;
|
80
|
+
};
|
81
|
+
|
82
|
+
const parser = new util.Parser("test/test-files/sample1.html");
|
83
|
+
parser.opts.allow_undefined = true;
|
84
|
+
parser.add_adv_hook("template", replacer);
|
85
|
+
const output = parser.get();
|
86
|
+
|
87
|
+
util.assert.strictEqual(
|
88
|
+
output,
|
89
|
+
"<html><body><b>bold</b><p>paragraph</p></body></html>\n\n"
|
90
|
+
);
|
91
|
+
});
|
92
|
+
it("should allow for extracting a node from the document as a template using map and data-tags", () => {
|
93
|
+
util.put(
|
94
|
+
`<html><body>#mdadvhook<template><name data-tag="b"></name><class data-tag="p"></class>#mdendhook</body></html>`,
|
95
|
+
"sample1.html"
|
96
|
+
);
|
97
|
+
|
98
|
+
const replacer = (elem, map) => {
|
99
|
+
map["name"].set_content("bold");
|
100
|
+
map["class"].set_content("paragraph");
|
101
|
+
return elem;
|
102
|
+
};
|
103
|
+
|
104
|
+
const parser = new util.Parser("test/test-files/sample1.html");
|
105
|
+
parser.opts.allow_undefined = true;
|
106
|
+
parser.add_adv_hook("template", replacer);
|
107
|
+
const output = parser.get();
|
108
|
+
|
109
|
+
util.assert.strictEqual(
|
110
|
+
output,
|
111
|
+
"<html><body><b>bold</b><p>paragraph</p></body></html>\n\n"
|
112
|
+
);
|
113
|
+
});
|
114
|
+
});
|
package/test/line.test.js
CHANGED
@@ -3,7 +3,7 @@ const util = require("./tester.test");
|
|
3
3
|
describe("Managing blank lines", () => {
|
4
4
|
it("should always end with 2 blank lines, even with no input", () => {
|
5
5
|
const output = new util.Parser("").get();
|
6
|
-
util.assert.strictEqual(output, "\n\n")
|
6
|
+
util.assert.strictEqual(output, "\n\n");
|
7
7
|
});
|
8
8
|
|
9
9
|
it("should reduce blank lines to 2", () => {
|
@@ -16,8 +16,6 @@ describe("Managing blank lines", () => {
|
|
16
16
|
|
17
17
|
it("should allow words when removing blank lines", () => {
|
18
18
|
const output = new util.Parser("hii\n\n\n").get();
|
19
|
-
util.assert.strictEqual(output, "hii\n\n")
|
19
|
+
util.assert.strictEqual(output, "hii\n\n");
|
20
20
|
});
|
21
21
|
});
|
22
|
-
|
23
|
-
|
package/test/target.test.js
CHANGED
@@ -1,35 +1,43 @@
|
|
1
1
|
const util = require("./tester.test.js");
|
2
2
|
|
3
3
|
describe("Target specific functionality", () => {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
4
|
+
describe("HTML", () => {
|
5
|
+
it("Should include `#mdlabel` command, when compiling HTML", () => {
|
6
|
+
const parser = new util.Parser("#mdlabel<0,Cool!>");
|
7
|
+
const html = parser.get(util.TargetType.HTML);
|
8
|
+
|
9
|
+
util.assert.strictEqual(html, '<span id="cool"></span>\n\n');
|
10
|
+
});
|
11
|
+
|
12
|
+
it("Should link to sections with #mdref", () => {
|
13
|
+
const parser = new util.Parser(
|
14
|
+
"#mdlabel<0,Cool!>\n#mdlabel<1,coolzz>\n#mdref<Cool!>"
|
15
|
+
);
|
16
|
+
const html = parser.get(util.TargetType.HTML);
|
17
|
+
|
18
|
+
util.assert.strictEqual(
|
19
|
+
html,
|
20
|
+
'<span id="cool"></span>\n<span id="coolzz"></span>\n<a href="#cool">Cool!</a>\n\n'
|
21
|
+
);
|
22
|
+
});
|
23
|
+
});
|
24
|
+
|
25
|
+
describe("Markdown", () => {
|
26
|
+
it("Should not include `#mdlabel` command, when compiling Markdown", () => {
|
27
|
+
const parser = new util.Parser("#mdlabel<0,Cool!>");
|
28
|
+
|
29
|
+
const md = parser.get(util.TargetType.MARKDOWN);
|
30
|
+
util.assert.strictEqual(md, "\n\n");
|
31
|
+
});
|
32
|
+
it("Should include #mdref to title elements in markdown", () => {
|
33
|
+
const output = new util.Parser(
|
34
|
+
"# Some Title!\n#mdref<Some Title!>"
|
35
|
+
).get();
|
36
|
+
|
37
|
+
util.assert.strictEqual(
|
38
|
+
output,
|
39
|
+
"# Some Title!\n[Some Title!](#some-title)\n\n"
|
40
|
+
);
|
41
|
+
});
|
42
|
+
});
|
43
|
+
});
|
package/test/tester.test.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
const fs = require("fs");
|
2
2
|
const assert = require("assert");
|
3
|
-
const Parser = require("../
|
3
|
+
const Parser = require("../bundle/parser");
|
4
4
|
const path = require("path");
|
5
|
+
const html = require("node-html-parser");
|
5
6
|
|
6
7
|
/* make folder for temporary files, if it doesn't exist */
|
7
8
|
if (
|
@@ -29,8 +30,9 @@ const TargetType = {
|
|
29
30
|
};
|
30
31
|
|
31
32
|
module.exports = {
|
32
|
-
fs,
|
33
33
|
assert,
|
34
|
+
fs,
|
35
|
+
html,
|
34
36
|
path,
|
35
37
|
Parser,
|
36
38
|
put,
|
package/test/vars.test.js
CHANGED
@@ -1,57 +1,49 @@
|
|
1
|
-
const util = require("./tester.test");
|
1
|
+
const util = require("./tester.test.js");
|
2
2
|
|
3
3
|
describe("Use variables", () => {
|
4
|
-
it(
|
4
|
+
it("should replace var with the value", () => {
|
5
5
|
const output = new util.Parser("#mddef<hi=yo>\n#mdvar<hi>").get();
|
6
6
|
|
7
|
-
util.assert.strictEqual(output, "\nyo\n\n")
|
7
|
+
util.assert.strictEqual(output, "\nyo\n\n");
|
8
8
|
});
|
9
|
-
it(
|
9
|
+
it("should use variable shorthand", () => {
|
10
10
|
const output = new util.Parser("#mddef<hi=yo>\n<hi>").get();
|
11
11
|
|
12
|
-
util.assert.strictEqual(output, "\nyo\n\n")
|
12
|
+
util.assert.strictEqual(output, "\nyo\n\n");
|
13
13
|
});
|
14
|
-
it(
|
14
|
+
it("should use variables across files", () => {
|
15
15
|
util.put("#mddef<hi=yo>\n#mdinclude<sample2.md>", "sample1.md");
|
16
16
|
util.put("<hi>", "sample2.md");
|
17
17
|
|
18
18
|
const output = new util.Parser("test/test-files/sample1.md").get();
|
19
19
|
|
20
|
-
util.assert.strictEqual(output, "\nyo\n\n")
|
21
|
-
})
|
22
|
-
it(
|
23
|
-
|
20
|
+
util.assert.strictEqual(output, "\nyo\n\n");
|
21
|
+
});
|
22
|
+
it("should throw if undefined variable", () => {
|
24
23
|
const parser = new util.Parser("<yo>");
|
25
24
|
|
26
25
|
let e;
|
27
26
|
/* should throw an error */
|
28
|
-
util.assert.throws(
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
throw _e;
|
35
|
-
}
|
27
|
+
util.assert.throws(() => {
|
28
|
+
try {
|
29
|
+
parser.get();
|
30
|
+
} catch (_e) {
|
31
|
+
e = _e;
|
32
|
+
throw _e;
|
36
33
|
}
|
37
|
-
);
|
38
|
-
|
39
|
-
|
40
|
-
|
34
|
+
});
|
41
35
|
});
|
42
36
|
|
43
|
-
it(
|
37
|
+
it("should preserve whatever comes after", () => {
|
44
38
|
const output = new util.Parser("#mddef<hi=yo>\n<hi>,").get();
|
45
39
|
util.assert.strictEqual(output, "\nyo,\n\n");
|
46
40
|
});
|
47
41
|
|
48
|
-
it(
|
49
|
-
const output = new util.Parser(
|
42
|
+
it("should replace underscore with space", () => {
|
43
|
+
const output = new util.Parser(
|
44
|
+
"#mddef<name=Mr_Sir>\n#mdvar<name>"
|
45
|
+
).get();
|
50
46
|
|
51
|
-
util.assert.strictEqual(output, "\nMr Sir\n\n")
|
47
|
+
util.assert.strictEqual(output, "\nMr Sir\n\n");
|
52
48
|
});
|
53
|
-
|
54
49
|
});
|
55
|
-
|
56
|
-
|
57
|
-
|
package/tsconfig.json
CHANGED
@@ -14,9 +14,9 @@
|
|
14
14
|
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
|
15
15
|
"declaration": true /* Generates corresponding '.d.ts' file. */,
|
16
16
|
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
17
|
-
"sourceMap": true
|
17
|
+
"sourceMap": true /* Generates corresponding '.map' file. */,
|
18
18
|
// "outFile": "./", /* Concatenate and emit output to single file. */
|
19
|
-
"outDir": "./
|
19
|
+
"outDir": "./bundle" /* Redirect output structure to the directory. */,
|
20
20
|
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
21
21
|
// "composite": true, /* Enable project compilation */
|
22
22
|
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
package/build/cltool.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export declare const argParser: any;
|
package/build/cltool.js
DELETED
@@ -1,161 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.argParser = void 0;
|
7
|
-
var fs = require("fs"); /* for handling reading of files */
|
8
|
-
var path = require("path"); /* for handling file paths */
|
9
|
-
var Colors = require("colors.ts"); /* for adding colours to strings */
|
10
|
-
var parse_1 = __importDefault(require("./parse"));
|
11
|
-
var ws_1 = require("ws");
|
12
|
-
Colors.enable();
|
13
|
-
var ArgumentParser = require("argparse").ArgumentParser; /* for parsing clargs */
|
14
|
-
var version = require("../package.json").version; /* package version number */
|
15
|
-
var choki = require("chokidar");
|
16
|
-
exports.argParser = new ArgumentParser({
|
17
|
-
description: "Markdown bundler, with extra options. Extension file is loaded from ./extensions.js, if it exists",
|
18
|
-
prog: "mdparse",
|
19
|
-
});
|
20
|
-
var configFileName = ".mdmconfig.json";
|
21
|
-
//#region command line args
|
22
|
-
exports.argParser.add_argument("src", {
|
23
|
-
help: "file to be parsed. If this is a directory, it looks for entry point in the directory, see --entry",
|
24
|
-
});
|
25
|
-
exports.argParser.add_argument("--version", { action: "version", version: version });
|
26
|
-
exports.argParser.add_argument("-v", "--verbose", {
|
27
|
-
action: "store_true",
|
28
|
-
help: "enable verbose output",
|
29
|
-
});
|
30
|
-
exports.argParser.add_argument("-D", "--debug", {
|
31
|
-
action: "store_true",
|
32
|
-
help: "enable debugging information",
|
33
|
-
});
|
34
|
-
exports.argParser.add_argument("-o", "--output", {
|
35
|
-
help: "destination of bundle, by default is 'dist/bundle.md'",
|
36
|
-
default: "dist/bundle.md",
|
37
|
-
});
|
38
|
-
exports.argParser.add_argument("-d", "--max-depth", {
|
39
|
-
help: "maximum recursion depth, by default is 15",
|
40
|
-
default: 15,
|
41
|
-
type: "int",
|
42
|
-
});
|
43
|
-
exports.argParser.add_argument("-e", "--entry", {
|
44
|
-
help: "assign entry point in directory, by default is 'main.md'",
|
45
|
-
default: "main.md",
|
46
|
-
});
|
47
|
-
exports.argParser.add_argument("-w", "--watch", {
|
48
|
-
action: "store_true",
|
49
|
-
help: "recompile after a change in target target file or directory.",
|
50
|
-
});
|
51
|
-
exports.argParser.add_argument("-u", "--use-underscore", {
|
52
|
-
action: "store_true",
|
53
|
-
help: "set the parser to use '_' as seperator in ids for Table of Content. If the links in the table does not work, this is likely to be the issue.",
|
54
|
-
});
|
55
|
-
exports.argParser.add_argument("-t", "--toc-level", {
|
56
|
-
help: "the section level of the table of contents, by default is 3",
|
57
|
-
default: 3,
|
58
|
-
type: "int",
|
59
|
-
});
|
60
|
-
exports.argParser.add_argument("-H", "--html", {
|
61
|
-
action: "store_true",
|
62
|
-
help: "compile HTML from the parsed markdown",
|
63
|
-
});
|
64
|
-
exports.argParser.add_argument("--allow-undefined", "-A", {
|
65
|
-
action: "store_true",
|
66
|
-
help: "allow the use of the \"<thing>\" syntax, without raising an error when 'thing' is not a variable. Mostly useful when writing inline html tags, and other non-strictly markdown related uses",
|
67
|
-
});
|
68
|
-
//#endregion
|
69
|
-
function main() {
|
70
|
-
var clargs, fileargs;
|
71
|
-
var server;
|
72
|
-
/* Read config file or parse args from cmd-line */
|
73
|
-
if (fs.existsSync(configFileName)) {
|
74
|
-
var data = JSON.parse(fs.readFileSync(configFileName)).opts;
|
75
|
-
var args_1 = [];
|
76
|
-
Object.entries(data).forEach(function (_a) {
|
77
|
-
var key = _a[0], value = _a[1];
|
78
|
-
if (key != "src" && value !== false) {
|
79
|
-
args_1.push("--" + key);
|
80
|
-
}
|
81
|
-
if (typeof value != "boolean") {
|
82
|
-
args_1.push(value);
|
83
|
-
}
|
84
|
-
});
|
85
|
-
/* We skip [0] and [1], as it is the binary and source file, even when compiled*/
|
86
|
-
for (var i = 2; i < process.argv.length; i++)
|
87
|
-
args_1.push(process.argv[i]);
|
88
|
-
clargs = exports.argParser.parse_args(args_1);
|
89
|
-
}
|
90
|
-
else {
|
91
|
-
clargs = exports.argParser.parse_args();
|
92
|
-
}
|
93
|
-
/* if src is init, create config file and exit */
|
94
|
-
if (clargs.src == "init") {
|
95
|
-
var template = fs.readFileSync(path.join(__dirname, "..", "src", "templates", "configTemplate.json"));
|
96
|
-
fs.writeFileSync(configFileName, template);
|
97
|
-
fs.writeFileSync("main.md", "# Main\n");
|
98
|
-
return;
|
99
|
-
}
|
100
|
-
/* helper method for calling parser */
|
101
|
-
var compile = function (source, output, cb) {
|
102
|
-
/* load data from file, if it exists,
|
103
|
-
* otherwise, interpret as string */
|
104
|
-
var parser = new parse_1.default(source, clargs);
|
105
|
-
parser.to(output, function (file) {
|
106
|
-
console.log("Compiled ".concat(file).green);
|
107
|
-
if (cb)
|
108
|
-
cb();
|
109
|
-
});
|
110
|
-
return parser;
|
111
|
-
};
|
112
|
-
var internalCooldown = 1000;
|
113
|
-
function watcher(event, path) {
|
114
|
-
var now = Date.now();
|
115
|
-
if (!this.time)
|
116
|
-
this.time = now;
|
117
|
-
if (now - this.time < internalCooldown)
|
118
|
-
return;
|
119
|
-
console.log(path);
|
120
|
-
console.log("Detected change in ".concat(path, "..."));
|
121
|
-
try {
|
122
|
-
compile(clargs.src, clargs.output, function () {
|
123
|
-
/* after compile, send refresh command to clients */
|
124
|
-
server.clients.forEach(function (client) {
|
125
|
-
if (client.OPEN)
|
126
|
-
client.send("refresh");
|
127
|
-
});
|
128
|
-
});
|
129
|
-
}
|
130
|
-
catch (e) {
|
131
|
-
console.log(e.message);
|
132
|
-
}
|
133
|
-
this.time = now;
|
134
|
-
}
|
135
|
-
/* in case source is a directory, look for entry in directory */
|
136
|
-
if (fs.existsSync(clargs.src) && fs.lstatSync(clargs.src).isDirectory()) {
|
137
|
-
clargs.src = path.join(clargs.src, clargs.entry);
|
138
|
-
}
|
139
|
-
if (clargs.debug)
|
140
|
-
console.dir(clargs);
|
141
|
-
/* compile once */
|
142
|
-
if (!clargs.watch)
|
143
|
-
compile(clargs.src, clargs.output);
|
144
|
-
/* watch the folder and recompile on change */
|
145
|
-
else {
|
146
|
-
var srcDirName = path.dirname(clargs.src);
|
147
|
-
console.log("Watching ".concat(srcDirName, " for changes...").yellow);
|
148
|
-
server = new ws_1.WebSocketServer({ port: 7788 });
|
149
|
-
var _watcher = choki.watch(srcDirName).on("all", watcher);
|
150
|
-
try {
|
151
|
-
compile(clargs.src, clargs.output);
|
152
|
-
}
|
153
|
-
catch (e) {
|
154
|
-
console.log(e.message);
|
155
|
-
}
|
156
|
-
}
|
157
|
-
}
|
158
|
-
/* main entrypoint */
|
159
|
-
if (require.main === module)
|
160
|
-
main();
|
161
|
-
//# sourceMappingURL=cltool.js.map
|
package/build/cltool.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cltool.js","sourceRoot":"","sources":["../src/cltool.ts"],"names":[],"mappings":"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"}
|
package/build/commands.d.ts
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
import Parser from "./parse";
|
2
|
-
export declare class MDMError extends Error {
|
3
|
-
match: RegExpMatchArray;
|
4
|
-
constructor(message: string, match: RegExpMatchArray);
|
5
|
-
}
|
6
|
-
export declare const commands: {
|
7
|
-
preparse: Command[];
|
8
|
-
parse: Command[];
|
9
|
-
postparse: Command[];
|
10
|
-
};
|
11
|
-
export declare enum CommandType {
|
12
|
-
PREPARSE = 0,
|
13
|
-
PARSE = 1,
|
14
|
-
POSTPARSE = 2
|
15
|
-
}
|
16
|
-
export declare enum TargetType {
|
17
|
-
HTML = 0,
|
18
|
-
MARKDOWN = 1
|
19
|
-
}
|
20
|
-
export declare class Command {
|
21
|
-
validator: RegExp;
|
22
|
-
acter: (match: RegExpMatchArray, parser: Parser) => string | void;
|
23
|
-
type: CommandType;
|
24
|
-
constructor(validator: RegExp, acter: (match: RegExpMatchArray, parser: Parser) => string | void, type: CommandType);
|
25
|
-
act(match: any, parser: any): string | void;
|
26
|
-
}
|
27
|
-
export declare function load_extensions(parser: Parser): void;
|
28
|
-
/**
|
29
|
-
*
|
30
|
-
* @param regex The regex to match the command
|
31
|
-
* @param acter The function called when a match is found. Takes two arguments, `match` and `parser`. `match` is the result of the regex match, and `parser` is the parser instance. The function should return the replacement string.
|
32
|
-
* @param type When the command should be run. Can be `CommandType.PREPARSE`, `CommandType.PARSE`, or `CommandType.POSTPARSE`. Defaults to `CommandType.PARSE`.
|
33
|
-
*/
|
34
|
-
export declare function new_command(regex: RegExp, acter: (match: RegExpMatchArray, parser: Parser) => string, type?: CommandType): void;
|
35
|
-
declare const _default: {
|
36
|
-
commands: {
|
37
|
-
preparse: Command[];
|
38
|
-
parse: Command[];
|
39
|
-
postparse: Command[];
|
40
|
-
};
|
41
|
-
load_extensions: typeof load_extensions;
|
42
|
-
};
|
43
|
-
export default _default;
|