Angular Showdown directive compile
by maxisam
HTML
<script src="https://raw.github.com/coreyti/showdown/master/src/showdown.js"></script>
<markdown> ##test !</markdown>
JavaScript
angular.module('myApp', []).directive('markdown', function() {
var converter = new Showdown.converter();
var templateE = '<textarea rols="10" ng-show="isShown" ng-dblclick="switch()" cols="10" ng-model="markdown"></textarea>';
var templateP = '<div ng-hide="isShown" ng-dblclick="switch()" ></div>'
return {
restrict: 'E',
scope: {},
compile: function(tE, tA, tran) {
var markdown = tE.text();
tE.html(templateE);
var eleP = angular.element(templateP);
tE.append(eleP);
return function(s, e, a) {
s.isShown = true;
s.markdown = markdown;
s.switch = function() {
s.isShown && eleP.html(converter.makeHtml(s.markdown));
s.isShown = !s.isShown;
}
};
}
}
});