enable mathjax in live preview
This commit is contained in:
+7
-1
@@ -148,7 +148,7 @@ module Precious
|
|||||||
@allow_uploads = wiki.allow_uploads
|
@allow_uploads = wiki.allow_uploads
|
||||||
if page = wikip.page
|
if page = wikip.page
|
||||||
if wiki.live_preview && page.format.to_s.include?('markdown') && supported_useragent?(request.user_agent)
|
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
|
if @path
|
||||||
live_preview_url << '&path=' + encodeURIComponent(@path)
|
live_preview_url << '&path=' + encodeURIComponent(@path)
|
||||||
end
|
end
|
||||||
@@ -362,6 +362,12 @@ module Precious
|
|||||||
mustache :page
|
mustache :page
|
||||||
end
|
end
|
||||||
|
|
||||||
|
get '/livepreview/' do
|
||||||
|
wiki = wiki_new
|
||||||
|
@mathjax = wiki.mathjax
|
||||||
|
mustache :livepreview, { :layout => false }
|
||||||
|
end
|
||||||
|
|
||||||
get '/history/*' do
|
get '/history/*' do
|
||||||
@page = wiki_page(params[:splat].first).page
|
@page = wiki_page(params[:splat].first).page
|
||||||
@page_num = [params[:page].to_i, 1].max
|
@page_num = [params[:page].to_i, 1].max
|
||||||
|
|||||||
@@ -311,6 +311,10 @@ var makePreviewHtml = function () {
|
|||||||
// preview.innerHTML = text; // this doesn't work on IE.
|
// preview.innerHTML = text; // this doesn't work on IE.
|
||||||
previewSet( text );
|
previewSet( text );
|
||||||
|
|
||||||
|
if (win.MathJax) {
|
||||||
|
win.MathJax.Hub.Queue(['Typeset', win.MathJax.Hub, 'contentframe']);
|
||||||
|
}
|
||||||
|
|
||||||
// highlight code blocks.
|
// highlight code blocks.
|
||||||
var codeElements = preview.getElementsByTagName( 'pre' );
|
var codeElements = preview.getElementsByTagName( 'pre' );
|
||||||
var codeElementsLength = codeElements.length;
|
var codeElementsLength = codeElements.length;
|
||||||
|
|||||||
+22
@@ -40,5 +40,27 @@ var require = {
|
|||||||
<script src='js/sundown.js'></script>
|
<script src='js/sundown.js'></script>
|
||||||
<script src='js/md_sundown.js'></script>
|
<script src='js/md_sundown.js'></script>
|
||||||
<script src='js/livepreview.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>
|
</body>
|
||||||
</html>
|
</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