forked from btford/angular-markdown-directive
-
Notifications
You must be signed in to change notification settings - Fork 0
/
markdown.js
36 lines (34 loc) · 981 Bytes
/
markdown.js
1
2
3
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
36
/*
* angular-markdown-directive v0.3.1
* (c) 2013-2014 Brian Ford http://briantford.com
* License: MIT
*/
'use strict';
angular.module('btford.markdown', ['ngSanitize']).
provider('markdownConverter', function () {
var opts = {};
return {
config: function (newOpts) {
opts = newOpts;
},
$get: function () {
return new Showdown.Converter(opts);
}
};
}).
directive('btfMarkdown', ['$sanitize', 'markdownConverter', function ($sanitize, markdownConverter) {
return {
restrict: 'AE',
link: function (scope, element, attrs) {
if (attrs.btfMarkdown) {
scope.$watch(attrs.btfMarkdown, function (newVal) {
var html = newVal ? $sanitize(markdownConverter.makeHtml(newVal)) : '';
element.html(html);
});
} else {
var html = $sanitize(markdownConverter.makeHtml(element.text()));
element.html(html);
}
}
};
}]);