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;
                }
            };
        }
    }
});