Sinatra base url to allow subdirectories

This commit is contained in:
Sunny Ripert
2012-04-24 22:35:03 +02:00
parent e930b5d07b
commit 7485733fba
18 changed files with 75 additions and 65 deletions
+11 -6
View File
@@ -67,6 +67,10 @@ module Precious
enable :logging, :raise_errors, :dump_errors
end
before do
@base_url = url('/')
end
get '/' do
show_page_or_file('Home')
end
@@ -93,7 +97,7 @@ module Precious
if @path
live_preview_url << '&path=' + encodeURIComponent(@path)
end
redirect live_preview_url
redirect to(live_preview_url)
else
@page = page
@page.version = wiki.repo.log(wiki.ref, @page.path).first
@@ -122,7 +126,7 @@ module Precious
page = wiki.page(params[:rename]) if params[:rename]
redirect "/#{page.escaped_url_path}"
redirect to("/#{page.escaped_url_path}")
end
get '/create/*' do
@@ -146,7 +150,7 @@ module Precious
begin
wiki.write_page(name, format, params[:content], commit_message)
page = wiki.page(name)
redirect "/#{page.escaped_url_path}"
redirect to("/#{page.escaped_url_path}")
rescue Gollum::DuplicatePageError => e
@message = "Duplicate page: #{e.message}"
mustache :error
@@ -164,7 +168,7 @@ module Precious
sha2 = shas.shift
if wiki.revert_page(@page, sha1, sha2, commit_message)
redirect "/#{@page.escaped_url_path}"
redirect to("/#{@page.escaped_url_path}")
else
sha2, sha1 = sha1, "#{sha1}^" if !sha2
@versions = [sha1, sha2]
@@ -201,12 +205,13 @@ module Precious
@file = params[:splat].first
@versions = params[:versions] || []
if @versions.size < 2
redirect "/history/#{@file}"
redirect to("/history/#{@file}")
else
redirect "/compare/%s/%s...%s" % [
redirect to("/compare/%s/%s...%s" % [
@file,
@versions.last,
@versions.first]
)
end
end