diff --git a/lib/gollum/app.rb b/lib/gollum/app.rb
index be3e19c6..20deb6e4 100644
--- a/lib/gollum/app.rb
+++ b/lib/gollum/app.rb
@@ -28,7 +28,7 @@ class String
self # Do not transliterate utf-8 url's unless using Grit
end
end
-
+
# _Header => header which causes errors
def to_url
return nil if self.nil?
@@ -149,7 +149,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
@@ -363,6 +363,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
@@ -380,7 +386,7 @@ module Precious
@versions = @wiki.latest_changes({:max_count => max_count})
mustache :latest_changes
end
-
+
post '/compare/*' do
@file = encodeURIComponent(params[:splat].first)
@versions = params[:versions] || []
diff --git a/lib/gollum/public/gollum/livepreview/js/livepreview.js b/lib/gollum/public/gollum/livepreview/js/livepreview.js
index c39662dc..5d90607c 100644
--- a/lib/gollum/public/gollum/livepreview/js/livepreview.js
+++ b/lib/gollum/public/gollum/livepreview/js/livepreview.js
@@ -315,6 +315,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;
@@ -374,19 +378,19 @@ var applyTimeout = function () {
~-1 == false; !~-1 == true;
*/
if ( !~ location.host.indexOf( 'github.com' ) ) {
-
+
// returns unescaped key with leading slashes removed
function key_no_leading_slash( key ) {
return unescape( $.key( key ) || '' ).replace( /^\/+/, '' );
}
-
+
// ensure leading / is removed from path and that it ends with /
var path = key_no_leading_slash( 'path' );
// don't append '/' if path is empty from removing leading slash
if ( path !== '' && path.charAt( path.length - 1 ) !== '/' ) {
- path += '/';
+ path += '/';
}
-
+
jQuery.ajax( {
type: 'GET',
url: baseUrl + '/data/' + path + key_no_leading_slash( 'page' ),
diff --git a/lib/gollum/templates/layout.mustache b/lib/gollum/templates/layout.mustache
index 0453e897..41ae03b5 100644
--- a/lib/gollum/templates/layout.mustache
+++ b/lib/gollum/templates/layout.mustache
@@ -38,7 +38,7 @@
+{{#mathjax}}
+{{^mathjax_config}}
+
+{{/mathjax_config}}
+{{#mathjax_config}}
+
+{{/mathjax_config}}
+{{/mathjax}}