fix(syntax highlighting): Better syntax highlighting

- Update markdown2 to 2.3.5
- Only load syntax files for languages we support
- Enable highlightjs-lang extra to add class to code blocks
This commit is contained in:
Faris Ansari 2018-08-05 20:03:56 +05:30
parent 60f9e2c973
commit 0a6deadc91
4 changed files with 22 additions and 5 deletions

View file

@ -943,6 +943,7 @@ def md_to_html(markdown_text):
'fenced-code-blocks': None,
'tables': None,
'header-ids': None,
'highlightjs-lang': None,
'html-classes': {
'table': 'table table-bordered'
}

View file

@ -0,0 +1,18 @@
const hljs = require('highlight.js/lib/highlight');
hljs.registerLanguage('javascript', require('highlight.js/lib/languages/javascript'));
hljs.registerLanguage('python', require('highlight.js/lib/languages/python'));
hljs.registerLanguage('xml', require('highlight.js/lib/languages/xml'));
hljs.registerLanguage('django', require('highlight.js/lib/languages/django'));
hljs.registerLanguage('bash', require('highlight.js/lib/languages/bash'));
hljs.registerLanguage('css', require('highlight.js/lib/languages/css'));
hljs.registerLanguage('markdown', require('highlight.js/lib/languages/markdown'));
hljs.registerLanguage('diff', require('highlight.js/lib/languages/diff'));
hljs.registerLanguage('json', require('highlight.js/lib/languages/json'));
hljs.registerLanguage('less', require('highlight.js/lib/languages/less'));
hljs.registerLanguage('nginx', require('highlight.js/lib/languages/nginx'));
hljs.registerLanguage('scss', require('highlight.js/lib/languages/scss'));
hljs.registerLanguage('shell', require('highlight.js/lib/languages/shell'));
hljs.registerLanguage('sql', require('highlight.js/lib/languages/sql'));
module.exports = hljs;

View file

@ -2,7 +2,7 @@
// MIT License. See license.txt
/* eslint-disable no-console */
import hljs from 'highlight.js';
import hljs from './syntax_highlight';
frappe.provide("website");
frappe.provide("frappe.awesome_bar_path");
@ -265,9 +265,7 @@ $.extend(frappe, {
},
highlight_code_blocks: function() {
$('pre code').each(function(i, block) {
hljs.highlightBlock(block);
});
hljs.initHighlighting();
},
bind_filters: function() {
// set in select

View file

@ -3,7 +3,7 @@ chardet
dropbox==7.3.1
gunicorn
jinja2
markdown2
markdown2==2.3.5
PyMySQL
maxminddb-geolite2
python-dateutil