989a6becbf6f8fbb040448b1c9be3f7123191ff9
[portal/sdk.git] /
1 /*
2  * angular-markdown-directive v0.3.1
3  * (c) 2013-2014 Brian Ford http://briantford.com
4  * License: MIT
5  */
6
7 'use strict';
8
9 angular.module('btford.markdown', ['ngSanitize']).
10   provider('markdownConverter', function () {
11     var opts = {};
12     return {
13       config: function (newOpts) {
14         opts = newOpts;
15       },
16       $get: function () {
17         return new Showdown.converter(opts);
18       }
19     };
20   }).
21   directive('btfMarkdown', ['$sanitize', 'markdownConverter', function ($sanitize, markdownConverter) {
22     return {
23       restrict: 'AE',
24       link: function (scope, element, attrs) {
25         if (attrs.btfMarkdown) {
26           scope.$watch(attrs.btfMarkdown, function (newVal) {
27             var html = newVal ? $sanitize(markdownConverter.makeHtml(newVal)) : '';
28             element.html(html);
29           });
30         } else {
31           var html = $sanitize(markdownConverter.makeHtml(element.text()));
32           element.html(html);
33         }
34       }
35     };
36   }]);