diff --git a/markdown.js b/markdown.js index 989a6be..b296042 100644 --- a/markdown.js +++ b/markdown.js @@ -4,33 +4,35 @@ * License: MIT */ -'use strict'; +"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); +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", "$compile", "markdownConverter", function ($sanitize, $compile, markdownConverter) { + return { + restrict: "AE", + link: function (scope, element, attrs) { + if (attrs.btfMarkdown) { + scope.$watch(attrs.btfMarkdown, function (newVal) { + element.html(newVal ? $sanitize(markdownConverter.makeHtml(newVal)) : ""); + + if (attrs.compileHtml) $compile(element.contents())(scope); + }); + } else { + element.html($sanitize(markdownConverter.makeHtml(element.text()))); + + if (attrs.compileHtml) $compile(element.contents())(scope); + } + } + }; } - } - }; - }]); + ]);