* [Dropzone.js](http://www.dropzonejs.com/)
* [ZeroClipboard](http://zeroclipboard.org/)
* [TinyColorPicker](http://www.dematte.at/tinyColorPicker/index.html)
-* [Marked](https://github.com/chjj/marked)
+* [markdown-it](https://github.com/markdown-it/markdown-it) and [markdown-it-task-lists](https://github.com/revin/markdown-it-task-lists)
* [Moment.js](http://momentjs.com/)
* [BarryVD](https://github.com/barryvdh)
* [Debugbar](https://github.com/barryvdh/laravel-debugbar)
"use strict";
const DropZone = require("dropzone");
-const markdown = require("marked");
+const MarkdownIt = require("markdown-it");
+const mdTasksLists = require('markdown-it-task-lists');
module.exports = function (ngApp, events) {
}
}]);
- let renderer = new markdown.Renderer();
- // Custom markdown checkbox list item
- // Attribution: https://github.com/chjj/marked/issues/107#issuecomment-44542001
- renderer.listitem = function(text) {
- if (/^\s*\[[x ]\]\s*/.test(text)) {
- text = text
- .replace(/^\s*\[ \]\s*/, '<input type="checkbox"/>')
- .replace(/^\s*\[x\]\s*/, '<input type="checkbox" checked/>');
- return `<li class="checkbox-item">${text}</li>`;
- }
- return `<li>${text}</li>`;
- };
+ const md = new MarkdownIt();
+ md.use(mdTasksLists, {label: true});
/**
* Markdown input
element = element.find('textarea').first();
let content = element.val();
scope.mdModel = content;
- scope.mdChange(markdown(content, {renderer: renderer}));
+ scope.mdChange(md.render(content));
element.on('change input', (event) => {
content = element.val();
$timeout(() => {
scope.mdModel = content;
- scope.mdChange(markdown(content, {renderer: renderer}));
+ scope.mdChange(md.render(content));
});
});
scope.$on('markdown-update', (event, value) => {
element.val(value);
scope.mdModel = value;
- scope.mdChange(markdown(value));
+ scope.mdChange(md.render(value));
});
}