showdown, markdown meta data

This commit is contained in:
Matthew Scragg 2013-10-07 16:52:12 -05:00
parent 86e0c06805
commit a03299773e
12 changed files with 3946 additions and 27 deletions

View file

@ -98,9 +98,15 @@
</div>
<script src="/static/js/jquery-1.10.2.min.js"></script>
<script src="/static/js/underscore.js"></script>
<script src="/static/js/bootstrap.min.js"></script>
<script src="/static/js/marked.js"></script>
<!--<script src="/static/js/marked.js"></script>-->
<script src="/static/js/handlebars.js"></script>
<script src="/static/js/showdown/showdown.js"></script>
<script src="/static/js/html-sanitizer-minified.js"></script>
<script src="/static/js/showdown/wmd.js"></script>
<script>
/*
marked.setOptions({
gfm: true,
tables: true,
@ -110,7 +116,32 @@
smartypants: false,
langPrefix: 'lang-'
});
var converter = marked;
*/
MDR = {
doc: null,
callback: WMD,
convert: function(md, sanitize){
this.doc = this.callback(md);
md = this.doc.html;
if (sanitize) {
md = html_sanitize(md);
}
md = this.hook(md);
return md;
},
hook: function(md) {
if (!this.doc.metadata) {
return md;
}
try {
var template = Handlebars.compile(md);
return template(this.doc.metadata);
} catch(e) {
return md;
}
}
};
</script>
{% block js %}{% endblock %}
</body>

View file

@ -1,6 +1,5 @@
{% extends 'layout.html' %}
{% block js %}
<script src="/static/js/html-css-sanitizer-minified.js"></script>
<script src="/static/js/ace/ace.js"></script>
<script src="/static/js/ace/mode-markdown.js"></script>
<script src="/static/js/keymaster.min.js"></script>

View file

@ -16,7 +16,7 @@
{% block js %}
<script>
$(function(){
$("#page-content").html(converter({{ page.data|tojson|safe }})).show();
$("#page-content").html(MDR.convert({{ page.data|tojson|safe }})).show();
});
</script>
{% endblock %}