enable mathjax in live preview
This commit is contained in:
+7
-1
@@ -148,7 +148,7 @@ module Precious
|
||||
@allow_uploads = wiki.allow_uploads
|
||||
if page = wikip.page
|
||||
if wiki.live_preview && page.format.to_s.include?('markdown') && supported_useragent?(request.user_agent)
|
||||
live_preview_url = '/livepreview/index.html?page=' + encodeURIComponent(@name)
|
||||
live_preview_url = '/livepreview/?page=' + encodeURIComponent(@name)
|
||||
if @path
|
||||
live_preview_url << '&path=' + encodeURIComponent(@path)
|
||||
end
|
||||
@@ -362,6 +362,12 @@ module Precious
|
||||
mustache :page
|
||||
end
|
||||
|
||||
get '/livepreview/' do
|
||||
wiki = wiki_new
|
||||
@mathjax = wiki.mathjax
|
||||
mustache :livepreview, { :layout => false }
|
||||
end
|
||||
|
||||
get '/history/*' do
|
||||
@page = wiki_page(params[:splat].first).page
|
||||
@page_num = [params[:page].to_i, 1].max
|
||||
|
||||
@@ -311,6 +311,10 @@ var makePreviewHtml = function () {
|
||||
// preview.innerHTML = text; // this doesn't work on IE.
|
||||
previewSet( text );
|
||||
|
||||
if (win.MathJax) {
|
||||
win.MathJax.Hub.Queue(['Typeset', win.MathJax.Hub, 'contentframe']);
|
||||
}
|
||||
|
||||
// highlight code blocks.
|
||||
var codeElements = preview.getElementsByTagName( 'pre' );
|
||||
var codeElementsLength = codeElements.length;
|
||||
|
||||
+22
@@ -40,5 +40,27 @@ var require = {
|
||||
<script src='js/sundown.js'></script>
|
||||
<script src='js/md_sundown.js'></script>
|
||||
<script src='js/livepreview.js'></script>
|
||||
{{#mathjax}}
|
||||
{{^mathjax_config}}
|
||||
<script type="text/javascript">
|
||||
window.MathJax = {
|
||||
tex2jax: {
|
||||
inlineMath: [ ['\\(','\\)'] ],
|
||||
displayMath: [ ['$$','$$'], ['\\[','\\]'] ],
|
||||
processEscapes: true
|
||||
},
|
||||
TeX: { extensions: ["autoload-all.js"] }
|
||||
};
|
||||
</script>
|
||||
{{/mathjax_config}}
|
||||
{{#mathjax_config}}
|
||||
<script type="text/javascript" src="{{base_url}}/{{mathjax_config}}"></script>
|
||||
{{/mathjax_config}}
|
||||
<script>(function(d,j){
|
||||
j = d.createElement('script');
|
||||
j.src = '//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
|
||||
(d.head || d.getElementsByTagName('head')[0]).appendChild(j);
|
||||
}(document));
|
||||
</script>{{/mathjax}}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,13 @@
|
||||
module Precious
|
||||
module Views
|
||||
class Livepreview < Layout
|
||||
def mathjax
|
||||
@mathjax
|
||||
end
|
||||
|
||||
def mathjax_config
|
||||
@mathjax_config
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user