angular-markdown-directive
Version:
simple AngularJS markdown directive with showdown
37 lines (34 loc) • 981 B
JavaScript
/*
* angular-markdown-directive v0.3.1
* (c) 2013-2014 Brian Ford http://briantford.com
* License: MIT
*/
;
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);
}
}
};
}]);