Compare commits

..

47 Commits

Author SHA1 Message Date
Daniel Kimsey 25d30aee64 Release 2.7.0 2014-02-20 11:10:00 -05:00
Daniel Kimsey 8af92da23c Update version of gollum-lib to 2.0.0 2014-02-20 11:07:59 -05:00
Sunny Ripert 324ff0a17c Merge pull request #802 from ExocTBlid/master
Printing CSS
2014-02-04 14:05:15 -08:00
Blomquist, Ethan cfb372e5e2 Another minor update... 2014-02-03 10:53:37 -07:00
Blomquist, Ethan 6513c732ba Minor update to the delete link for printing. 2014-02-03 10:50:13 -07:00
Blomquist, Ethan c4ea869223 Added print.css to remove action buttons and delete link for better print format. 2014-02-03 10:45:06 -07:00
Dawa Ometto 5387267675 Merge pull request #800 from budziq/delete_crash
Fixes crash if "delete page" was selected in preview of page that being created
2014-02-01 10:01:57 -08:00
Dawa Ometto 8e4c3cc562 Merge pull request #801 from budziq/history_crash_clean
fixes crash when selected "history" in preview of page being created
2014-02-01 09:58:42 -08:00
Michał Budzyński 8b6b0699e5 fixes crash when selected "history" in preview of page being created
- history button is hidden in newly created page preview as it makes no sense
- redirect to '/' if page does not exist yet
2014-01-31 02:43:03 +01:00
Michał Budzyński 229bff1658 Fixes crash if "delete page" was selected in preview of page that being created 2014-01-31 02:10:15 +01:00
Jamie Oliver 7a59d37350 Merge pull request #794 from github/ungithub-upstream
Status of GitHub Wikis
2014-01-28 11:12:20 -08:00
Dawa Ometto d06b1e7883 Merge pull request #787 from akretion/fix-upload-path
fixes bug #786 per_page_uploads: incorrect file path if page is inside some directory
2014-01-25 02:12:55 -08:00
Akretion BOT c8a284db9d fixes bug #786 per_page_uploads: incorrect file path if page is inside some directory 2014-01-25 04:53:19 +01:00
Dawa Ometto c7d6aceff4 Update sanitization.md 2014-01-23 19:33:25 +01:00
Dawa Ometto 7ea45d5e89 Update sanitization.md
Document customization of sanitation settings; see https://github.com/gollum/gollum/issues/759
2014-01-23 19:29:20 +01:00
Brandon Keepers 48c4aafb15 Remove reference to GitHub in readme
:(
2014-01-21 09:40:41 -08:00
Bart Kamphorst ff302ed842 Fixes alignment of tables (issue #700).
Fixes https://github.com/gollum/gollum/issues/700 .
2014-01-21 16:55:05 +01:00
Dawa Ometto 20a2424b83 Merge pull request #793 from repotag/flag_for_per_page_uploads
Add optional 'mode' argument to --allow-uploads flag, allowing user to toggle per_page_uploads.
2014-01-21 03:34:43 -08:00
Dawa Ometto de0f34a27a Add optional 'mode' argument to --allow-uploads flag, allowing user to toggle per_page_uploads. 2014-01-21 12:14:47 +01:00
Sunny Ripert d0992cce3f Merge pull request #790 from akretion/better-redirect-after-upload
fixes #788 better redirect after file upload
2014-01-20 03:13:13 -08:00
Akretion BOT 15feeb3614 fixes #788 better redirect after file upload 2014-01-19 23:24:01 +01:00
Jamie Oliver fc0a879e52 Support Ruby 2.1.0. Closes #784 2014-01-11 14:42:35 +00:00
Daniel Kimsey 9b675146a2 Merge pull request #782 from Joe8Bit/master
Update README.md to show options
2014-01-10 07:26:25 -08:00
Joe Pettersson 4d0bdcc8c0 Update README.md to show options 2014-01-10 13:47:15 +00:00
bootstraponline 0abdb67687 Merge pull request #781 from anchor/per-page-uploads
Implement the ability to store uploads on a per-page basis
2014-01-04 19:11:07 -08:00
Matt Palmer d1fb98cf1b Merge remote-tracking branch 'upstream/master' into per-page-uploads
Conflicts:
	lib/gollum/public/gollum/javascript/gollum.js
2014-01-03 17:49:53 +11:00
Matt Palmer 5eac24eacb Implement the ability to store uploads on a per-page basis
Storing all uploaded files in a single directory kinda sucks when you've got
a largish wiki, or the possibility of filename collisions.  With this patch,
though, you can set `:per_page_uploads => true` in your wiki settings and
have the file uploaded to a directory named for the page you were on when
you clicked 'Upload'.
2014-01-03 15:34:24 +11:00
bootstraponline 3fd16daeca Release 2.6.0 2014-01-02 23:32:41 -05:00
bootstraponline d9b38c3b73 Use baseUrl for /uploadFile
Thanks @mpalmer
https://github.com/gollum/gollum/pull/780
2014-01-02 23:03:33 -05:00
bootstraponline 0a5176c1ee Merge pull request #780 from peterkeen/upload-base-path
Base upload button action on home page url
2014-01-02 19:50:35 -08:00
Pete Keen b836b0e273 Base upload button action on home page url 2014-01-01 17:05:32 -05:00
bootstraponline 9a41e2a65d Merge pull request #772 from zorun/master
Prevent indexing of old versions of a page (fixes #768)
2014-01-01 09:05:07 -08:00
bootstraponline cb1b74ed7b Merge pull request #776 from eucher/first_slash_in_create
First slash in create
2014-01-01 09:02:58 -08:00
bootstraponline e25e5d9768 Merge pull request #779 from anchor/semantic-versioning
Fix version specifiers
2014-01-01 09:02:14 -08:00
Matt Palmer 9f3766952f Fix version specifiers
Adjusted the version specs on the two gems that explicitly state they are
SemVer compliant, and fixed up the one dependency that correctly *could* have
used ~> but didn't.
2013-12-31 15:18:15 +11:00
bootstraponline cb4471b07f Merge pull request #778 from jhogendorn/baddialog
Fixes dialog hiding so it doesnt block the UI
2013-12-08 08:55:28 -08:00
Joshua Hogendorn 9fa7eac41f Fixes dialog hiding so it doesnt block the UI 2013-12-08 20:15:59 +10:00
zorun 94fa985550 Add a test for issue #772 2013-12-06 02:46:15 +01:00
Evgeni Cherdancev 1c498ead35 gsub before begin 2013-11-28 12:32:08 +07:00
Evgeni Cherdancev 5abc983172 write_page first slash fix 2013-11-28 12:26:06 +07:00
zorun 7a0d4919b0 Prevent indexing of old versions of a page (fixes #768) 2013-11-22 12:49:42 +01:00
bootstraponline d5e9183877 Merge pull request #762 from pdenes/add_template_dir_option
add option to specify custom template directory
2013-11-11 14:25:27 -08:00
bootstraponline 9b39a51e9f Merge pull request #758 from samer/master
Fix revert for pages in directories
2013-11-11 14:25:10 -08:00
pdenes bec7eabd1c add option to specify custom template directory 2013-11-06 21:46:54 +00:00
Samer N cd3791087f Fix revert for pages in directories, as seen in issue #736 2013-11-04 13:03:31 +02:00
Jamie Oliver 714985e377 Release 2.5.2 2013-11-02 11:31:21 +00:00
Jamie Oliver 76c37dce96 Upgrade gollum-lib 2013-11-02 11:21:39 +00:00
15 changed files with 138 additions and 41 deletions
+1
View File
@@ -1,6 +1,7 @@
rvm: rvm:
- 1.9.3 - 1.9.3
- 2.0.0 - 2.0.0
- 2.1.0
before_install: before_install:
- sudo apt-get update - sudo apt-get update
- sudo apt-get install libicu-dev - sudo apt-get install libicu-dev
+28 -2
View File
@@ -7,7 +7,7 @@ gollum -- A wiki built on top of Git
## DESCRIPTION ## DESCRIPTION
Gollum is a simple wiki system built on top of Git that powers GitHub Wikis. Gollum is a simple wiki system built on top of Git.
Gollum wikis are simply Git repositories that adhere to a specific format. Gollum wikis are simply Git repositories that adhere to a specific format.
Gollum pages may be written in a variety of formats and can be edited in a Gollum pages may be written in a variety of formats and can be edited in a
@@ -23,7 +23,7 @@ Gollum follows the rules of [Semantic Versioning](http://semver.org/) and uses
## SYSTEM REQUIREMENTS ## SYSTEM REQUIREMENTS
- Python 2.5+ (2.7.3 recommended) - Python 2.5+ (2.7.3 recommended)
- Ruby 1.8.7+ (1.9.3 recommended) - Ruby 1.9.3+ (1.9.3 recommended)
- Unix like operating system (OS X, Ubuntu, Debian, and more) - Unix like operating system (OS X, Ubuntu, Debian, and more)
- Will not work on Windows (because of [grit](https://github.com/github/grit)) - Will not work on Windows (because of [grit](https://github.com/github/grit))
@@ -91,6 +91,32 @@ utility, you can run it like so:
$ gollum --help $ gollum --help
``` ```
This will show you the options you can pass as arguments to the `gollum` command:
```bash
Options:
--port [PORT] Bind port (default 4567).
--host [HOST] Hostname or IP address to listen on (default 0.0.0.0).
--version Display current version.
--config [CONFIG] Path to additional configuration file
--irb Start an irb process with gollum loaded for the current wiki.
--css Inject custom css. Uses custom.css from root repository
--js Inject custom js. Uses custom.js from root repository
--template-dir [PATH] Specify custom template directory
--page-file-dir [PATH] Specify the sub directory for all page files (default: repository root).
--base-path [PATH] Specify the base path.
--gollum-path [PATH] Specify the gollum path.
--ref [REF] Specify the repository ref to use (default: master).
--no-live-preview Disables livepreview.
--live-preview Enables livepreview.
--allow-uploads Allows file uploads.
--mathjax Enables mathjax.
--user-icons [SOURCE] Set the history user icons. Valid values: gravatar, identicon, none. Default: none.
--show-all Shows all files in file view. By default only valid pages are shown.
--collapse-tree Collapse file view tree. By default, expanded tree is shown.
--h1-title Sets page title to value of first h1
```
Note that the gollum server will not run on Windows because of [an issue](https://github.com/rtomayko/posix-spawn/issues/9) with posix-spawn (which is used by Grit). Note that the gollum server will not run on Windows because of [an issue](https://github.com/rtomayko/posix-spawn/issues/9) with posix-spawn (which is used by Grit).
### RACK ### RACK
+7 -1
View File
@@ -56,6 +56,10 @@ opts = OptionParser.new do |opts|
wiki_options[:js] = true wiki_options[:js] = true
end end
opts.on("--template-dir [PATH]", "Specify custom template directory") do |path|
wiki_options[:template_dir] = path
end
opts.on("--page-file-dir [PATH]", "Specify the sub directory for all page files (default: repository root).") do |path| opts.on("--page-file-dir [PATH]", "Specify the sub directory for all page files (default: repository root).") do |path|
wiki_options[:page_file_dir] = path wiki_options[:page_file_dir] = path
end end
@@ -80,8 +84,9 @@ opts = OptionParser.new do |opts|
wiki_options[:live_preview] = true wiki_options[:live_preview] = true
end end
opts.on("--allow-uploads", "Allows file uploads.") do opts.on("--allow-uploads [MODE]", [:dir, :page], "Allows file uploads. Modes: dir (default, store all uploads in the same directory), page (store each upload at the same location as the page).") do |mode|
wiki_options[:allow_uploads] = true wiki_options[:allow_uploads] = true
wiki_options[:per_page_uploads] = true if mode == :page
end end
opts.on("--mathjax", "Enables mathjax.") do opts.on("--mathjax", "Enables mathjax.") do
@@ -168,6 +173,7 @@ else
require 'gollum/app' require 'gollum/app'
Precious::App.set(:gollum_path, gollum_path) Precious::App.set(:gollum_path, gollum_path)
Precious::App.set(:wiki_options, wiki_options) Precious::App.set(:wiki_options, wiki_options)
Precious::App.settings.mustache[:templates] = wiki_options[:template_dir] if wiki_options[:template_dir]
if cfg = options['config'] if cfg = options['config']
# If the path begins with a '/' it will be considered an absolute path, # If the path begins with a '/' it will be considered an absolute path,
+19 -18
View File
@@ -2,31 +2,32 @@ Sanitization Rules
================== ==================
Gollum uses the [Sanitize](http://wonko.com/post/sanitize) gem for HTML Gollum uses the [Sanitize](http://wonko.com/post/sanitize) gem for HTML
sanitization. sanitization. Below you find the default allowed tags, attributes, and protocols, as well as directions to customize these settings.
See `lib/gollum.rb` for actual settings. # Default Settings
## ALLOWED TAGS ## ALLOWED TAGS
a, abbr, acronym, address, area, b, big, blockquote, br, button, caption, a, abbr, acronym, address, area, b, big, blockquote, br, button, caption, center, cite, code, col, colgroup, dd, del, dfn, dir, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, hr, i, img, input, ins, kbd, label, legend, li, map, menu, ol, optgroup, option, p, pre, q, s, samp, select, small, span, strike, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, tt, u, ul, var
center, cite, code, col, colgroup, dd, del, dfn, dir, div, dl, dt, em,
fieldset, font, form, h1, h2, h3, h4, h5, h6, hr, i, img, input, ins, kbd,
label, legend, li, map, menu, ol, optgroup, option, p, pre, q, s, samp,
select, small, span, strike, strong, sub, sup, table, tbody, td, textarea,
tfoot, th, thead, tr, tt, u, ul, var
## ALLOWED ATTRIBUTES ## ALLOWED ATTRIBUTES
abbr, accept, accept-charset, accesskey, action, align, alt, axis, border, a href, abbr, accept, accept-charset, accesskey, action, align, alt, axis, border, cellpadding, cellspacing, char, charoff, class, charset, checked, cite, clear, cols, colspan, color, compact, coords, datetime, dir, disabled, enctype, for, frame, headers, height, hreflang, hspace, id, img src, ismap, label, lang, longdesc, maxlength, media, method, multiple, name, nohref, noshade, nowrap, prompt, readonly, rel, rev, rows, rowspan, rules, scope, selected, shape, size, span, start, summary, tabindex, target, title, type, usemap, valign, value, vspace, width
cellpadding, cellspacing, char, charoff, charset, checked, cite, class, clear,
cols, colspan, color, compact, coords, datetime, dir, disabled, enctype, for,
frame, headers, height, href, hreflang, hspace, id, ismap, label, lang,
longdesc, maxlength, media, method, multiple, name, nohref, noshade, nowrap,
prompt, readonly, rel, rev, rows, rowspan, rules, scope, selected, shape,
size, span, src, start, summary, tabindex, target, title, type, usemap,
valign, value, vspace, width
## ALLOWED PROTOCOLS ## ALLOWED PROTOCOLS
a href: http, https, mailto * a href: http, https, mailto, ftp, irc, apt, :relative
img src: http, https * img src: http, https, :relative
* form action: http, https, :relative
# Customizing
To customize these settings, edit your `config.rb` file along the following lines (be sure to run gollum with the `--config` option):
```ruby
sanitizer = Gollum::Sanitization.new
sanitizer.protocols['a']['href'].concat ['ssh', 'vnc'] # Protocols
sanitizer.elements.concat ['customtag1', 'customtag2'] # Tags
sanitizer.attributes['a'].push 'target' # Attributes
Precious::App.set(:wiki_options, {:sanitization => sanitizer})
```
+6 -5
View File
@@ -5,8 +5,8 @@ Gem::Specification.new do |s|
s.required_ruby_version = ">= 1.9" s.required_ruby_version = ">= 1.9"
s.name = 'gollum' s.name = 'gollum'
s.version = '2.5.1' s.version = '2.7.0'
s.date = '2013-10-15' s.date = '2014-02-20'
s.rubyforge_project = 'gollum' s.rubyforge_project = 'gollum'
s.license = 'MIT' s.license = 'MIT'
@@ -24,14 +24,14 @@ Gem::Specification.new do |s|
s.rdoc_options = ["--charset=UTF-8"] s.rdoc_options = ["--charset=UTF-8"]
s.extra_rdoc_files = %w[README.md LICENSE] s.extra_rdoc_files = %w[README.md LICENSE]
s.add_dependency 'gollum-lib', '~> 1.0.8' s.add_dependency 'gollum-lib', '~> 2.0'
s.add_dependency 'github-markdown', '~> 0.5.5' s.add_dependency 'github-markdown', '~> 0.5.5'
s.add_dependency 'sinatra', '~> 1.4.3' s.add_dependency 'sinatra', '~> 1.4', '>= 1.4.3'
s.add_dependency 'mustache', ['>= 0.99.4', '< 1.0.0'] s.add_dependency 'mustache', ['>= 0.99.4', '< 1.0.0']
s.add_dependency 'useragent', '~> 0.8.2' s.add_dependency 'useragent', '~> 0.8.2'
s.add_development_dependency 'rack-test', '~> 0.6.2' s.add_development_dependency 'rack-test', '~> 0.6.2'
s.add_development_dependency 'shoulda', ['>= 3.4.0', '< 3.5.0'] s.add_development_dependency 'shoulda', '~> 3.4.0'
s.add_development_dependency 'minitest-reporters', '~> 0.14.16' s.add_development_dependency 'minitest-reporters', '~> 0.14.16'
# = MANIFEST = # = MANIFEST =
@@ -53,6 +53,7 @@ Gem::Specification.new do |s|
lib/gollum/public/gollum/css/editor.css lib/gollum/public/gollum/css/editor.css
lib/gollum/public/gollum/css/gollum.css lib/gollum/public/gollum/css/gollum.css
lib/gollum/public/gollum/css/ie7.css lib/gollum/public/gollum/css/ie7.css
lib/gollum/public/gollum/css/print.css
lib/gollum/public/gollum/css/template.css lib/gollum/public/gollum/css/template.css
lib/gollum/public/gollum/images/dirty-shade.png lib/gollum/public/gollum/images/dirty-shade.png
lib/gollum/public/gollum/images/fileview/document.png lib/gollum/public/gollum/images/fileview/document.png
+1 -1
View File
@@ -16,7 +16,7 @@ require File.expand_path('../gollum/uri_encode_component', __FILE__)
$KCODE = 'U' if RUBY_VERSION[0,3] == '1.8' $KCODE = 'U' if RUBY_VERSION[0,3] == '1.8'
module Gollum module Gollum
VERSION = '2.5.1' VERSION = '2.7.0'
def self.assets_path def self.assets_path
::File.expand_path('gollum/public', ::File.dirname(__FILE__)) ::File.expand_path('gollum/public', ::File.dirname(__FILE__))
+24 -11
View File
@@ -163,7 +163,7 @@ module Precious
tempfile = params[:file][:tempfile] tempfile = params[:file][:tempfile]
end end
dir = 'uploads' dir = wiki.per_page_uploads ? params[:upload_dest] : 'uploads'
ext = ::File.extname(fullname) ext = ::File.extname(fullname)
format = ext.split('.').last || 'txt' format = ext.split('.').last || 'txt'
filename = ::File.basename(fullname, ext) filename = ::File.basename(fullname, ext)
@@ -173,7 +173,7 @@ module Precious
head = wiki.repo.head head = wiki.repo.head
options = { options = {
:message => "Uploaded file to uploads/#{reponame}", :message => "Uploaded file to #{dir}/#{reponame}",
:parent => wiki.repo.head.commit, :parent => wiki.repo.head.commit,
} }
author = session['gollum.author'] author = session['gollum.author']
@@ -189,7 +189,7 @@ module Precious
committer.update_working_dir(dir, filename, format) committer.update_working_dir(dir, filename, format)
end end
committer.commit committer.commit
redirect to('/') redirect to(request.referer)
rescue Gollum::DuplicatePageError => e rescue Gollum::DuplicatePageError => e
@message = "Duplicate page: #{e.message}" @message = "Duplicate page: #{e.message}"
mustache :error mustache :error
@@ -255,7 +255,9 @@ module Precious
name = wikip.name name = wikip.name
wiki = wikip.wiki wiki = wikip.wiki
page = wikip.page page = wikip.page
wiki.delete_page(page, { :message => "Destroyed #{name} (#{page.format})" }) unless page.nil?
wiki.delete_page(page, { :message => "Destroyed #{name} (#{page.format})" })
end
redirect to('/') redirect to('/')
end end
@@ -289,6 +291,8 @@ module Precious
format = params[:format].intern format = params[:format].intern
wiki = wiki_new wiki = wiki_new
path.gsub!(/^\//, '')
begin begin
wiki.write_page(name, format, params[:content], commit_message, path) wiki.write_page(name, format, params[:content], commit_message, path)
@@ -300,15 +304,14 @@ module Precious
end end
end end
post '/revert/:page/*' do post '/revert/*/:sha1/:sha2' do
wikip = wiki_page(params[:page]) wikip = wiki_page(params[:splat].first)
@path = wikip.path @path = wikip.path
@name = wikip.name @name = wikip.name
wiki = wikip.wiki wiki = wikip.wiki
@page = wiki.paged(@name,@path) @page = wiki.paged(@name,@path)
shas = params[:splat].first.split("/") sha1 = params[:sha1]
sha1 = shas.shift sha2 = params[:sha2]
sha2 = shas.shift
commit = commit_message commit = commit_message
commit[:message] = "Revert commit #{sha1.chars.take(7).join}" commit[:message] = "Revert commit #{sha1.chars.take(7).join}"
@@ -340,8 +343,12 @@ module Precious
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
@versions = @page.versions :page => @page_num unless @page.nil?
mustache :history @versions = @page.versions :page => @page_num
mustache :history
else
redirect to("/")
end
end end
post '/compare/*' do post '/compare/*' do
@@ -387,6 +394,7 @@ module Precious
@page = page @page = page
@name = name @name = name
@content = page.formatted_data @content = page.formatted_data
@version = version
mustache :page mustache :page
else else
halt 404 halt 404
@@ -445,9 +453,14 @@ module Precious
@page = page @page = page
@name = name @name = name
@content = page.formatted_data @content = page.formatted_data
@upload_dest = settings.wiki_options[:allow_uploads] ?
(settings.wiki_options[:per_page_uploads] ?
"#{path}/#{@name}".sub(/^\/\//, '') : 'uploads'
) : ''
# Extensions and layout data # Extensions and layout data
@editable = true @editable = true
@page_exists = !page.versions.empty?
@toc_content = wiki.universal_toc ? @page.toc_data : nil @toc_content = wiki.universal_toc ? @page.toc_data : nil
@mathjax = wiki.mathjax @mathjax = wiki.mathjax
@h1_title = wiki.h1_title @h1_title = wiki.h1_title
+14
View File
@@ -0,0 +1,14 @@
/*
print.css
Removes the action buttons at the top and
the delete link at the bottom for better printing.
*/
ul.actions {
display: none;
}
#delete-link {
display: none;
}
+1 -1
View File
@@ -241,7 +241,7 @@ a.absent {
.markdown-body table tr th, .markdown-body table tr th,
.markdown-body table tr td { .markdown-body table tr td {
border: 1px solid #ccc; border: 1px solid #ccc;
text-align: left; text-align: none;
margin: 0; margin: 0;
padding: 6px 13px; padding: 6px 13px;
} }
@@ -99,6 +99,8 @@
html += '<form method=post enctype="multipart/form-data" ' + html += '<form method=post enctype="multipart/form-data" ' +
'action="' + action + '" ' + 'id="' + id + '">'; 'action="' + action + '" ' + 'id="' + id + '">';
html += '<input type="hidden" name="upload_dest" value="' +
uploadDest + '">';
html += '<input type=file name="' + name + '">'; html += '<input type=file name="' + name + '">';
html += '</form>'; html += '</form>';
@@ -179,6 +181,7 @@
duration: 200, duration: 200,
complete: function() { complete: function() {
$('#gollum-dialog-dialog').removeClass('active'); $('#gollum-dialog-dialog').removeClass('active');
$('#gollum-dialog-dialog').css('display', 'none');
} }
}); });
} }
@@ -155,7 +155,8 @@ $(document).ready(function() {
fields: [ fields: [
{ {
type: 'file', type: 'file',
context: 'Your uploaded file will be accessible at /uploads/[filename]' context: 'Your uploaded file will be accessible at<br>/'+uploadDest+'/[filename]',
action: baseUrl + '/uploadFile'
} }
], ],
OK: function( res ) { OK: function( res ) {
+3
View File
@@ -6,7 +6,9 @@
<link rel="stylesheet" type="text/css" href="{{base_url}}/css/editor.css" media="all"> <link rel="stylesheet" type="text/css" href="{{base_url}}/css/editor.css" media="all">
<link rel="stylesheet" type="text/css" href="{{base_url}}/css/dialog.css" media="all"> <link rel="stylesheet" type="text/css" href="{{base_url}}/css/dialog.css" media="all">
<link rel="stylesheet" type="text/css" href="{{base_url}}/css/template.css" media="all"> <link rel="stylesheet" type="text/css" href="{{base_url}}/css/template.css" media="all">
<link rel="stylesheet" type="text/css" href="{{base_url}}/css/print.css" media="print">
{{#css}}<link rel="stylesheet" type="text/css" href="{{base_url}}/custom.css" media="all">{{/css}} {{#css}}<link rel="stylesheet" type="text/css" href="{{base_url}}/custom.css" media="all">{{/css}}
{{#noindex}}<meta name="robots" content="noindex, nofollow" />{{/noindex}}
<!--[if IE 7]> <!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="{{base_url}}/css/ie7.css" media="all"> <link rel="stylesheet" type="text/css" href="{{base_url}}/css/ie7.css" media="all">
@@ -16,6 +18,7 @@
var baseUrl = '{{base_url}}'; var baseUrl = '{{base_url}}';
{{#page}} {{#page}}
var pageFullPath = '{{url_path_display}}'; var pageFullPath = '{{url_path_display}}';
var uploadDest = '{{upload_dest}}';
{{/page}} {{/page}}
</script> </script>
<script type="text/javascript" src="{{base_url}}/javascript/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="{{base_url}}/javascript/jquery-1.7.2.min.js"></script>
+3
View File
@@ -30,8 +30,11 @@ Mousetrap.bind(['e'], function( e ) {
<li class="minibutton"><a href="{{base_url}}/edit/{{escaped_url_path}}" <li class="minibutton"><a href="{{base_url}}/edit/{{escaped_url_path}}"
class="action-edit-page">Edit</a></li> class="action-edit-page">Edit</a></li>
{{/editable}} {{/editable}}
{{#page_exists}}
<li class="minibutton jaws">
<li class="minibutton"><a href="{{base_url}}/history/{{escaped_url_path}}" <li class="minibutton"><a href="{{base_url}}/history/{{escaped_url_path}}"
class="action-page-history">History</a></li> class="action-page-history">History</a></li>
{{/page_exists}}
</ul> </ul>
</div> </div>
<div id="wiki-content"> <div id="wiki-content">
+12
View File
@@ -35,14 +35,26 @@ module Precious
first.authored_date.strftime(DATE_FORMAT) first.authored_date.strftime(DATE_FORMAT)
end end
def noindex
@version ? true : false
end
def editable def editable
@editable @editable
end end
def page_exists
@page_exists
end
def allow_uploads def allow_uploads
@allow_uploads @allow_uploads
end end
def upload_dest
@upload_dest
end
def has_header def has_header
@header = (@page.header || false) if @header.nil? @header = (@page.header || false) if @header.nil?
!!@header !!@header
+14 -1
View File
@@ -429,7 +429,7 @@ context "Frontend" do
assert_equal "INITIAL", page2.raw_data.strip assert_equal "INITIAL", page2.raw_data.strip
end end
=end =end
=begin
test "cannot revert conflicting commit" do test "cannot revert conflicting commit" do
page1 = @wiki.page('A') page1 = @wiki.page('A')
@@ -440,6 +440,7 @@ context "Frontend" do
page2 = @wiki.page('A') page2 = @wiki.page('A')
assert_equal page1.version.sha, page2.version.sha assert_equal page1.version.sha, page2.version.sha
end end
=end
=begin =begin
# redirects are now handled by class MapGollum in bin/gollum # redirects are now handled by class MapGollum in bin/gollum
# they should be set in config.ru # they should be set in config.ru
@@ -522,6 +523,18 @@ context "Frontend" do
assert_match /スイカ/, last_response.body assert_match /スイカ/, last_response.body
end end
test "add noindex tags to history pages" do
get "A"
assert last_response.ok?
assert_no_match /meta name="robots" content="noindex, nofollow"/, last_response.body
get "A/fc66539528eb96f21b2bbdbf557788fe8a1196ac"
assert last_response.ok?
assert_match /meta name="robots" content="noindex, nofollow"/, last_response.body
end
def app def app
Precious::App Precious::App
end end