Skip to content
This repository was archived by the owner on Mar 19, 2025. It is now read-only.

Commit 7239cb5

Browse files
committed
adds task list support
1 parent 8f84c6e commit 7239cb5

File tree

5 files changed

+34
-11
lines changed

5 files changed

+34
-11
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ node_modules
3131

3232
# Optional REPL history
3333
.node_repl_history
34+
package-lock.json

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Supported Markdown Syntax:
2525
* [x] *katex
2626
* [x] emoji
2727
* [x] mark
28+
* [x] GFM task list
2829

2930
`*SyntaxHighlighter` work with [Prism](http://prismjs.com) recommend
3031

@@ -125,6 +126,7 @@ TIP: The default slot only renders **once** at the beginning, and it will overwr
125126
| lang-prefix | String | `language-` | CSS language prefix for fenced blocks |
126127
| quotes | String | `“”‘’` | use `“”‘’` for Chinese, `„“‚‘` for German, `«»„“` for Russian |
127128
| table-class | String | `table` | customize html class of the `<table>` |
129+
| taskLists | Boolean | `true` | enable GF task list |
128130
| toc | Boolean | `false` | enable automatic table of contents |
129131
| toc-id | String | `undefined` | the HTML id to render TOC |
130132
| toc-class | String | `table` | customize html class of the `<ul>` wrapping the TOC |

dist/vue-markdown.common.js

+20-6
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66

77
(function webpackUniversalModuleDefinition(root, factory) {
88
if(typeof exports === 'object' && typeof module === 'object')
9-
module.exports = factory(require("babel-runtime/core-js/get-iterator"), require("babel-runtime/core-js/object/keys"), require("markdown-it"), require("markdown-it-emoji"), require("markdown-it-sub"), require("markdown-it-sup"), require("markdown-it-footnote"), require("markdown-it-deflist"), require("markdown-it-abbr"), require("markdown-it-ins"), require("markdown-it-mark"), require("markdown-it-toc-and-anchor"), require("markdown-it-katex"), require("markdown-it-highlightjs"));
9+
module.exports = factory(require("babel-runtime/core-js/get-iterator"), require("babel-runtime/core-js/object/keys"), require("markdown-it"), require("markdown-it-emoji"), require("markdown-it-sub"), require("markdown-it-sup"), require("markdown-it-footnote"), require("markdown-it-deflist"), require("markdown-it-abbr"), require("markdown-it-ins"), require("markdown-it-mark"), require("markdown-it-toc-and-anchor"), require("markdown-it-katex"), require("markdown-it-highlightjs"), require("markdown-it-task-lists"));
1010
else if(typeof define === 'function' && define.amd)
11-
define(["babel-runtime/core-js/get-iterator", "babel-runtime/core-js/object/keys", "markdown-it", "markdown-it-emoji", "markdown-it-sub", "markdown-it-sup", "markdown-it-footnote", "markdown-it-deflist", "markdown-it-abbr", "markdown-it-ins", "markdown-it-mark", "markdown-it-toc-and-anchor", "markdown-it-katex", "markdown-it-highlightjs"], factory);
11+
define(["babel-runtime/core-js/get-iterator", "babel-runtime/core-js/object/keys", "markdown-it", "markdown-it-emoji", "markdown-it-sub", "markdown-it-sup", "markdown-it-footnote", "markdown-it-deflist", "markdown-it-abbr", "markdown-it-ins", "markdown-it-mark", "markdown-it-toc-and-anchor", "markdown-it-katex", "markdown-it-highlightjs", "markdown-it-task-lists"], factory);
1212
else if(typeof exports === 'object')
13-
exports["VueMarkdown"] = factory(require("babel-runtime/core-js/get-iterator"), require("babel-runtime/core-js/object/keys"), require("markdown-it"), require("markdown-it-emoji"), require("markdown-it-sub"), require("markdown-it-sup"), require("markdown-it-footnote"), require("markdown-it-deflist"), require("markdown-it-abbr"), require("markdown-it-ins"), require("markdown-it-mark"), require("markdown-it-toc-and-anchor"), require("markdown-it-katex"), require("markdown-it-highlightjs"));
13+
exports["VueMarkdown"] = factory(require("babel-runtime/core-js/get-iterator"), require("babel-runtime/core-js/object/keys"), require("markdown-it"), require("markdown-it-emoji"), require("markdown-it-sub"), require("markdown-it-sup"), require("markdown-it-footnote"), require("markdown-it-deflist"), require("markdown-it-abbr"), require("markdown-it-ins"), require("markdown-it-mark"), require("markdown-it-toc-and-anchor"), require("markdown-it-katex"), require("markdown-it-highlightjs"), require("markdown-it-task-lists"));
1414
else
15-
root["VueMarkdown"] = factory(root["babel-runtime/core-js/get-iterator"], root["babel-runtime/core-js/object/keys"], root["markdown-it"], root["markdown-it-emoji"], root["markdown-it-sub"], root["markdown-it-sup"], root["markdown-it-footnote"], root["markdown-it-deflist"], root["markdown-it-abbr"], root["markdown-it-ins"], root["markdown-it-mark"], root["markdown-it-toc-and-anchor"], root["markdown-it-katex"], root["markdown-it-highlightjs"]);
16-
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_10__, __WEBPACK_EXTERNAL_MODULE_11__, __WEBPACK_EXTERNAL_MODULE_12__, __WEBPACK_EXTERNAL_MODULE_13__, __WEBPACK_EXTERNAL_MODULE_14__) {
15+
root["VueMarkdown"] = factory(root["babel-runtime/core-js/get-iterator"], root["babel-runtime/core-js/object/keys"], root["markdown-it"], root["markdown-it-emoji"], root["markdown-it-sub"], root["markdown-it-sup"], root["markdown-it-footnote"], root["markdown-it-deflist"], root["markdown-it-abbr"], root["markdown-it-ins"], root["markdown-it-mark"], root["markdown-it-toc-and-anchor"], root["markdown-it-katex"], root["markdown-it-highlightjs"], root["markdown-it-task-lists"]);
16+
})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_10__, __WEBPACK_EXTERNAL_MODULE_11__, __WEBPACK_EXTERNAL_MODULE_12__, __WEBPACK_EXTERNAL_MODULE_13__, __WEBPACK_EXTERNAL_MODULE_14__, __WEBPACK_EXTERNAL_MODULE_15__) {
1717
return /******/ (function(modules) { // webpackBootstrap
1818
/******/ // The module cache
1919
/******/ var installedModules = {};
@@ -122,6 +122,10 @@ return /******/ (function(modules) { // webpackBootstrap
122122

123123
var _markdownItHighlightjs2 = _interopRequireDefault(_markdownItHighlightjs);
124124

125+
var _markdownItTaskLists = __webpack_require__(15);
126+
127+
var _markdownItTaskLists2 = _interopRequireDefault(_markdownItTaskLists);
128+
125129
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
126130

127131
exports.default = {
@@ -191,6 +195,10 @@ return /******/ (function(modules) { // webpackBootstrap
191195
type: String,
192196
default: 'table'
193197
},
198+
taskLists: {
199+
type: Boolean,
200+
default: true
201+
},
194202
toc: {
195203
type: Boolean,
196204
default: false
@@ -256,7 +264,7 @@ return /******/ (function(modules) { // webpackBootstrap
256264
render: function render(createElement) {
257265
var _this = this;
258266

259-
this.md = new _markdownIt2.default().use(_markdownItSub2.default).use(_markdownItSup2.default).use(_markdownItFootnote2.default).use(_markdownItDeflist2.default).use(_markdownItAbbr2.default).use(_markdownItIns2.default).use(_markdownItMark2.default).use(_markdownItKatex2.default, { "throwOnError": false, "errorColor": " #cc0000" });
267+
this.md = new _markdownIt2.default().use(_markdownItSub2.default).use(_markdownItSup2.default).use(_markdownItFootnote2.default).use(_markdownItDeflist2.default).use(_markdownItAbbr2.default).use(_markdownItIns2.default).use(_markdownItMark2.default).use(_markdownItKatex2.default, { "throwOnError": false, "errorColor": " #cc0000" }).use(_markdownItTaskLists2.default, { enabled: this.taskLists });
260268

261269
if (this.emoji) {
262270
this.md.use(_markdownItEmoji2.default);
@@ -454,6 +462,12 @@ return /******/ (function(modules) { // webpackBootstrap
454462

455463
module.exports = __WEBPACK_EXTERNAL_MODULE_14__;
456464

465+
/***/ }),
466+
/* 15 */
467+
/***/ (function(module, exports) {
468+
469+
module.exports = __WEBPACK_EXTERNAL_MODULE_15__;
470+
457471
/***/ })
458472
/******/ ])
459473
});

package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@
3636
"babel-preset-es2015": "^6.6.0",
3737
"babel-runtime": "^6.6.1",
3838
"css-loader": "^0.23.1",
39-
"json-loader": "^0.5.4",
40-
"markdown-it-highlightjs": "^3.0.0",
4139
"style-loader": "^0.13.1",
42-
"vue-loader": "^10.0.2",
4340
"webpack": "^1.13.0"
4441
},
4542
"dependencies": {
@@ -55,6 +52,9 @@
5552
"markdown-it-mark": "^2.0.0",
5653
"markdown-it-sub": "^1.0.0",
5754
"markdown-it-sup": "^1.0.0",
58-
"markdown-it-toc-and-anchor": "^4.1.1"
55+
"markdown-it-task-lists": "^2.0.1",
56+
"markdown-it-toc-and-anchor": "^4.1.2",
57+
"match-at": "^0.1.0",
58+
"unorm": "^1.4.1"
5959
}
6060
}

src/VueMarkdown.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import mark from 'markdown-it-mark'
1010
import toc from 'markdown-it-toc-and-anchor'
1111
import katex from 'markdown-it-katex'
1212
import highlightjs from 'markdown-it-highlightjs'
13+
import tasklists from 'markdown-it-task-lists'
1314

1415
export default {
1516
md: new markdownIt(),
@@ -75,6 +76,10 @@ export default {
7576
type: String,
7677
default: 'table',
7778
},
79+
taskLists: {
80+
type: Boolean,
81+
default: true
82+
},
7883
toc: {
7984
type: Boolean,
8085
default: false,
@@ -142,7 +147,8 @@ export default {
142147
.use(abbreviation)
143148
.use(insert)
144149
.use(mark)
145-
.use(katex, { "throwOnError": false, "errorColor": " #cc0000" })
150+
.use(katex, {"throwOnError" : false, "errorColor" : " #cc0000"})
151+
.use(tasklists, {enabled: this.taskLists})
146152

147153
if (this.emoji) {
148154
this.md.use(emoji)

0 commit comments

Comments
 (0)