From dac91e99989f6e6f9b5869085d3f925b2debb182 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Sun, 14 Jan 2018 16:47:47 +0100 Subject: [PATCH] CSS to SCSS (#1247) * CSS to SCSS * Fix travis * Use sprockets * Use Sprockets helpers * Fix gollum.editor.js error when changing language * Fix fileview styles, use same style as Pages View. * Add keybinding files required by ace and some ace ext files that are required or might be useful. --- .gitignore | 3 + Gemfile | 2 +- bin/gollum | 26 + gollum.gemspec | 4 + lib/gollum/app.rb | 39 +- lib/gollum/assets.rb | 18 + lib/gollum/public/gollum/css/_styles.css | 143 --- lib/gollum/public/gollum/css/dialog.css | 253 ----- lib/gollum/public/gollum/css/editor.css | 708 -------------- lib/gollum/public/gollum/css/gollum.css | 857 ----------------- lib/gollum/public/gollum/css/ie7.css | 75 -- lib/gollum/public/gollum/css/print.css | 14 - lib/gollum/public/gollum/css/template.css | 884 ------------------ .../public/gollum/images/icon-sprite.png | Bin 9542 -> 4043 bytes lib/gollum/public/gollum/javascript/app.js | 31 + .../gollum/javascript/editor/gollum.editor.js | 3 +- .../public/gollum/javascript/jquery.color.js | 123 --- .../public/gollum/stylesheets/_base.scss | 55 ++ .../gollum/stylesheets/_breakpoint.scss | 22 + .../public/gollum/stylesheets/_component.scss | 124 +++ .../public/gollum/stylesheets/_features.scss | 91 ++ .../public/gollum/stylesheets/_layout.scss | 71 ++ lib/gollum/public/gollum/stylesheets/app.scss | 4 + .../public/gollum/stylesheets/dialog.scss | 176 ++++ .../public/gollum/stylesheets/editor.scss | 504 ++++++++++ .../public/gollum/stylesheets/fileview.scss | 84 ++ .../public/gollum/stylesheets/gollum.scss | 712 ++++++++++++++ lib/gollum/public/gollum/stylesheets/ie7.scss | 146 +++ .../public/gollum/stylesheets/print.scss | 10 + .../public/gollum/stylesheets/template.scss | 712 ++++++++++++++ lib/gollum/templates/file_view.mustache | 66 +- .../history_authors/identicon.mustache | 4 +- lib/gollum/templates/layout.mustache | 22 +- lib/gollum/views/file_view.rb | 4 +- lib/gollum/views/helpers.rb | 35 + lib/gollum/views/history.rb | 2 + lib/gollum/views/layout.rb | 2 + 37 files changed, 2915 insertions(+), 3114 deletions(-) create mode 100644 lib/gollum/assets.rb delete mode 100644 lib/gollum/public/gollum/css/_styles.css delete mode 100755 lib/gollum/public/gollum/css/dialog.css delete mode 100644 lib/gollum/public/gollum/css/editor.css delete mode 100755 lib/gollum/public/gollum/css/gollum.css delete mode 100755 lib/gollum/public/gollum/css/ie7.css delete mode 100644 lib/gollum/public/gollum/css/print.css delete mode 100644 lib/gollum/public/gollum/css/template.css create mode 100644 lib/gollum/public/gollum/javascript/app.js delete mode 100644 lib/gollum/public/gollum/javascript/jquery.color.js create mode 100644 lib/gollum/public/gollum/stylesheets/_base.scss create mode 100644 lib/gollum/public/gollum/stylesheets/_breakpoint.scss create mode 100644 lib/gollum/public/gollum/stylesheets/_component.scss create mode 100644 lib/gollum/public/gollum/stylesheets/_features.scss create mode 100644 lib/gollum/public/gollum/stylesheets/_layout.scss create mode 100644 lib/gollum/public/gollum/stylesheets/app.scss create mode 100644 lib/gollum/public/gollum/stylesheets/dialog.scss create mode 100644 lib/gollum/public/gollum/stylesheets/editor.scss create mode 100644 lib/gollum/public/gollum/stylesheets/fileview.scss create mode 100644 lib/gollum/public/gollum/stylesheets/gollum.scss create mode 100644 lib/gollum/public/gollum/stylesheets/ie7.scss create mode 100644 lib/gollum/public/gollum/stylesheets/print.scss create mode 100644 lib/gollum/public/gollum/stylesheets/template.scss create mode 100644 lib/gollum/views/helpers.rb diff --git a/.gitignore b/.gitignore index e4381377..7e3818a8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ Gemfile.lock *.gem *.swp .* +lib/gollum/public/gollum/stylesheets/*.css +lib/gollum/public/gollum/stylesheets/*.css.map +!lib/gollum/public/gollum/stylesheets/_styles.css \ No newline at end of file diff --git a/Gemfile b/Gemfile index 7c54d50a..2235b98f 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ source 'https://rubygems.org' gemspec -gem 'rake', '~> 10.4' +gem 'rake', '~> 11.2' diff --git a/bin/gollum b/bin/gollum index 3363b77a..93f3c857 100755 --- a/bin/gollum +++ b/bin/gollum @@ -6,6 +6,7 @@ require 'optparse' require 'rubygems' require 'gollum' require 'cgi' +require 'sprockets' exec = {} options = { @@ -93,6 +94,18 @@ MSG "Example: setting this to 'pages' will make Gollum serve only pages at '/pages/*'.") do |path| wiki_options[:page_file_dir] = path end + opts.on("--static", "Use static assets. Defaults to false in development/test, defaults to true in production/staging.") do + wiki_options[:static] = true + end + opts.on("--no-static", "Do not use static assets (even when in production/staging).") do + wiki_options[:static] = false + end + opts.on("--assets [PATH]", "Set the path to look for static assets. Only used if --static is set to true, or environment is production/staging. Default: ./public/assets") do |path| + wiki_options[:static_assets_path] = path + end + opts.on("--precompile-assets [PATH]", "Precompile static assets to PATH.") do |path| + options[:precompile] = path || './public/assets' + end opts.on("--css", "Inject custom CSS into each page. The '/custom.css' file is used (must be committed).") do wiki_options[:css] = true end @@ -235,6 +248,19 @@ if options[:irb] puts "Invalid Gollum wiki at #{File.expand_path(gollum_path).inspect}" exit 0 end +elsif options[:precompile] + require 'gollum/app' + env = Precious::Assets.sprockets + manifest = Sprockets::Manifest.new(env, options[:precompile]) + Sprockets::Helpers.configure do |config| + config.environment = env + config.prefix = "#{wiki_options[:base_path]}/#{Precious::Assets::ASSET_URL}" + config.digest = true + config.public_path = options[:precompile] + config.manifest = manifest + end + puts "Precompiling assets to #{::File.expand_path(options[:precompile])}..." + manifest.compile(Precious::Assets::MANIFEST) else require 'gollum/app' Precious::App.set(:gollum_path, gollum_path) diff --git a/gollum.gemspec b/gollum.gemspec index b44fe7d1..9e3e9b81 100644 --- a/gollum.gemspec +++ b/gollum.gemspec @@ -30,6 +30,10 @@ Gem::Specification.new do |s| s.add_dependency 'mustache', ['>= 0.99.5', '< 1.0.0'] s.add_dependency 'useragent', '~> 0.16.2' s.add_dependency 'gemojione', '~> 3.2' + s.add_dependency 'sprockets', '~> 3.7' + s.add_dependency 'sass', '~> 3.5' + s.add_dependency 'uglifier', '~> 3.2' + s.add_dependency 'sprockets-helpers', '~> 1.2' s.add_development_dependency 'rack-test', '~> 0.6.2' s.add_development_dependency 'shoulda', '~> 3.5.0' diff --git a/lib/gollum/app.rb b/lib/gollum/app.rb index 57f64cfe..bfdc2de3 100644 --- a/lib/gollum/app.rb +++ b/lib/gollum/app.rb @@ -3,11 +3,16 @@ require 'cgi' require 'sinatra' require 'gollum-lib' require 'mustache/sinatra' -require 'useragent' require 'stringex' require 'json' +require 'sprockets' +require 'sprockets-helpers' +require 'uglifier' +require 'sass' require 'gollum' +require 'gollum/assets' +require 'gollum/views/helpers' require 'gollum/views/layout' require 'gollum/views/editable' require 'gollum/views/has_page' @@ -49,9 +54,8 @@ module Precious dir = File.dirname(File.expand_path(__FILE__)) - # We want to serve public assets for now - set :public_folder, "#{dir}/public/gollum" - set :static, true + set :sprockets, ::Precious::Assets.sprockets(dir) + set :default_markup, :markdown set :mustache, { @@ -87,12 +91,37 @@ module Precious @css = settings.wiki_options[:css] @js = settings.wiki_options[:js] @mathjax_config = settings.wiki_options[:mathjax_config] + + @use_static_assets = settings.wiki_options.fetch(:static, settings.environment == :production || settings.environment == :staging) + @static_assets_path = settings.wiki_options.fetch(:static_assets_path, './public/assets') + + Sprockets::Helpers.configure do |config| + config.environment = settings.sprockets + config.prefix = "#{@base_url}/#{Precious::Assets::ASSET_URL}" + config.digest = @use_static_assets + if @use_static_assets + config.public_path = @static_assets_path + config.manifest = Sprockets::Manifest.new(settings.sprockets, @static_assets_path) + end + end end get '/' do redirect clean_url(::File.join(@base_url, @page_dir, wiki_new.index_page)) end + get '/assets/*' do + env['PATH_INFO'].sub!("/#{Precious::Assets::ASSET_URL}", '') + if @use_static_assets + env['PATH_INFO'].sub!(Sprockets::Helpers.prefix, '') if @base_url + not_found_msg = "Not found." + not_found = Proc.new {[404, {'Content-Type' => 'text/html', 'Content-Length' => not_found_msg.length.to_s}, [not_found_msg]]} + Rack::Static.new(not_found, {:root => @static_assets_path, :urls => ['']}).call(env) + else + settings.sprockets.call(env) + end + end + get '/last-commit-info' do content_type :json if page = wiki_page(params[:path]).page @@ -458,7 +487,7 @@ module Precious # --show-all and --collapse-tree can be set. @results = Gollum::FileView.new(content, options).render_files @ref = wiki.ref - mustache :file_view, { :layout => false } + mustache :file_view end get '/*' do diff --git a/lib/gollum/assets.rb b/lib/gollum/assets.rb new file mode 100644 index 00000000..84763678 --- /dev/null +++ b/lib/gollum/assets.rb @@ -0,0 +1,18 @@ +module Precious + module Assets + MANIFEST = %w(app.js app.css fileview.css ie7.css print.css *.png *.jpg *.svg *.eot *.ttf *.woff *.woff2) + ASSET_URL = 'assets' + + def self.sprockets(dir = File.dirname(File.expand_path(__FILE__))) + env = Sprockets::Environment.new + env.append_path ::File.join(dir, 'public/gollum/stylesheets/') + env.append_path ::File.join(dir, 'public/gollum/javascript') + env.append_path ::File.join(dir, 'public/gollum/images') + env.append_path ::File.join(dir, 'public/gollum/fonts') + + env.js_compressor = :uglify + env.css_compressor = :scss + env + end + end +end \ No newline at end of file diff --git a/lib/gollum/public/gollum/css/_styles.css b/lib/gollum/public/gollum/css/_styles.css deleted file mode 100644 index a9d79f56..00000000 --- a/lib/gollum/public/gollum/css/_styles.css +++ /dev/null @@ -1,143 +0,0 @@ -*, html { - font-family: Verdana, Arial, Helvetica, sans-serif; -} - -#results a:hover { - background-color: #4c4c4c; -} - -#home_button { - position: absolute; - top: 10px; - left: 50%; -} - -#home_button .minibutton { - font-size: 1em; - text-align: center; -} - -#results { - position: absolute; - top: 60px; - left: 10px; -} - -body, form, ul, li, p, h1, h2, h3, h4, h5 { - margin: 0; - padding: 0; -} - -body { - background-color: #606061; - color: #ffffff; - margin: 0; -} - -img { - border: none; -} - -p { - font-size: 1em; - margin: 0 0 1em 0; -} - -html { font-size: 100%; /* IE hack */ } -body { font-size: 1em; /* Sets base font size to 16px */ } -table { font-size: 100%; /* IE hack */ } -input, select, textarea, th, td { font-size: 1em; } - -/* Prevent wrapping on large file names. */ -li.file { - white-space: nowrap; -} - -/* CSS Tree menu styles */ -ol.tree -{ - padding: 0 0 0 30px; - width: 300px; -} - li - { - position: relative; - margin-left: -15px; - list-style: none; - } - li.file - { - margin-left: -1px !important; - height: 1.5em; - } - li.file a - { - color: #fff; - text-decoration: none; - display: inline-block; - } - li.file a span.icon - { - width: 14px; - height: 18px; - background: url(../images/fileview/document.png) 0 0 no-repeat; - display: inline-block; - margin-right: 7px; - vertical-align: text-top; - } - li.file form - { - vertical-align:middle; - display: inline-block; - } - li.file form button - { - vertical-align:middle; - height: 20px; - padding-left: 36px; - padding-right: 10px; - border: 0px solid #000000; - background: url("../images/fileview/trashcan.png") no-repeat 16px center; - cursor: pointer; - } - } - li.file a[href *= '.pdf'] span.icon { background: url(../images/fileview/document.png) 0 0 no-repeat; } - li.file a[href *= '.html'] span.icon { background: url(../images/fileview/document.png) 0 0 no-repeat; } - li.file a[href $= '.css'] span.icon { background: url(../images/fileview/document.png) 0 0 no-repeat; } - li.file a[href $= '.js'] span.icon { background: url(../images/fileview/document.png) 0 0 no-repeat; } - li input - { - position: absolute; - left: 0; - margin-left: 0; - opacity: 0; - z-index: 2; - cursor: pointer; - height: 1em; - width: 1em; - top: 0; - } - li input + ol - { - background: url(../images/fileview/toggle-small-expand.png) 40px 0 no-repeat; - margin: -1.188em 0 0 -44px; /* 15px */ - height: 1.5em; - } - li input + ol > li { display: none; margin-left: -14px !important; padding-left: 1px; } - li label - { - background: url(../images/fileview/folder-horizontal.png) 15px 1px no-repeat; - cursor: pointer; - display: block; - padding-left: 37px; - } - - li input:checked + ol - { - background: url(../images/fileview/toggle-small.png) 40px 5px no-repeat; - margin: -1.5em 0 0 -44px; /* 20px */ - padding: 1.563em 0 0 80px; - height: auto; - } - li input:checked + ol > li { display: block; margin: 0 0 0.125em; /* 2px */} - li input:checked + ol > li:last-child { margin: 0 0 0.063em; /* 1px */ } diff --git a/lib/gollum/public/gollum/css/dialog.css b/lib/gollum/public/gollum/css/dialog.css deleted file mode 100755 index 8cfca2aa..00000000 --- a/lib/gollum/public/gollum/css/dialog.css +++ /dev/null @@ -1,253 +0,0 @@ -/* @control dialog */ - -#gollum-dialog-dialog { - display: block; - overflow: visible; - position: absolute; - top: 0; - left: 0; - z-index: 999999; - width: 100%; - height: 100%; -} - -#gollum-dialog-dialog.active { - display: block; -} - -#gollum-dialog-dialog-inner { - margin: 0px; - top: 0px; - right: 0px; - bottom: 0px; - left: 0px; - width: 100%; - height: 100%; -} - -#gollum-dialog-dialog-bg { - background-color: #fff; - padding: 1em; - - height: 100%; - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} - -@media all and (min-width: 480px) { - #gollum-dialog-dialog { - display: block; - overflow: visible; - position: absolute; - position: fixed; - top: 0; - left: 0; - z-index: 999999; - width: auto; - height: auto; - } - - #gollum-dialog-dialog.active { - display: block; - } - - #gollum-dialog-dialog-inner { - margin: auto; - position: fixed; - - width: auto; - height: auto; - - min-width: 280px; - min-height: 380px; - - max-width: 450px; - max-height: 450px; - - top: 10px; - right: 10px; - bottom: 10px; - left: 10px; - - border: 7px solid #999; - border: 7px solid rgba(0, 0, 0, 0.3); - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - } - - #gollum-dialog-dialog-bg { - background-color: #fff; - overflow: hidden; - padding: 1em; - - background: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#ffffff)); - background: -moz-linear-gradient(top, #f7f7f7, #ffffff); - - height: 100%; - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - } -} - -@media all and (min-width: 940px) { - #gollum-dialog-dialog { - position: absolute; - top: 50%; - left: 50%; - width: auto; - height: auto; - } - - #gollum-dialog-dialog-inner { - margin: 0 0 0 -225px; - position: relative; - - width: 450px; - height: auto; - - top: auto; - right: auto; - bottom: auto; - left: auto; - - border: 7px solid #999; - border: 7px solid rgba(0, 0, 0, 0.3); - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - } - - #gollum-dialog-dialog-bg { - height: auto; - - box-sizing: content-box; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - } -} - -#gollum-dialog-dialog-inner h4 { - border-bottom: 1px solid #ddd; - color: #000; - font-size: 1.8em; - line-height: normal; - font-weight: bold; - margin: 0 0 0.75em 0; - padding: 0 0 0.3em 0; -} - -#gollum-dialog-dialog-body { - font-size: 1.2em; - line-height: 1.6em; -} - -#gollum-dialog-dialog-body fieldset { - display: block; - border: 0; - margin: 0; - padding: 0; -} - -#gollum-dialog-dialog-body fieldset:after { - content: "."; - display: block; - clear: both; - visibility: hidden; -} - -#gollum-dialog-dialog-body fieldset .field { - margin: 0 0 1.5em 0; - padding: 0; -} - - #gollum-dialog-dialog-body fieldset .field label { - color: #000; - display: block; - font-size: 1.2em; - font-weight: bold; - line-height: 1.6em; - margin: 0; - padding: 0; - min-width: 80px; - } - - #gollum-dialog-dialog-body fieldset .field input[type="text"] { - border: 1px solid #ddd; - display: block; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 1.2em; - line-height: 1.6em; - margin: 0.3em 0 0 0; - padding: 0.3em 0.5em; - width: 94%; - } - - #gollum-dialog-dialog-body fieldset .field input.code { - font-family: 'Monaco', 'Courier New', Courier, monospace; - } - - #gollum-dialog-dialog-body fieldset .field span.context { - font-size: .9em; - color: #666; - } - #gollum-dialog-dialog-body fieldset .field span.context span.path { - font-family: 'Monaco', 'Courier New', Courier, monospace; - font-weight: bold; - } - - -#gollum-dialog-dialog-body fieldset .field:last-child { - margin: 0 0 1em 0; -} - -#gollum-dialog-dialog-buttons { - border-top: 1px solid #ddd; - overflow: hidden; - margin: 1.5em 0 0 0; - padding: 1em 0 0 0; -} - -#gollum-dialog-dialog a.minibutton { - float: right; - margin-right: 0.5em; - width: auto; -} - -#gollum-dialog-dialog a.minibutton, -#gollum-dialog-dialog a.minibutton:visited { - background-color: #f7f7f7; - border: 1px solid #d4d4d4; - color: #333; - cursor: pointer; - display: block; - font-size: 1.2em; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: bold; - margin: 0 0 0 0.8em; - padding: 0.4em 1em; - - text-shadow: 0 1px 0 #fff; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); - - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -#gollum-dialog-dialog a.minibutton:hover { - background: #3072b3; - border-color: #518cc6 #518cc6 #2a65a0; - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - text-decoration: none; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3'); - background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); - background: -moz-linear-gradient(top, #599bdc, #3072b3); -} diff --git a/lib/gollum/public/gollum/css/editor.css b/lib/gollum/public/gollum/css/editor.css deleted file mode 100644 index b8ddbcd7..00000000 --- a/lib/gollum/public/gollum/css/editor.css +++ /dev/null @@ -1,708 +0,0 @@ -/* - editor.css - Wiki editor formatting -*/ - -a { - -moz-outline: none !important; -} - -.jaws { - /* JAWS should see it, but you can't */ - display: block; - height: 1px; - left: -5000px; - overflow: hidden; - position: absolute; - top: -5000px; - width: 1px; -} - -.disabled { - color: lightgray; -} - -#gollum-editor { - margin: 0 0 5em; - padding: 0em 1em 0.4em; -} - -#gollum-editor:after { - content: "."; - display: block; - visibility: hidden; - clear: both; -} - -.ff #gollum-editor, -.ie #gollum-editor { - padding-bottom: 1em; -} - -@media all and (min-width: 940px) { - #gollum-editor { - border: 1px solid #e4e4e4; - background: #f9f9f9; - margin: 1em 0 5em; - - border-radius: 1em; - -moz-border-radius: 1em; - -webkit-border-radius: 1em; - } -} - -#gollum-editor form fieldset { - border: 0; - margin: 0; - padding: 0; - width: 100%; -} - -#gollum-editor .singleline { - display: block; - margin: 0 0 0.7em 0; -} - -#gollum-editor .singleline:after { - content: "."; - display: block; - visibility: hidden; - clear: both; -} - -#gollum-editor .singleline input { - background: #fff; - border: 1px solid #ddd; - color: #000; - font-size: 1.1em; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - line-height: 1.5em; - margin: 1em 0 0.4em; - padding: 0.5em; - width: 98%; -} - -#gollum-editor .singleline input.ph { - color: #999; -} - -#gollum-editor .path_note { - text-align: right; - font-size: small; - padding-right: 5px; -} - -#gollum-editor-title-field input#gollum-editor-page-title { - font-weight: bold; - margin-top: 0; -} - -#gollum-editor-title-field.active { - border-bottom: 1px solid #ddd; - display: block; - margin: 0 0 0.3em 0; - padding: 0 0 0.5em 0; -} - -#gollum-editor-title-field input#gollum-editor-page-title.ph { - color: #000; -} - -/* @control editor-view-tab */ -#gollum-editor #gollum-editor-type-switcher { - display: none; -} - -/* @control function-bar */ -#gollum-editor #gollum-editor-function-bar { - border-bottom: 1px solid #ddd; - padding: 0; -} - - -#gollum-editor-title-field + #gollum-editor-function-bar { - margin-top: 0.6em; -} - -#gollum-editor #gollum-editor-function-bar #gollum-editor-function-buttons { - display: none; -} - -#gollum-editor #gollum-editor-function-bar.active #gollum-editor-function-buttons { - display: block; - margin: 0; - padding: 0; -} - -@media all and (min-width: 940px) { - #gollum-editor #gollum-editor-function-bar { - overflow: hidden; - } - - #gollum-editor #gollum-editor-function-bar.active #gollum-editor-function-buttons { - overflow: hidden; - margin: 0; - padding: 0 0 1.1em 0; - float: left; - } -} - -#gollum-editor #gollum-editor-function-bar a.function-button { - background: #f7f7f7; - border: 1px solid #ddd; - color: #333; - display: block; - float: left; - height: 32px; - overflow: hidden; - margin: 1px 1px 0 0; - /* text-indent: -5000px; */ - text-shadow: 0 1px 0 #fff; - width: 32px; - - border-radius: 0.3em; - -moz-border-radius: 0.3em; - -webkit-border-radius: 0.3em; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); -} - -#gollum-editor #gollum-editor-function-bar a.function-button:hover { - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - text-decoration: none; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3'); - background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); - background: -moz-linear-gradient(top, #599bdc, #3072b3); -} - -#gollum-editor #gollum-editor-function-bar a span { - background-image: url(../images/icon-sprite.png); - background-repeat: no-repeat; - display: block; - height: 32px; - overflow: hidden; - text-indent: -5000px; - width: 32px; -} - -a#function-bold span { background-position: 3px 3px; } -a#function-italic span { background-position: -24px 3px; } -a#function-underline span { background-position: -51px 3px; } -a#function-code span { background-position: -79px 3px; } -a#function-ul span { background-position: -106px 3px; } -a#function-ol span { background-position: -133px 3px; } -a#function-blockquote span { background-position: -160px 3px; } -a#function-hr span { background-position: -187px 3px; } -a#function-h1 span { background-position: -214px 3px; } -a#function-h2 span { background-position: -241px 3px; } -a#function-h3 span { background-position: -268px 3px; } -a#function-link span { background-position: -295px 3px; } -a#function-image span { background-position: -321px 3px; } -a#function-help span { background-position: -402px 3px; } - -a#function-bold:hover span { background-position: 3px -25px; } -a#function-italic:hover span { background-position: -24px -25px; } -a#function-underline:hover span { background-position: -51px -25px; } -a#function-code:hover span { background-position: -79px -25px; } -a#function-ul:hover span { background-position: -106px -25px; } -a#function-ol:hover span { background-position: -133px -25px; } -a#function-blockquote:hover span { background-position: -160px -25px; } -a#function-hr:hover span { background-position: -187px -25px; } -a#function-h1:hover span { background-position: -214px -25px; } -a#function-h2:hover span { background-position: -241px -25px; } -a#function-h3:hover span { background-position: -268px -25px; } -a#function-link:hover span { background-position: -295px -25px; } -a#function-image:hover span { background-position: -321px -25px; } -a#function-help:hover span { background-position: -402px -25px; } - -@media all and (min-width: 940px) { - #gollum-editor #gollum-editor-function-bar a.function-button { - height: 25px; - width: 25px; - margin: 0.2em 0.5em 0 0; - } - - #gollum-editor #gollum-editor-function-bar a span { - width: 25px; - height: 25px; - } - - a#function-bold span { background-position: 0 0; } - a#function-italic span { background-position: -27px 0; } - a#function-underline span { background-position: -54px 0; } - a#function-code span { background-position: -82px 0; } - a#function-ul span { background-position: -109px 0; } - a#function-ol span { background-position: -136px 0; } - a#function-blockquote span { background-position: -163px 0; } - a#function-hr span { background-position: -190px 0; } - a#function-h1 span { background-position: -217px 0; } - a#function-h2 span { background-position: -244px 0; } - a#function-h3 span { background-position: -271px 0; } - a#function-link span { background-position: -298px 0; } - a#function-image span { background-position: -324px 0; } - a#function-help span { background-position: -405px 0; } - - a#function-bold:hover span { background-position: 0 -28px; } - a#function-italic:hover span { background-position: -27px -28px; } - a#function-underline:hover span { background-position: -54px -28px; } - a#function-code:hover span { background-position: -82px -28px; } - a#function-ul:hover span { background-position: -109px -28px; } - a#function-ol:hover span { background-position: -136px -28px; } - a#function-blockquote:hover span { background-position: -163px -28px; } - a#function-hr:hover span { background-position: -190px -28px; } - a#function-h1:hover span { background-position: -217px -28px; } - a#function-h2:hover span { background-position: -244px -28px; } - a#function-h3:hover span { background-position: -271px -28px; } - a#function-link:hover span { background-position: -298px -28px; } - a#function-image:hover span { background-position: -324px -28px; } - a#function-help:hover span { background-position: -405px -28px; } -} - - -#gollum-editor #gollum-editor-function-bar a.disabled { - display: none; -} - -#gollum-editor #gollum-editor-function-bar span.function-divider { - display: none; -} - -#gollum-editor #gollum-editor-function-bar #gollum-editor-format-selector { - padding: 0.2em 0 0.5em 0; - clear: both; -} - -#gollum-editor #gollum-editor-function-bar #gollum-editor-format-selector:after { - content: "."; - display: block; - clear: both; - visibility: hidden; -} - -#gollum-editor #gollum-editor-function-bar - #gollum-editor-format-selector select { - background-color: #f9f9f9; - border: 1px solid #ddd; - color: #333; - - font-size: 1em; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: bold; - line-height: 1.6em; - padding: 0.3em 0.4em; - display: inline-block; - - border-radius: 0.5em; - -moz-border-radius: 0.5em; - -webkit-border-radius: 0.5em; -} - -#gollum-editor #gollum-editor-function-bar - #gollum-editor-format-selector label { - color: #999; - font-size: 1em; - font-weight: bold; - line-height: 1.6em; - padding: .3em 0.5em 0 0; - display: inline-block; -} - -#gollum-editor #gollum-editor-function-bar -#gollum-editor-format-selector label:after { - content: ':'; -} - -@media all and (min-width: 940px) { - #gollum-editor #gollum-editor-function-bar span.function-divider { - display: block; - width: 0.5em; - } - - #gollum-editor #gollum-editor-function-bar span.function-divider { - float: left; - } - - #gollum-editor #gollum-editor-function-bar - #gollum-editor-format-selector { - clear: none; - text-align: right; - } - - #gollum-editor #gollum-editor-function-bar - #gollum-editor-format-selector select { - } - - #gollum-editor #gollum-editor-function-bar - #gollum-editor-format-selector label { - } -} - - -/* @section uploads */ - -#gollum-editor-body.dragging { - box-shadow: 0 0 10px #AAE000; -} - -#gollum-editor-body.uploading { - opacity: 0.5; -} - -#gollum-editor-body + div { - display: none; - font-size: 1.5em; -} - -#gollum-editor-body + div > i { - font-size: 1em; -} - -#gollum-editor-body.uploading + div { - display: block; -} - -#gollum-editor-body-ace { - overflow: scroll; - resize: vertical; - border: 1px solid #ddd; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-size: 1em; - height: 25em; -} - -/* @section form-fields */ - -#gollum-editor textarea { - background: #fff; - border: 1px solid #ddd; - font-size: 1em; - font-family: Consolas, "Liberation Mono", Courier, monospace; - line-height: 1.4em; - margin: 0 0 0.4em; - padding: 0.5em; - width: 98%; - height: 25em; -} - -@media all and (min-width: 940px) { - #gollum-editor textarea { - margin: 1em 0 0.4em; - } -} - -#gollum-editor input#gollum-editor-submit { - background-color: #f7f7f7; - border: 1px solid #d4d4d4; - color: #333; - cursor: pointer; - display: block; - float: left; - font-size: 1em; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: bold; - margin: 0; - padding: 0.4em 1em; - - text-shadow: 0 1px 0 #fff; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); - - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -.webkit #gollum-editor input#gollum-editor-submit { - padding: 0.5em 1em 0.45em; -} - -.ie #gollum-editor input#gollum-editor-submit { - padding: 0.4em 1em 0.5em; -} - -#gollum-editor input#gollum-editor-submit:hover { - background: #3072b3; - border-color: #518cc6 #518cc6 #2a65a0; - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - text-decoration: none; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3'); - background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); - background: -moz-linear-gradient(top, #599bdc, #3072b3); -} - -#gollum-editor .collapsed, -#gollum-editor .expanded { - border-bottom: 1px solid #ddd; - display: block; - overflow: hidden; - padding: 0.5em 0 0; -} - -#gollum-editor #gollum-editor-body + .collapsed, -#gollum-editor #gollum-editor-body + .expanded { - border-top: 1px solid #ddd; - margin-top: 0.7em; -} - -#gollum-editor .collapsed a.button, -#gollum-editor .expanded a.button { - background: #f7f7f7; - border: 1px solid #ddd; - color: #333; - display: block; - float: left; - height: 25px; - overflow: hidden; - margin: 0.2em 0.5em 0.75em 0; - text-shadow: 0 1px 0 #fff; - width: 25px; - - border-radius: 0.3em; - -moz-border-radius: 0.3em; - -webkit-border-radius: 0.3em; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); -} - -#gollum-editor .collapsed h4, -#gollum-editor .expanded h4 { - font-size: 1.6em; - float: left; - margin: 0; - padding: 0.15em 0 0 0.3em; - text-shadow: 0 -1px 0 #fff; -} -#gollum-editor .collapsed h4 { - color: #bbb; -} - -#gollum-editor .collapsed a.button:hover, -#gollum-editor .expanded a.button:hover { - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - text-decoration: none; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3'); - background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); - background: -moz-linear-gradient(top, #599bdc, #3072b3); -} - -#gollum-editor .collapsed a span, -#gollum-editor .expanded a span { - background-image: url(../images/icon-sprite.png); - background-position: -351px -1px; - background-repeat: no-repeat; - display: block; - height: 25px; - overflow: hidden; - text-indent: -5000px; - width: 25px; -} - -#gollum-editor .collapsed a:hover span { - background-position: -351px -28px; -} - -#gollum-editor .expanded a span { - background-position: -378px 0; -} - -#gollum-editor .expanded a:hover span { - background-position: -378px -28px; -} - -#gollum-editor .collapsed textarea { - display: none; -} - -#gollum-editor .expanded textarea { - background-color: #fff; - border: 1px solid #ddd; - clear: both; - display: block; - font-size: 1em; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - height: 7em; - line-height: 1.4em; - margin: 0.7em 0; - padding: 0.5em; - width: 98%; -} - -/* @control minibutton */ - -#gollum-editor a.minibutton, -#gollum-editor a.minibutton:visited { - background-color: #f7f7f7; - border: 1px solid #d4d4d4; - color: #333; - cursor: pointer; - display: block; - font-size: 1em; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: bold; - line-height: 1.2em; - margin: 0 0 0 0.8em; - padding: 0.5em 1em; - - text-shadow: 0 1px 0 #fff; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); - - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -#gollum-editor a.minibutton:hover { - background: #3072b3; - border-color: #518cc6 #518cc6 #2a65a0; - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - text-decoration: none; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3'); - background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); - background: -moz-linear-gradient(top, #599bdc, #3072b3); -} - - -#gollum-editor #gollum-editor-preview { - float: left; - font-weight: normal; - padding: left; -} - - -/* @section help */ -#gollum-editor-help { - clear: both; - margin: 0; - overflow: hidden; - padding: 0; - border: 1px solid #ddd; - border-width: 0 1px 1px 1px; -} - - #gollum-editor-help-parent, - #gollum-editor-help-list { - display: block; - list-style-type: none; - margin: 0; - float: left; - width: 50%; - box-sizing: border-box; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - } - - #gollum-editor-help-parent { - border-right: 1px solid #eee; - } - - #gollum-editor-help-list { - background: #fafafa; - border-right: 1px solid #eee; - } - - #gollum-editor-help-parent li, - #gollum-editor-help-list li { - font-size: 1.2em; - line-height: 1.6em; - margin: 0; - padding: 0; - } - - #gollum-editor-help-parent li a, - #gollum-editor-help-list li a { - border: 1px solid transparent; - border-width: 1px 0; - display: block; - font-weight: bold; - height: 100%; - width: auto; - padding: 0.2em 1em; - text-shadow: 0 -1px 0 #fff; - font-size: 0.8em; - } - - #gollum-editor-help-parent li a:hover, - #gollum-editor-help-list li a:hover { - background: #fff; - border-color: #f0f0f0; - text-decoration: none; - - box-shadow: none; - } - - #gollum-editor-help-parent li a.selected, - #gollum-editor-help-list li a.selected { - border: 1px solid #eee; - border-bottom-color: #e7e7e7; - border-width: 1px 0; - background: #fff; - color: #000; - - box-shadow: 0 1px 2px #f0f0f0; - } - - #gollum-editor-help-wrapper { - background: #fff; - overflow: auto; - height: 17em; - padding: 1em; - clear: both; - } - - #gollum-editor-help-content { - font-size: 1.2em; - margin: 0 1em 0 0.5em; - padding: 0; - line-height: 1.8em; - } - - #gollum-editor-help-content p { - margin: 0 0 1em 0; - padding: 0; - } - - @media all and (min-width: 940px) { - #gollum-editor-help { - clear: none; - } - - #gollum-editor-help-parent, - #gollum-editor-help-list { - height: 17em; - width: 18%; - overflow: auto; - padding: 1em 0; - } - - #gollum-editor-help-parent li a, - #gollum-editor-help-list li a { - font-size: 1em; - } - - #gollum-editor-help-wrapper { - clear: none; - } - } - -/* IE */ -.ie #gollum-editor .singleline input { - padding-top: 0.25em; - padding-bottom: 0.75em; -} diff --git a/lib/gollum/public/gollum/css/gollum.css b/lib/gollum/public/gollum/css/gollum.css deleted file mode 100755 index de90e47d..00000000 --- a/lib/gollum/public/gollum/css/gollum.css +++ /dev/null @@ -1,857 +0,0 @@ -#wiki-wrapper #template blockquote { - margin: 1em 0; - border-left: 4px solid #ddd; - padding-left: .8em; - color: #555; -} - -/* - gollum.css - A basic stylesheet for Gollum -*/ - -/* @section core */ -body, html { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 10px; - margin: 0; - padding: 0; -} - -#wiki-wrapper { - margin: 0 auto; - overflow: visible; - width: 100%; -} - -@media all and (min-width: 940px) { - #wiki-wrapper { - max-width: 920px; - padding-left:20px; - padding-right:20px; - } -} - -a:link { - color: #4183c4; - text-decoration: none; -} - -a:hover, a:visited { - color: #4183c4; - text-decoration: underline; -} - - -/* @section head */ -#head { - margin: 1em 0 0; - padding: 0; - overflow: hidden; -} - -#head h1 { - font-size: 1.5em; - float: left; - line-height: normal; - margin: 0; - padding: 0 0 0 0.667em; -} - -#head ul.actions { - clear: both; - margin: 0 1em; -} - -@media all and (min-width: 940px) { - #head { - border-bottom: 1px solid #ddd; - padding-bottom: 0.3em; - margin: 4em 0 1.5em; - } - - #head h1 { - font-size: 2.5em; - padding: 2px 0 0 0; - } - - #head ul.actions { - clear: none; - float: right; - margin: 0; - } -} - -/* @section content */ -#wiki-content { - height: 1%; - overflow: visible; -} - -#wiki-content .wrap { - height: 1%; - overflow: auto; -} - -/* @section comments */ -#wiki-body #inline-comment { - display: none; /* todo */ -} - -/* @section body */ - -.has-leftbar #wiki-body { - float: right; - clear: right; -} - -#wiki-body { - display: block; - float: left; - clear: left; - margin-right: 3%; - margin-bottom: 40px; - width: 100%; -} - -#wiki-body table { - display: block; - overflow: auto; - border: 0; -} - -.has-sidebar #wiki-body { - width: 68%; -} - -/* @section toc */ -#wiki-toc-main { - background-color: #F7F7F7; - border: 1px solid #DDD; - font-size: 13px; - padding: 0px 5px; - float: left; - margin-bottom: 20px; - min-width: 33%; - - border-radius: 0.5em; - -moz-border-radius: 0.5em; - -webkit-border-radius: 0.5em; -} -#wiki-toc-main > div { - border: none; -} - -/* @section sidebar */ -.has-leftbar #wiki-sidebar { - float: left; -} - -.has-rightbar #wiki-sidebar { - float: right; -} - -#wiki-sidebar { - background-color: #f7f7f7; - border: 1px solid #ddd; - font-size: 13px; - padding: 7px; - width: 25%; - color: #555; - - border-radius: 0.5em; - -moz-border-radius: 0.5em; - -webkit-border-radius: 0.5em; -} - -#wiki-sidebar p { - margin: 13px 0 0; -} - -#wiki-sidebar > p:first-child { - margin-top: 10px; -} - -#wiki-sidebar p.parent { - border-bottom: 1px solid #bbb; - font-weight: bold; - margin: 0 0 0.5em 0; - padding: 0 0 0.5em 0; - text-shadow: 0 1px 0 #fff; -} - -/* Back arrow */ -#wiki-sidebar p.parent:before { - color: #666; - content: "← "; -} - -/* @section footer */ - -#wiki-footer { - clear: both; - margin: 2em 0 5em; -} - -.has-sidebar #wiki-footer { - width: 70%; -} - -#wiki-header #header-content, -#wiki-footer #footer-content { - background-color: #f7f7f7; - border: 1px solid #ddd; - padding: 1em; - - border-radius: 0.5em; - -moz-border-radius: 0.5em; - -webkit-border-radius: 0.5em; -} -#wiki-header #header-content { - margin-bottom: 1.5em; -} - -#wiki-footer #footer-content { - margin-top: 1.5em; -} - -#wiki-footer #footer-content h3 { - font-size: 1.2em; - color: #333; - margin: 0; - padding: 0 0 0.2em; - text-shadow: 0 1px 0 #fff; -} - -#wiki-footer #footer-content p { - margin: 0.5em 0 0; - padding: 0; -} - -#wiki-footer #footer-content ul.links { - margin: 0.5em 0 0; - overflow: hidden; - padding: 0; -} - -#wiki-footer #footer-content ul.links li { - color: #999; - float: left; - list-style-position: inside; - list-style-type: square; - padding: 0; - margin-left: 0.75em; -} - -#wiki-footer #footer-content ul.links li a { - font-weight: bold; - text-shadow: 0 1px 0 #fff; -} - -#wiki-footer #footer-content ul.links li:first-child { - list-style-type: none; - margin: 0; -} - -.ff #wiki-footer #footer-content ul.links li:first-child { - margin: 0 -0.75em 0 0; -} - -/* @section page-footer */ -.page #footer { - clear: both; - border-top: 1px solid #ddd; - margin: 1em 0 7em; -} - -#footer p#last-edit { - font-size: .9em; - line-height: 1.6em; - color: #999; - margin: 0.9em 0; -} - -#footer p#last-edit span.username { - font-weight: bold; -} - -#footer .actions { - margin-left: 1em; -} - -@media all and (min-width: 940px) { - #footer .actions { - margin: 0; - } -} - - -/* @section history */ -.history h1 { - color: #999; - font-weight: normal; -} - -.history h1 strong { - color: #000; - font-weight: bold; -} - -#wiki-history { - margin: 2em 1em 0 1em; -} - -#wiki-history fieldset { - border: 0; - margin: 1em 0; - padding: 0; -} - -#wiki-history table, #wiki-history tbody { - border-collapse: collapse; - padding: 0; - margin: 0; - width: 100%; -} - -#wiki-history table tr { - padding: 0; - margin: 0; -} - -#wiki-history table tr { - background-color: #ebf2f6; -} - -#wiki-history table tr td { - border-top: 1px solid #c0dce9; - border-bottom: 1px solid #c0dce9; - font-size: 1em; - line-height: 1.6em; - margin: 0; - padding: 0.3em 0.7em; -} - -#wiki-history table tr td.checkbox { - width: auto; - padding: 0 0.2em 0 0; -} - -#wiki-history table tr td.checkbox input { - cursor: pointer; - display: block; - padding-right: 0; - padding-top: 0.4em; - margin: 0 auto; - width: 1.2em; - height: 1.2em; -} - -#wiki-history table tr:nth-child(2n), -#wiki-history table tr.alt-row { - background-color: #f3f7fa; -} - -#wiki-history table tr.selected { - background-color: #ffffea !important; - z-index: 100; -} - -#wiki-history table tr td.commit-name { - border-left: 0; -} - -#wiki-history table tr td.commit-name span.time-elapsed { - color: #999; -} - -#wiki-history table tr td.author { - width: 20%; -} - -#wiki-history table tr td.author a { - color: #000; - font-weight: bold; -} - -#wiki-history table tr td.author a span.username { - display: block; - padding-top: 3px; -} - -#wiki-history table tr td img { - background-color: #fff; - border: 1px solid #999; - display: block; - float: left; - height: 18px; - overflow: hidden; - margin: 0 0.5em 0 0; - width: 18px; - padding: 2px; -} - -#wiki-history table tr td.commit-name a { - font-size: 0.9em; - font-family: 'Monaco', 'Andale Mono', Consolas, 'Courier New', monospace; - padding: 0 0.2em; -} - -.history #footer { - margin-bottom: 7em; -} - -.history #wiki-history ul.actions li, -.history #footer ul.actions li { - margin: 0 0.6em 0 0; -} - -@media all and (min-width: 940px) { - #wiki-history { - margin: 2em 0 0 0; - } - - #wiki-history table tr td { - border: 1px solid #c0dce9; - font-size: 1em; - line-height: 1.6em; - margin: 0; - padding: 0.3em 0.7em; - } - - #wiki-history table tr td.checkbox { - width: 4em; - padding: 0.3em; - } -} - - -/* @section edit */ -.edit h1 { - color: #999; - font-weight: normal; -} - -.edit h1 strong { - color: #000; - font-weight: bold; -} - - -/* @section search */ - -.results h1 { - color: #999; - font-weight: normal; -} - -.results h1 strong { - color: #000; - font-weight: bold; -} - -.results #results { - border-bottom: 1px solid #ccc; - margin-left: 1em; - margin-right: 1em; - margin-bottom: 2em; - padding-bottom: 2em; -} - -.results #results ul { - margin: 2em 0 0 0; - padding: 0; -} - -.results #results ul li { - list-style: none; - padding: 0.2em 0; -} - -.results #results ul li a { - word-wrap: break-word; -} - -@media all and (min-width: 640px) { - .results #results ul li { - font-size: 1.2em; - } -} - -@media all and (min-width: 940px) { - .results #results { - margin-left: 0; - margin-right: 0; - } - - .results #results ul li { - list-style: disc; - list-style-position: outside; - line-height: 1.6em; - } -} - -.results #results ul li span.count { - color: #999; -} - -.results p#no-results { - font-size: 1.2em; - line-height: 1.6em; - margin-top: 2em; -} - -.results #footer ul.actions li { - margin: 0 1em 0 0; -} - - -/* @section compare */ -.compare h1 { - color: #999; - font-weight: normal; -} - -.compare h1 strong { - color: #000; - font-weight: bold; -} - -.compare #compare-content { - margin-top: 3em; -} - -.compare .data { - border: 1px solid #ddd; - margin: 1em 0 2em; - overflow: auto; -} - -.compare .data table { - width: 100%; -} - -.compare .data pre { - margin: 0; - padding: 0; -} - -.compare .data pre div { - padding: 0 0 0 1em; -} - -.compare .data tr td { - font-family: "Consolas", "Monaco", "Andale Mono", "Courier New", monospace; - font-size: 1.2em; - line-height: 1.2em; - margin: 0; - padding: 0; -} - -.compare .data tr td + td + td { - width: 100%; -} - -.compare .data td.line_numbers { - background: #f7f7f7; - border-right: 1px solid #999; - color: #999; - padding: 0 0 0 0.5em; -} - -.compare #compare-content ul.actions li, -.compare #footer ul.actions li { - margin-left: 0; - margin-right: 0.6em; -} - -.compare #footer { - margin-bottom: 7em; -} - - - -/* @control syntax */ -.highlight { background: #ffffff; } -.highlight .c { color: #999988; font-style: italic } -.highlight .err { color: #a61717; background-color: #e3d2d2 } -.highlight .k { font-weight: bold } -.highlight .o { font-weight: bold } -.highlight .cm { color: #999988; font-style: italic } -.highlight .cp { color: #999999; font-weight: bold } -.highlight .c1 { color: #999988; font-style: italic } -.highlight .cs { color: #999999; font-weight: bold; font-style: italic } -.highlight .gd { color: #000000; background-color: #ffdddd } -.highlight .gd .x { color: #000000; background-color: #ffaaaa } -.highlight .ge { font-style: italic } -.highlight .gr { color: #aa0000 } -.highlight .gh { color: #999999 } -.highlight .gi { color: #000000; background-color: #ddffdd } -.highlight .gi .x { color: #000000; background-color: #aaffaa } -.highlight .gc { color: #999; background-color: #EAF2F5 } -.highlight .go { color: #888888 } -.highlight .gp { color: #555555 } -.highlight .gs { font-weight: bold } -.highlight .gu { color: #aaaaaa } -.highlight .gt { color: #aa0000 } - - -/* @control minibutton */ -ul.actions { - display: block; - list-style-type: none; - overflow: hidden; - padding: 0; -} - - ul.actions li { - float: left; - font-size: 0.9em; - margin-left: 1px; - margin-bottom: 1px; - } - -.minibutton a { - background-color: #f7f7f7; - border: 1px solid #d4d4d4; - color: #333; - display: block; - font-weight: bold; - margin: 0; - padding: 0.6em 1em; - height: 1.4em; - - text-shadow: 0 1px 0 #fff; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); - - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -@media all and (min-width: 940px) { - ul.actions li { - margin-left: 0.6em; - margin-bottom: 0.6em; - } - - .minibutton a { - padding: 0.4em 1em; - height: 1.4em; - } -} - -#search-submit { - background-color: #f7f7f7; - border: 1px solid #d4d4d4; - color: #333; - display: block; - font-weight: bold; - margin: 0; - padding: 0.4em 1em; - - text-shadow: 0 1px 0 #fff; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec'); - background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); - background: -moz-linear-gradient(top, #f4f4f4, #ececec); - - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -.minibutton a:hover, -#search-submit:hover { - background: #3072b3; - border-color: #518cc6 #518cc6 #2a65a0; - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - text-decoration: none; - - filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3'); - background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); - background: -moz-linear-gradient(top, #599bdc, #3072b3); -} - -.minibutton a:visited { - text-decoration: none; -} - - -/* @special error */ -#wiki-wrapper.error { - height: 1px; - position: absolute; - overflow: visible; - top: 50%; - width: 100%; -} - -#error { - background-color: #f9f9f9; - border: 1px solid #e4e4e4; - left: 50%; - overflow: hidden; - padding: 2%; - margin: -10% 0 0 -35%; - position: absolute; - width: 70%; - - border-radius: 0.5em; - -moz-border-radius: 0.5em; - -webkit-border-radius: 0.5em; -} - -#error h1 { - font-size: 3em; - line-height: normal; - margin: 0; - padding: 0; -} - -#error p { - font-size: 1.2em; - line-height: 1.6em; - margin: 1em 0 0.5em; - padding: 0; -} - - -/* @control searchbar */ -#head #searchbar { - float: right; - padding: 2px 0 0 0; - overflow: hidden; -} - -#head #searchbar #searchbar-fauxtext { - background: #fff; - border: 1px solid #d4d4d4; - overflow: hidden; - height: 2.2em; - - border-radius: 0.3em; - -moz-border-radius: 0.3em; - -webkit-border-radius: 0.3em; -} - -#head #searchbar #searchbar-fauxtext input#search-query { - border: none; - color: #000; - float: left; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 1em; - height: inherit; - padding: 0 .5em; - - -webkit-focus-ring: none; -} - -.ie8 #head #searchbar #searchbar-fauxtext input#search-query { - padding: 0.5em 0 0 0.5em; -} - -#head #searchbar #searchbar-fauxtext input#search-query.ph { - color: #999; -} - -#head #searchbar #searchbar-fauxtext #search-submit { - border: 0; - border-left: 1px solid #d4d4d4; - cursor: pointer; - margin: 0 !important; - padding: 0; - float: right; - height: inherit; - - border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - -webkit-border-radius: 0 3px 3px 0; -} - -#head #searchbar #searchbar-fauxtext #search-submit span { - background-image: url(../images/icon-sprite.png); - background-position: -431px -1px; - background-repeat: no-repeat; - display: block; - height: inherit; - overflow: hidden; - text-indent: -5000px; - width: 32px; -} - -.ff #head #searchbar #searchbar-fauxtext #search-submit span, -.ie #head #searchbar #searchbar-fauxtext #search-submit span { - height: 2.2em; -} - -#head #searchbar #searchbar-fauxtext #search-submit:hover span { - background-position: -431px -28px; - padding: 0; -} - -@media all and (min-width: 940px) { - #head #searchbar { - padding: 0; - } - - #head #searchbar #searchbar-fauxtext #search-submit span { - width: 28px; - } - - #head #searchbar #searchbar-fauxtext #search-submit:hover span { - background-position: -431px -28px; - } -} - -/* @section pages */ - -#pages { - font-size: 1.2em; - margin: 0 1em 20px 1em; -} - -@media all and (min-width: 940px) { - #pages { - margin: 0 0 20px 0; - } -} - -#pages ul { - list-style: none; - margin: 0; - padding: 0; -} - -#pages li a.file, -#pages li a.folder { - background-image: url(../images/fileview/document.png); - background-position: 0 1px; - background-repeat: no-repeat; - padding-left: 20px; -} - -#pages li a.folder { - background-image: url(../images/fileview/folder-horizontal.png); -} - -#pages .breadcrumb { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0; - padding: 0.25em; -} - -.clearfloats { - clear: both; -} - -.emoji { - width: 20px; - height: 20px; - vertical-align: -18%; -} diff --git a/lib/gollum/public/gollum/css/ie7.css b/lib/gollum/public/gollum/css/ie7.css deleted file mode 100755 index 112d33a2..00000000 --- a/lib/gollum/public/gollum/css/ie7.css +++ /dev/null @@ -1,75 +0,0 @@ -/* IE7-specific styles */ - -.ie #wiki-wrapper { - width: 920px; - padding-left:20px; - padding-right:20px; -} - -.ie #head #searchbar #searchbar-fauxtext input#search-query { - border: 0; - float: left; - padding: 0.4em 0 0 0.5em; -} - -.ie #head #searchbar #searchbar-fauxtext #search-submit span { - height: 2.25em; -} - -#head #searchbar, -#head ul.actions { - margin: 1em 0 0 0; -} - -ul.actions { - margin-left: 0; -} - -.compare #footer ul.actions { - margin-top: 1em; -} - -.compare div.data { - overflow: auto; -} - -.history #version-form { - margin: -0.5em 0 -0.5em !important; -} - -#gollum-editor { - padding-bottom: 0; -} - -#gollum-editor-help-parent li a, -#gollum-editor-help-list li a { - height: auto; -} - -#gollum-editor #gollum-editor-format-selector { - margin-top: 6px; -} - -#gollum-editor .singleline input { - padding-top: 0.25em; -} - -#gollum-editor .collapsed { - padding-bottom: 1.1em; -} - -#gollum-editor #gollum-editor-submit { - padding: 0.5em 1em 0.3em !important; -} - -#gollum-editor #gollum-editor-preview { - line-height: 1.3em; -} - -#gollum-editor form { - margin: 0; -} - -#gollum-editor #gollum-editor-format-selector label { - padding-top: 0.1em !important; -} \ No newline at end of file diff --git a/lib/gollum/public/gollum/css/print.css b/lib/gollum/public/gollum/css/print.css deleted file mode 100644 index 6b9a96d1..00000000 --- a/lib/gollum/public/gollum/css/print.css +++ /dev/null @@ -1,14 +0,0 @@ - -/* - 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; -} diff --git a/lib/gollum/public/gollum/css/template.css b/lib/gollum/public/gollum/css/template.css deleted file mode 100644 index ff170265..00000000 --- a/lib/gollum/public/gollum/css/template.css +++ /dev/null @@ -1,884 +0,0 @@ -/* - Gollum v3 Template -*/ - -/*! - * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -@font-face { - font-family: 'FontAwesome'; - src: url('../fonts/fontawesome-webfont.eot?v=4.0.3'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} - -.fa { - display: inline-block; - font: normal normal 16px FontAwesome; - line-height: 1; - text-decoration: none; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.fa-link:before { - content: "\f0c1"; -} - -.fa-spinner:before { - content: "\f110"; -} - -.fa-spin { - -webkit-animation: spin 2s infinite linear; - -moz-animation: spin 2s infinite linear; - -o-animation: spin 2s infinite linear; - animation: spin 2s infinite linear; -} -@-moz-keyframes spin { - 0% { - -moz-transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(359deg); - } -} -@-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - } -} -@-o-keyframes spin { - 0% { - -o-transform: rotate(0deg); - } - 100% { - -o-transform: rotate(359deg); - } -} -@keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} - -/* margin & padding reset*/ -* { - margin: 0; - padding: 0; -} - -div { - display: block; -} - -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} - -html, body { - color: #333; -} - -body { - background-color: white; - font: 13.34px Helvetica, arial, freesans, clean, sans-serif; - font-size: small; - line-height: 1.4; -} - -img { - border: 0; -} - -a { - color: #4183C4; - text-decoration: none; -} - -a.absent { - color: #c00; -} - -a:focus { - outline: thin dotted; -} - -a:active, a:hover { - outline: 0; -} - -.markdown-body a.anchor:focus { - outline: none; -} - -.markdown-body a[id].wiki-toc-anchor { - color: inherit; - text-decoration: none; -} - -.markdown-body { - padding: 1em; - font-size: 15px; - line-height: 1.7; - overflow: hidden; - word-wrap: break-word; -} - -@media all and (min-width: 940px) { - .markdown-body { - padding: 30px; - } -} - -.markdown-body > *:first-child { - margin-top: 0 !important; -} - -.markdown-body > *:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a.absent { - color: #c00; -} - -.markdown-body a.anchor { - display: block; - padding-right: 6px; - padding-left: 30px; - margin-left: -30px; - cursor: pointer; - position: absolute; - top: 0; - left: 0; - bottom: 0; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin: 1em 0 15px; - padding: 0; - font-weight: bold; - line-height: 1.7; - cursor: text; - position: relative; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; -} - -.markdown-body h1 .fa-link, .markdown-body h2 .fa-link, .markdown-body h3 .fa-link, .markdown-body h4 .fa-link, .markdown-body h5 .fa-link, .markdown-body h6 .fa-link { - display: none; - text-decoration: none; - color: #000; -} - -.markdown-body h1:hover a.anchor .fa-link, -.markdown-body h2:hover a.anchor .fa-link, -.markdown-body h3:hover a.anchor .fa-link, -.markdown-body h4:hover a.anchor .fa-link, -.markdown-body h5:hover a.anchor .fa-link, -.markdown-body h6:hover a.anchor .fa-link { - text-decoration: none; - line-height: 1; - padding-left: 8px; - margin-left: -30px; - top: 15%; - display: inline-block; -} - -.markdown-body h1 tt, -.markdown-body h1 code, -.markdown-body h2 tt, -.markdown-body h2 code, -.markdown-body h3 tt, -.markdown-body h3 code, -.markdown-body h4 tt, -.markdown-body h4 code, -.markdown-body h5 tt, -.markdown-body h5 code, -.markdown-body h6 tt, -.markdown-body h6 code { - font-size: inherit; -} - -.markdown-body h1 { - font-size: 2.5em; - border-bottom: 1px solid #ddd; - color: #000; - margin-top: 20px; - margin-bottom: 10px; -} - -.markdown-body h2 { - font-size: 2em; - border-bottom: 1px solid #eee; - color: #000; -} - -.markdown-body h3 { - font-size: 1.5em; -} - -.markdown-body h4 { - font-size: 1.2em; -} - -.markdown-body h5 { - font-size: 1em; -} - -.markdown-body h6 { - color: #777; - font-size: 1em; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre, -.markdown-body hr { - margin: 15px 0; -} - -.markdown-body li { - margin: 0px; -} - -.markdown-body hr { - background: transparent url(../images/dirty-shade.png) repeat-x 0 0; - border: 0 none; - color: #ccc; - height: 4px; - padding: 0; -} - -.markdown-body > h1:first-child, -.markdown-body > h2:first-child, -.markdown-body > h3:first-child, -.markdown-body > h4:first-child, -.markdown-body > h5:first-child, -.markdown-body > h6:first-child { -} - -.markdown-body h1 + h2 + h3 { - margin-top: 30px; -} - -.markdown-body a:first-child h1, -.markdown-body a:first-child h2, -.markdown-body a:first-child h3, -.markdown-body a:first-child h4, -.markdown-body a:first-child h5, -.markdown-body a:first-child h6 { - margin-top: 0; - padding-top: 0; -} - -.markdown-body h1 + p, -.markdown-body h2 + p, -.markdown-body h3 + p, -.markdown-body h4 + p, -.markdown-body h5 + p, -.markdown-body h6 + p { - margin-top: 0; -} - -.markdown-body li p.first { - display: inline-block; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 30px; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - font-size: 14px; - font-weight: bold; - font-style: italic; - padding: 0; - margin: 15px 0 5px; -} - -.markdown-body dl dt:first-child { - padding: 0; -} - -.markdown-body dl dt > :first-child { - margin-top: 0; -} - -.markdown-body dl dt > :last-child { - margin-bottom: 0; -} - -.markdown-body dl dd { - margin: 0 0 15px; - padding: 0 15px; -} - -.markdown-body dl dd > :first-child { - margin-top: 0; -} - -.markdown-body dl dd > :last-child { - margin-bottom: 0; -} - -.markdown-body blockquote { - border-left: 4px solid #DDD; - padding: 0 15px; - color: #777; -} - -.markdown-body blockquote > :first-child { - margin-top: 0; -} - -.markdown-body blockquote > :last-child { - margin-bottom: 0; -} - -.markdown-body table { - padding: 0; - border-collapse: collapse; - border-spacing: 0; -} - -.markdown-body table tr { - border-top: 1px solid #ccc; - background-color: #fff; - margin: 0; - padding: 0; -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f8f8f8; -} - -.markdown-body table tr th { - font-weight: bold; -} - -.markdown-body table tr th, -.markdown-body table tr td, -.markdown-body table tr td table, -.markdown-body table tr th table { - border: 1px solid #ccc; - text-align: none; - margin: 0; - padding: 6px 13px; -} - -.markdown-body table tr th > :first-child, -.markdown-body table tr td > :first-child { - margin-top: 0; -} - -.markdown-body table tr th > :last-child, -.markdown-body table tr td > :last-child { - margin-bottom: 0; -} - -.markdown-body img { - max-width: 100%; -} - -.markdown-body span.frame { - display: block; - overflow: hidden; -} - -.markdown-body span.frame > span { - border: 1px solid #ddd; - display: block; - float: left; - overflow: hidden; - margin: 13px 0 0; - padding: 7px; - width: auto; -} - -.markdown-body span.frame span img { - display: block; - float: left; -} - -.markdown-body span.frame span span { - clear: both; - color: #333; - display: block; - padding: 5px 0 0; -} - -.markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-center > span { - display: block; - overflow: hidden; - margin: 13px auto 0; - text-align: center; -} - -.markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; -} - -.markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-right > span { - display: block; - overflow: hidden; - margin: 13px 0 0; - text-align: right; -} - -.markdown-body span.align-right span img { - margin: 0; - text-align: right; -} - -.markdown-body span.float-left { - display: block; - margin-right: 13px; - overflow: hidden; - float: left; -} - -.markdown-body span.float-left span { - margin: 13px 0 0; -} - -.markdown-body span.float-right { - display: block; - margin-left: 13px; - overflow: hidden; - float: right; -} - -.markdown-body span.float-right > span { - display: block; - overflow: hidden; - margin: 13px auto 0; - text-align: right; -} - -.markdown-body code, -.markdown-body pre, -.markdown-body tt { - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-size: 12px; -} - -.markdown-body code, -.markdown-body tt { - margin: 0 2px; - padding: 0 5px; - white-space: nowrap; - border: 1px solid #ddd; - background-color: #f8f8f8; - border-radius: 3px; -} - -.markdown-body pre > tt, -.markdown-body pre > code { - margin: 0; - padding: 0; - white-space: pre; - border: none; - background: transparent; -} - -.markdown-body pre { - background-color: #f8f8f8; - border: 1px solid #ccc; - font-size: 13px; - line-height: 19px; - overflow: auto; - padding: 6px 10px; - border-radius: 3px; -} - -.markdown-body pre pre, -.markdown-body pre code, -.markdown-body pre tt { - background-color: transparent; - border: none; -} - -.markdown-body pre pre { - margin: 0; - padding: 0; -} - -.toc { - background-color: #F7F7F7; - border: 1px solid #ddd; - padding: 5px 10px; - margin: 0; - border-radius: 3px; -} - -.toc-title { - color: #888; - font-size: 14px; - line-height: 1.6; - padding: 2px; - border-bottom: 1px solid #ddd; - margin-bottom: 3px; -} - -.toc ul { - padding-left: 10px; - margin: 0; -} - -.toc > ul { - margin-left: 10px; - font-size: 17px; -} - -.toc ul ul { - font-size: 15px; -} - -.toc ul ul ul { - font-size: 14px; -} - -.toc ul li { - margin: 0; -} - -#header-content .toc, -#footer-content .toc, -#sidebar-content .toc { - border: none; -} - -.highlight { - background: #fff; -} - -.highlight .c { - color: #998; - font-style: italic; -} - -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} - -.highlight .k { - font-weight: bold; -} - -.highlight .o { - font-weight: bold; -} - -.highlight .cm { - color: #998; - font-style: italic; -} - -.highlight .cp { - color: #999; - font-weight: bold; -} - -.highlight .c1 { - color: #998; - font-style: italic; -} - -.highlight .cs { - color: #999; - font-weight: bold; - font-style: italic; -} - -.highlight .gd { - color: #000; - background-color: #fdd; -} - -.highlight .gd .x { - color: #000; - background-color: #faa; -} - -.highlight .ge { - font-style: italic; -} - -.highlight .gr { - color: #a00; -} - -.highlight .gh { - color: #999; -} - -.highlight .gi { - color: #000; - background-color: #dfd; -} - -.highlight .gi .x { - color: #000; - background-color: #afa; -} - -.highlight .go { - color: #888; -} - -.highlight .gp { - color: #555; -} - -.highlight .gs { - font-weight: bold; -} - -.highlight .gu { - color: #800080; - font-weight: bold; -} - -.highlight .gt { - color: #a00; -} - -.highlight .kc { - font-weight: bold; -} - -.highlight .kd { - font-weight: bold; -} - -.highlight .kn { - font-weight: bold; -} - -.highlight .kp { - font-weight: bold; -} - -.highlight .kr { - font-weight: bold; -} - -.highlight .kt { - color: #458; - font-weight: bold; -} - -.highlight .m { - color: #099; -} - -.highlight .s { - color: #d14; -} - -.highlight .na { - color: #008080; -} - -.highlight .nb { - color: #0086B3; -} - -.highlight .nc { - color: #458; - font-weight: bold; -} - -.highlight .no { - color: #008080; -} - -.highlight .ni { - color: #800080; -} - -.highlight .ne { - color: #900; - font-weight: bold; -} - -.highlight .nf { - color: #900; - font-weight: bold; -} - -.highlight .nn { - color: #555; -} - -.highlight .nt { - color: #000080; -} - -.highlight .nv { - color: #008080; -} - -.highlight .ow { - font-weight: bold; -} - -.highlight .w { - color: #bbb; -} - -.highlight .mf { - color: #099; -} - -.highlight .mh { - color: #099; -} - -.highlight .mi { - color: #099; -} - -.highlight .mo { - color: #099; -} - -.highlight .sb { - color: #d14; -} - -.highlight .sc { - color: #d14; -} - -.highlight .sd { - color: #d14; -} - -.highlight .s2 { - color: #d14; -} - -.highlight .se { - color: #d14; -} - -.highlight .sh { - color: #d14; -} - -.highlight .si { - color: #d14; -} - -.highlight .sx { - color: #d14; -} - -.highlight .sr { - color: #009926; -} - -.highlight .s1 { - color: #d14; -} - -.highlight .ss { - color: #990073; -} - -.highlight .bp { - color: #999; -} - -.highlight .vc { - color: #008080; -} - -.highlight .vg { - color: #008080; -} - -.highlight .vi { - color: #008080; -} - -.highlight .il { - color: #099; -} - -.highlight .gc { - color: #999; - background-color: #EAF2F5; -} - -.type-csharp .highlight .k { - color: #00F; -} - -.type-csharp .highlight .kt { - color: #00F; -} - -.type-csharp .highlight .nf { - color: #000; - font-weight: normal; -} - -.type-csharp .highlight .nc { - color: #2B91AF; -} - -.type-csharp .highlight .nn { - color: #000; -} - -.type-csharp .highlight .s { - color: #A31515; -} - -.type-csharp .highlight .sc { - color: #A31515; -} diff --git a/lib/gollum/public/gollum/images/icon-sprite.png b/lib/gollum/public/gollum/images/icon-sprite.png index 83e8c6fdb51badea297d23aea1ce5b75e65f34ec..7f083d938848553ae2a28d2d37aa0c71d076d943 100644 GIT binary patch literal 4043 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 literal 9542 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 z :first-child { + margin-top: 0; + } + + > :last-child { + margin-bottom: 0; + } +} + +// Defines a vertical gradient. +@mixin vertical-gradient($start-color, $end-color) { + filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#{$start-color}', endColorstr='#{$end-color}'); + background: -webkit-gradient(linear, left top, left bottom, from($start-color), to($end-color)); + background: -moz-linear-gradient(top, $start-color, $end-color); +} + +// Defines a common animation. +@mixin generic-animation($animation) { + -webkit-animation: $animation; + -moz-animation: $animation; + -o-animation: $animation; + animation: $animation; +} + +// Defines font smoothing method. +// http://maximilianhoffmann.com/posts/better-font-rendering-on-osx +@mixin font-smoothing($value: on) { + @if $value == on { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + @else { + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: auto; + } +} diff --git a/lib/gollum/public/gollum/stylesheets/_layout.scss b/lib/gollum/public/gollum/stylesheets/_layout.scss new file mode 100644 index 00000000..b3eb339c --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/_layout.scss @@ -0,0 +1,71 @@ +// Describes base page layout + +/* @section wrapper */ +#wiki-wrapper { + margin: 0 auto; + overflow: visible; + width: 100%; + + @include desktop-breakpoint { + @include desktop-page-layout; + } +} + +/* @section content */ +#wiki-content { + height: 1%; + overflow: visible; + + .wrap { + height: 1%; + overflow: auto; + } +} + +/* @section body */ +#wiki-body { + display: block; + width: 100%; + margin-right: 3%; + + @include largemobile-breakpoint { + float: left; + clear: left; + + .has-sidebar & { + width: $layout-with-sidebar - $layout-with-sidebar-leeway; + } + + .has-leftbar & { + float: right; + clear: right; + } + } +} + +/* @section sidebar */ +#wiki-sidebar { + @include largemobile-breakpoint { + width: $layout-sidebar; + + .has-leftbar & { + float: left; + } + + .has-rightbar & { + float: right; + } + } +} + +/* @section footer */ + +#wiki-footer { + clear: both; + + @include largemobile-breakpoint { + .has-sidebar & { + width: $layout-with-sidebar; + } + } +} diff --git a/lib/gollum/public/gollum/stylesheets/app.scss b/lib/gollum/public/gollum/stylesheets/app.scss new file mode 100644 index 00000000..b650ae9f --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/app.scss @@ -0,0 +1,4 @@ +//= require gollum +//= require editor +//= require dialog +//= require template \ No newline at end of file diff --git a/lib/gollum/public/gollum/stylesheets/dialog.scss b/lib/gollum/public/gollum/stylesheets/dialog.scss new file mode 100644 index 00000000..39108757 --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/dialog.scss @@ -0,0 +1,176 @@ +/* @control dialog */ + +@import "_base", "_features", "_breakpoint", "_component"; + +#gollum-dialog-dialog { + display: block; + overflow: visible; + position: absolute; + top: 0; + left: 0; + z-index: 999999; + width: 100%; + height: 100%; + + @include mediummobile-breakpoint { + position: absolute; + position: fixed; + width: auto; + height: auto; + } + + @include desktop-breakpoint { + position: absolute; + top: 50%; + left: 50%; + } + + &.active { + display: block; + } + + a.minibutton { + float: right; + margin-right: 0.5em; + width: auto; + + font-size: 1.2em; + font-family: $font-default; + + margin: 0 0 0 0.8em; + padding: 0.4em 1em; + + @include button-base; + } +} + +#gollum-dialog-dialog-inner { + margin: 0px; + width: 100%; + height: 100%; + + @include four-edge-position(0px); + + @include mediummobile-breakpoint { + margin: auto; + position: fixed; + + width: auto; + height: auto; + + min-width: 280px; + min-height: 380px; + + max-width: 450px; + max-height: 450px; + + @include four-edge-position(10px); + + border: 7px solid #999; + border: 7px solid rgba(0, 0, 0, 0.3); + border-radius: 5px; + } + + @include desktop-breakpoint { + margin: 0 0 0 -225px; + position: relative; + + width: 450px; + + @include four-edge-position(auto); + } + + h4 { + border-bottom: $border-standard; + color: #000; + font-size: 1.8em; + line-height: normal; + font-weight: bold; + margin: 0 0 0.75em 0; + padding: 0 0 0.3em 0; + } +} + +#gollum-dialog-dialog-bg { + background-color: #fff; + padding: 1em; + + height: 100%; + + @include alt-box-model; + + @include mediummobile-breakpoint { + overflow: hidden; + + @include vertical-gradient(#f7f7f7, #ffffff); + } + + @include desktop-breakpoint { + height: auto; + } +} + +#gollum-dialog-dialog-body { + font-size: 1.2em; + line-height: 1.6em; + + fieldset { + display: block; + @include reset-box; + @include clearfix; + + .field { + margin: 0 0 1.5em 0; + padding: 0; + + &:last-child { + margin: 0 0 1em 0; + } + + label { + color: #000; + display: block; + font-size: 1.2em; + font-weight: bold; + line-height: 1.6em; + margin: 0; + padding: 0; + min-width: 80px; + } + + input { + &[type="text"] { + border: $border-standard; + display: block; + font-family: $font-default; + font-size: 1.2em; + line-height: 1.6em; + margin: 0.3em 0 0 0; + padding: 0.3em 0.5em; + width: 94%; + } + + &.code { + font-family: $font-console; + } + } + + span.context { + font-size: .9em; + color: #666; + + span.path { + font-family: $font-console; + font-weight: bold; + } + } + } + } +} + +#gollum-dialog-dialog-buttons { + border-top: $border-standard; + overflow: hidden; + margin: 1.5em 0 0 0; + padding: 1em 0 0 0; +} diff --git a/lib/gollum/public/gollum/stylesheets/editor.scss b/lib/gollum/public/gollum/stylesheets/editor.scss new file mode 100644 index 00000000..492d8504 --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/editor.scss @@ -0,0 +1,504 @@ +// Wiki editor formatting + +@import "_base", "_features", "_breakpoint", "_component"; + +a { + -moz-outline: none !important; +} + +.jaws { + // JAWS should see it, but you can't + display: block; + height: 1px; + left: -5000px; + overflow: hidden; + position: absolute; + top: -5000px; + width: 1px; +} + +.disabled { + color: lightgray; +} + +#gollum-editor-body-ace { + overflow: scroll; + resize: vertical; + border: 1px solid #ddd; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-size: 1em; + height: 25em; +} + +#gollum-editor { + margin: 0 0 5em; + padding: 0em 1em 0.4em; + + @include clearfix; + + .ff &, .ie & { + padding-bottom: 1em; + } + + @include desktop-breakpoint { + border: $border-editor-component; + background: $color-editor-component; + margin: 1em 0 5em; + + border-radius: 1em; + } + + form { + fieldset { + width: 100%; + @include reset-box; + } + } + + .singleline { + display: block; + margin: 0 0 0.7em 0; + @include clearfix; + + input { + background: #fff; + border: $border-standard; + color: #000; + font-size: 1.1em; + font-family: $font-default; + line-height: 1.5em; + margin: 1em 0 0.4em; + padding: 0.5em; + width: 98%; + + &.ph { + color: #999; + } + + .ie & { + padding-top: 0.25em; + padding-bottom: 0.75em; + } + } + } + + .path_note { + text-align: right; + font-size: small; + padding-right: 5px; + } + + /* @control editor-view-tab */ + #gollum-editor-type-switcher { + display: none; + } + + /* @control function-bar */ + #gollum-editor-function-bar { + border-bottom: $border-standard; + padding: 0; + + @include desktop-breakpoint { + overflow: hidden; + } + + #gollum-editor-function-buttons { + display: none; + } + + &.active { + #gollum-editor-function-buttons { + display: block; + margin: 0; + padding: 0; + + @include desktop-breakpoint { + overflow: hidden; + margin: 0; + padding: 0 0 1.1em 0; + float: left; + } + } + } + + a { + &.function-button { + float: left; + + overflow: hidden; + margin: 1px 1px 0 0; + + @include editor-button-size; + @include button-base; + + @include desktop-breakpoint { + margin: 0.2em 0.5em 0 0; + } + + span { + display: block; + + @include button-sprites; + @include text-conceal-simple; + @include editor-button-size; + } + } + + &.disabled { + display: none; + } + } + + span.function-divider { + display: none; + + @include desktop-breakpoint { + display: block; + width: 0.5em; + float: left; + } + } + + #gollum-editor-format-selector { + padding: 0.2em 0 0.5em 0; + clear: both; + + @include clearfix; + + @include desktop-breakpoint { + clear: none; + text-align: right; + } + + select { + background-color: $color-editor-component; + border: $border-standard; + color: #333; + + font-size: 1em; + font-family: $font-default; + font-weight: bold; + line-height: 1.6em; + padding: 0.3em 0.4em; + display: inline-block; + + border-radius: 0.5em; + } + + label { + color: #999; + font-size: 1em; + font-weight: bold; + line-height: 1.6em; + padding: .3em 0.5em 0 0; + display: inline-block; + + &:after { + content: ':'; + } + } + } + } + + + + /* @section form-fields */ + + textarea { + @include component-textarea; + height: 25em; + } + + input#gollum-editor-submit { + float: left; + font-size: 1em; + font-family: $font-default; + + margin: 0; + padding: 0.4em 1em; + + @include button-base; + @include alt-box-model; + + .webkit & { + padding: 0.5em 1em 0.45em; + } + + .ie & { + padding: 0.4em 1em 0.5em; + } + } + + .collapsed, .expanded { + border-bottom: $border-standard; + display: block; + overflow: hidden; + padding: 0.5em 0 0; + + a { + &.button { + float: left; + + overflow: hidden; + margin: 0.2em 0.5em 0.75em 0; + + @include editor-button-size; + @include button-base; + } + + span { + display: block; + + @include button-sprites; + @include editor-button-size; + @include text-conceal-simple; + } + } + + h4 { + font-size: 1.6em; + float: left; + margin: 0; + + padding: 0.25em 0 0 0.3em; + + text-shadow: 0 -1px 0 #fff; + line-height: $editor-button-size; + + @include desktop-breakpoint { + line-height: $editor-button-desktop-size; + } + } + } + + .collapsed { + h4 { + color: #bbb; + } + + a.button { + @include editor-button(13); + } + + textarea { + display: none; + } + } + + .expanded { + a.button { + @include editor-button(14); + } + + textarea { + @include component-textarea; + height: 7em; + } + } + + #gollum-editor-body { + & + .collapsed, & + .expanded { + border-top: $border-standard; + margin-top: 0.7em; + } + + } + + /* @control minibutton */ + + a.minibutton { + font-size: 1em; + font-family: $font-default; + line-height: 1.2em; + margin: 0 0 0 0.8em; + padding: 0.5em 1em; + + @include button-base; + } + + /* @control preview */ + + #gollum-editor-preview { + float: left; + font-weight: normal; + padding: left; + + @include alt-box-model; + } +} + +/* @control title */ + +#gollum-editor-title-field { + &.active { + border-bottom: $border-standard; + display: block; + margin: 0 0 0.3em 0; + padding: 0 0 0.5em 0; + } + + input#gollum-editor-page-title { + font-weight: bold; + margin-top: 0; + + &.ph { + color: #000; + } + } + + & + #gollum-editor-function-bar { + margin-top: 0.6em; + } +} + +/* @control editor-buttons */ + +a#function-bold { @include editor-button(0); } +a#function-italic { @include editor-button(1); } +a#function-underline { @include editor-button(2); } +a#function-code { @include editor-button(3); } +a#function-ul { @include editor-button(4); } +a#function-ol { @include editor-button(5); } +a#function-blockquote { @include editor-button(6); } +a#function-hr { @include editor-button(7); } +a#function-h1 { @include editor-button(8); } +a#function-h2 { @include editor-button(9); } +a#function-h3 { @include editor-button(10); } +a#function-link { @include editor-button(11); } +a#function-image { @include editor-button(12); } +a#function-plus { @include editor-button(13); } +a#function-minus { @include editor-button(14); } +a#function-help { @include editor-button(15); } +a#function-search { @include editor-button(16); } + +/* @section uploads */ + +#gollum-editor-body { + & + div { + display: none; + font-size: 1.5em; + + > i { + font-size: 1em; + } + } + + &.dragging { + box-shadow: 0 0 10px #AAE000; + } + + &.uploading { + opacity: 0.5; + + & + div { + display: block; + } + } +} + +/* @section help */ +#gollum-editor-help { + clear: both; + margin: 0; + overflow: hidden; + padding: 0; + border: $border-standard; + border-width: 0 1px 1px 1px; + + @include desktop-breakpoint { + clear: none; + } +} + +#gollum-editor-help-parent, +#gollum-editor-help-list { + display: block; + list-style-type: none; + margin: 0; + float: left; + width: 50%; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + + @include desktop-breakpoint { + height: 17em; + width: 18%; + overflow: auto; + padding: 1em 0; + } + + li { + font-size: 1.2em; + line-height: 1.6em; + margin: 0; + padding: 0; + + a { + border: 1px solid transparent; + border-width: 1px 0; + display: block; + font-weight: bold; + height: 100%; + width: auto; + padding: 0.2em 1em; + text-shadow: 0 -1px 0 #fff; + font-size: 0.8em; + + @include desktop-breakpoint { + font-size: 1em; + } + + &:hover { + background: #fff; + border-color: #f0f0f0; + text-decoration: none; + + box-shadow: none; + } + + &.selected { + border: $border-editor-element; + border-bottom-color: #e7e7e7; + border-width: 1px 0; + background: #fff; + color: #000; + + box-shadow: 0 1px 2px #f0f0f0; + } + } + } +} + +#gollum-editor-help-parent { + border-right: $border-editor-element; +} + +#gollum-editor-help-list { + background: #fafafa; + border-right: $border-editor-element; +} + +#gollum-editor-help-wrapper { + background: #fff; + overflow: auto; + height: 17em; + padding: 1em; + clear: both; + + @include desktop-breakpoint { + clear: none; + } +} + +#gollum-editor-help-content { + font-size: 1.2em; + margin: 0 1em 0 0.5em; + padding: 0; + line-height: 1.8em; + + p { + margin: 0 0 1em 0; + padding: 0; + } +} \ No newline at end of file diff --git a/lib/gollum/public/gollum/stylesheets/fileview.scss b/lib/gollum/public/gollum/stylesheets/fileview.scss new file mode 100644 index 00000000..afe4c5bd --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/fileview.scss @@ -0,0 +1,84 @@ +@import "_base"; + +#pages { + li { + position: relative; + margin-left: -15px; + list-style: none; + &.file { + white-space: nowrap; + margin-left: -1px !important; + height: 1.5em; + a { + text-decoration: none; + display: inline-block; + span.icon { + width: 14px; + height: 18px; + background: $img_fileview_doc 0 0 no-repeat; + display: inline-block; + margin-right: 7px; + vertical-align: text-top; + } + } + form { + vertical-align: middle; + display: inline; + button { + vertical-align: middle; + height: 20px; + border: 0 solid $black; + background: $img_fileview_trash no-repeat 16px center; + cursor: pointer; + } + } + a span.icon { + background: $img_fileview_doc 0 0 no-repeat; + } + } + input { + position: absolute; + left: 0; + margin-left: 0; + opacity: 0; + z-index: 2; + cursor: pointer; + height: 1em; + width: 1em; + top: 0; + + ol { + background: $img_fileview_toggle_small_expand 40px 0 no-repeat; + margin: -1.188em 0 0 -44px; + height: 1.5em; + > li { + display: none; + margin-left: -14px !important; + padding-left: 1px; + } + } + &:checked + ol { + background: $img_fileview_toggle_small 40px 5px no-repeat; + margin: -1.5em 0 0 -44px; + padding: 1.563em 0 0 80px; + height: auto; + > li { + display: block; + margin: 0 0 0.125em; + &:last-child { + margin: 0 0 0.063em; + } + } + } + } + label { + background: $img_fileview_folder 15px 1px no-repeat; + cursor: pointer; + display: block; + padding-left: 37px; + } + } + ol.tree { + padding: 0 0 0 30px; + width: 300px; + } +} \ No newline at end of file diff --git a/lib/gollum/public/gollum/stylesheets/gollum.scss b/lib/gollum/public/gollum/stylesheets/gollum.scss new file mode 100644 index 00000000..a145f625 --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/gollum.scss @@ -0,0 +1,712 @@ +// Basic stylesheet for Gollum + +@import "_base", "_breakpoint", "_features", "_layout", "_component"; + +/* @section core */ +body, html { + font-family: $font-default; + font-size: 10px; + @include reset-box; +} + +a { + &:link { + color: $blue; + text-decoration: none; + } + &:hover, &:visited { + color: $blue; + text-decoration: underline; + } +} + +#wiki-wrapper { + #template blockquote { + margin: 1em 0; + border-left: 4px solid $grey; + padding-left: .8em; + color: #555; + } +} + +/* @section head */ +#head { + margin: 1em 0 0; + padding: 0; + overflow: hidden; + + @include desktop-breakpoint { + border-bottom: $border-standard; + padding-bottom: 0.3em; + margin: 4em 0 1.5em; + } + + h1 { + font-size: 1.5em; + float: left; + line-height: normal; + margin: 0; + padding: 0 0 0 0.667em; + + @include desktop-breakpoint { + font-size: 2.5em; + padding: 2px 0 0 0; + } + } + + ul.actions { + clear: both; + margin: 0 1em; + + @include desktop-breakpoint { + clear: none; + float: right; + margin: 0; + } + } +} + +/* @section body */ +#wiki-body { + margin-bottom: 40px; + + table { + display: block; + overflow: auto; + border: 0; + } + + /* @section comments */ + #inline-comment { + display: none; /* todo */ + } +} + +/* @section toc */ +#wiki-toc-main { + @include component-base; + + font-size: 13px; + padding: 0px 5px; + float: left; + margin-bottom: 20px; + min-width: 33%; + + > div { + border: none; + } +} + +/* @section sidebar */ + +#wiki-sidebar { + @include component-base; + + font-size: 13px; + padding: 7px; + color: #555; + + p { + margin: 13px 0 0; + + &.parent { + border-bottom: 1px solid #bbb; + font-weight: bold; + margin: 0 0 0.5em 0; + padding: 0 0 0.5em 0; + text-shadow: 0 1px 0 #fff; + + &:before { + color: #666; + content: "← "; + } + } + } + + > p:first-child { + margin-top: 10px; + } +} + +/* @section footer */ + +#wiki-footer { + margin: 2em 0 5em; + + #header-content, #footer-content { + @include component-base; + + padding: 1em; + } + #header-content { + margin-bottom: 1.5em; + } + #footer-content { + margin-top: 1.5em; + + h3 { + font-size: 1.2em; + color: #333; + margin: 0; + padding: 0 0 0.2em; + text-shadow: 0 1px 0 #fff; + } + + p { + margin: 0.5em 0 0; + padding: 0; + } + + ul.links { + margin: 0.5em 0 0; + overflow: hidden; + padding: 0; + + li { + color: #999; + float: left; + list-style-position: inside; + list-style-type: square; + padding: 0; + margin-left: 0.75em; + + &:first-child { + list-style-type: none; + margin: 0; + + .ff & { + margin: 0 -0.75em 0 0; + } + } + + a { + font-weight: bold; + text-shadow: 0 1px 0 #fff; + } + } + } + } +} + +/* @section page-footer */ +.page #footer { + clear: both; + border-top: $border-standard; + margin: 1em 0 7em; +} + +#footer { + p#last-edit { + font-size: .9em; + line-height: 1.6em; + color: #999; + margin: 0.9em 0; + + span.username { + font-weight: bold; + } + } + + .actions { + margin-left: 1em; + + @include desktop-breakpoint { + margin: 0; + } + } +} + +/* @section history */ +.history { + @include section-header; +} + +#wiki-history { + margin: 2em 1em 0 1em; + + fieldset { + border: 0; + margin: 1em 0; + padding: 0; + } + + table, tbody { + border-collapse: collapse; + padding: 0; + margin: 0; + width: 100%; + + tr { + padding: 0; + margin: 0; + background-color: #ebf2f6; + + &:nth-child(2n), &.alt-row { + background-color: #f3f7fa; + } + + &.selected { + background-color: #ffffea !important; + z-index: 100; + } + + td { + border-top: 1px solid #c0dce9; + border-bottom: 1px solid #c0dce9; + font-size: 1em; + line-height: 1.6em; + margin: 0; + padding: 0.3em 0.7em; + + &.checkbox { + width: auto; + padding: 0 0.2em 0 0; + + input { + cursor: pointer; + display: block; + padding-right: 0; + padding-top: 0.4em; + margin: 0 auto; + width: 1.2em; + height: 1.2em; + } + } + + &.commit-name { + border-left: 0; + + span.time-elapsed { + color: #999; + } + + a { + font-size: 0.9em; + font-family: $font-console; + padding: 0 0.2em; + } + } + + &.author { + width: 20%; + + a { + color: #000; + font-weight: bold; + + span.username { + display: block; + padding-top: 3px; + } + } + } + + img { + background-color: #fff; + border: 1px solid #999; + display: block; + float: left; + height: 18px; + overflow: hidden; + margin: 0 0.5em 0 0; + width: 18px; + padding: 2px; + } + } + } + } +} + +.history #footer { + margin-bottom: 7em; +} + +.history #wiki-history ul.actions li, +.history #footer ul.actions li { + margin: 0 0.6em 0 0; +} + +@include desktop-breakpoint { + #wiki-history { + margin: 2em 0 0 0; + + table tr td { + border: 1px solid #c0dce9; + font-size: 1em; + line-height: 1.6em; + margin: 0; + padding: 0.3em 0.7em; + + &.checkbox { + width: 4em; + padding: 0.3em; + } + } + } +} + +/* @section edit */ +.edit { + @include section-header; +} + +/* @section search */ + +.results { + @include section-header; + + #results { + border-bottom: 1px solid #ccc; + margin-left: 1em; + margin-right: 1em; + margin-bottom: 2em; + padding-bottom: 2em; + + @include desktop-breakpoint { + margin-left: 0; + margin-right: 0; + } + + ul { + margin: 2em 0 0 0; + padding: 0; + + li { + list-style: none; + padding: 0.2em 0; + + @include largemobile-breakpoint { + font-size: 1.2em; + } + + @include desktop-breakpoint { + list-style: disc; + list-style-position: outside; + line-height: 1.6em; + } + + a { + word-wrap: break-word; + } + + span.count { + color: #999; + } + } + } + } + + p#no-results { + font-size: 1.2em; + line-height: 1.6em; + margin-top: 2em; + } + + #footer ul.actions li { + margin: 0 1em 0 0; + } +} + +/* @section compare */ +.compare { + @include section-header; + + #compare-content { + margin-top: 3em; + } + + .data { + border: $border-standard; + margin: 1em 0 2em; + overflow: auto; + + table { + width: 100%; + + tr td { + font-family: $font-console; + font-size: 1.2em; + line-height: 1.2em; + margin: 0; + padding: 0; + + & + td + td { + width: 100%; + } + + &.line_numbers { + background: $light-grey; + border-right: 1px solid #999; + color: #999; + padding: 0 0 0 0.5em; + } + } + } + + pre { + margin: 0; + padding: 0; + + div { + padding: 0 0 0 1em; + } + } + } + + #footer { + margin-bottom: 7em; + } +} + +.compare #compare-content ul.actions li, +.compare #footer ul.actions li { + margin-left: 0; + margin-right: 0.6em; +} + +/* @control syntax */ +.highlight { + background: #ffffff; + .c, .cm, .c1 { color: #999988; font-style: italic } + .err { color: #a61717; background-color: #e3d2d2 } + .k, .o { font-weight: bold } + .cp { color: #999999; font-weight: bold } + .cs { color: #999999; font-weight: bold; font-style: italic } + .gd { + color: #000000; + background-color: #ffdddd; + .x { + color: #000000; + background-color: #ffaaaa; + } + } + .ge { font-style: italic } + .gr { color: #aa0000 } + .gh { color: #999999 } + .gi { + color: #000000; + background-color: #ddffdd; + .x { + color: #000000; + background-color: #aaffaa; + } + } + .gc { color: #999; background-color: #EAF2F5 } + .go { color: #888888 } + .gp { color: #555 } + .gs { font-weight: bold } + .gu { color: #aaaaaa } + .gt { color: #aa0000 } +} + +/* @control minibutton */ +ul.actions { + display: block; + list-style-type: none; + overflow: hidden; + padding: 0; + + li { + float: left; + font-size: 0.9em; + margin-left: 1px; + margin-bottom: 1px; + + @include desktop-breakpoint { + margin-left: 0.6em; + margin-bottom: 0.6em; + } + } +} + +.minibutton a { + @include button-base; + + margin: 0; + padding: 0.6em 1em; + height: 1.4em; + + @include desktop-breakpoint { + padding: 0.4em 1em; + } +} + +#search-submit { + @include button-base; + + margin: 0; + padding: 0.4em 1em; +} + +/* @special error */ +#wiki-wrapper.error { + height: 1px; + position: absolute; + overflow: visible; + top: 50%; + width: 100%; +} + +#error { + background-color: $color-editor-component; + border: $border-editor-component; + left: 50%; + overflow: hidden; + padding: 2%; + margin: -10% 0 0 -35%; + position: absolute; + width: 70%; + + border-radius: 0.5em; + + h1 { + font-size: 3em; + line-height: normal; + margin: 0; + padding: 0; + } + + p { + font-size: 1.2em; + line-height: 1.6em; + margin: 1em 0 0.5em; + padding: 0; + } +} + +/* @control searchbar */ +#searchbar { + float: right; + overflow: hidden; + + @include desktop-breakpoint { + padding: 0; + } + + #searchbar-fauxtext { + background: #fff; + border: none; + overflow: hidden; + height: $editor-button-size; + + @include desktop-breakpoint { + height: $editor-button-img-height; + } + + input#search-query { + border: 1px solid $color-button-border; + border-radius: 3px 0 0 3px; + + color: #000; + float: left; + font-family: $font-default; + font-size: 1em; + height: inherit; + padding: 0 .5em; + + -webkit-focus-ring: none; + + @include alt-box-model; + + .ie8 & { + padding: 0.5em 0 0 0.5em; + } + + &.ph { + color: #999; + } + } + + #search-submit { + @include button-base; + + border-left: none; + border-radius: 0 3px 3px 0; + + margin: 0 !important; + padding: 0; + float: right; + height: inherit; + + @include alt-box-model; + + @include editor-button(16); + + span { + @include button-sprites; + + display: block; + height: inherit; + + width: 32px; + text-align: center; + + @include text-conceal-simple; + + .ff &, .ie & { + height: 2.2em; + } + + @include desktop-breakpoint { + width: 28px; + } + } + + &:hover span { + padding: 0; + } + } + } +} + +/* @section pages */ + +#pages { + font-size: 1.2em; + margin: 0 1em 20px 1em; + + @include desktop-breakpoint { + margin: 0 0 20px 0; + } + + ul { + list-style: none; + margin: 0; + padding: 0; + + li { + a { + &.file, &.folder { + background-position: 0 1px; + background-repeat: no-repeat; + padding-left: 20px; + } + + &.file { + background-image: $img_fileview_doc; + } + + &.folder { + background-image: $img_fileview_folder; + } + } + } + } + + .breadcrumb { + border-top: $border-standard; + border-bottom: $border-standard; + margin: 1em 0; + padding: 0.25em; + } +} + +.clearfloats { + clear: both; +} + +.emoji { + width: 20px; + height: 20px; + vertical-align: -18%; +} \ No newline at end of file diff --git a/lib/gollum/public/gollum/stylesheets/ie7.scss b/lib/gollum/public/gollum/stylesheets/ie7.scss new file mode 100644 index 00000000..852ab5a1 --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/ie7.scss @@ -0,0 +1,146 @@ +// IE7/8-specific styles + +@import "_base", "_features", "_breakpoint", "_component"; + +/* @section layout */ +#wiki-wrapper { + @include desktop-page-layout; +} + +#wiki-content { + height: 1%; + overflow: visible; + + .wrap { + height: 1%; + overflow: auto; + } +} + +#wiki-body { + display: block; + width: 100%; + margin-right: 3%; + + float: left; + clear: left; +} + +#wiki-sidebar { + width: $layout-sidebar; +} + +#wiki-footer { + clear: both; +} + +.has-sidebar { + #wiki-body { + width: $layout-with-sidebar - $layout-with-sidebar-leeway; + } + #wiki-footer { + width: $layout-with-sidebar; + } +} + +.has-leftbar { + #wiki-body { + float: right; + clear: right; + } + #wiki-sidebar { + float: left; + } +} + +.has-rightbar { + #wiki-sidebar { + float: right; + } +} + +/* @section head */ + +#head { + #searchbar { + #searchbar-fauxtext { + input#search-query { + float: left; + } + + #search-submit span { + height: 2.25em; + } + } + } + + ul.actions { + margin: 1em 0 0 1em; + } +} + +/* +ul.actions { + margin-left: 0; +} +*/ + +.compare { + #footer ul.actions { + margin-top: 1em; + } + + div.data { + overflow: auto; + } +} + +.history { + #version-form { + margin: -0.5em 0 -0.5em !important; + } +} + +#gollum-editor { + padding-bottom: 0; + + #gollum-editor-format-selector { + margin-top: 6px; + + label { + padding-top: 0.1em !important; + } + } + + .singleline input { + padding-top: 0.25em; + } + + .collapsed { + padding-bottom: 1.1em; + } + + #gollum-editor-submit { + padding: 0.55em 1em 0.55em; + height: 2.4em; + } + + #gollum-editor-preview { + line-height: 1.3em; + } + + form { + margin: 0; + } + + textarea { + width: 98%; + } +} + +#gollum-editor-help-parent, +#gollum-editor-help-list { + li a { + height: auto; + } +} diff --git a/lib/gollum/public/gollum/stylesheets/print.scss b/lib/gollum/public/gollum/stylesheets/print.scss new file mode 100644 index 00000000..c20936f3 --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/print.scss @@ -0,0 +1,10 @@ +// 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; +} diff --git a/lib/gollum/public/gollum/stylesheets/template.scss b/lib/gollum/public/gollum/stylesheets/template.scss new file mode 100644 index 00000000..e0be9129 --- /dev/null +++ b/lib/gollum/public/gollum/stylesheets/template.scss @@ -0,0 +1,712 @@ +// Gollum v3 Template + +@import "_base", "_breakpoint", "_features"; + +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +@font-face { + font-family: 'FontAwesome'; + src: asset-url('fontawesome-webfont.eot?v=4.0.3'); + src: asset-url('fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), asset-url('fontawesome-webfont.woff?v=4.0.3') format('woff'), asset-url('fontawesome-webfont.ttf?v=4.0.3') format('truetype'), asset-url('fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} + +.fa { + display: inline-block; + font: normal normal 16px FontAwesome; + line-height: 1; + text-decoration: none; + @include font-smoothing(on); +} + +.fa-link:before { + content: "\f0c1"; +} + +.fa-spinner:before { + content: "\f110"; +} + +.fa-spin { + @include generic-animation(spin 2s infinite linear); +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +/* margin & padding reset*/ +* { + @include reset-box-leave-border; +} + +div { + display: block; +} + +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +html, body { + color: #333; +} + +body { + background-color: white; + font: 13.34px $font-default; + font-size: small; + line-height: 1.4; +} + +img { + border: 0; +} + +a { + color: $blue; + text-decoration: none; + + &.absent { + color: $red; + } + + &:focus { + outline: thin dotted; + } + + &:active, &:hover { + outline: 0; + } +} + +/* Markdown body */ + +.markdown-body { + padding: 1em; + font-size: 15px; + line-height: 1.7; + overflow: hidden; + word-wrap: break-word; + + @include desktop-breakpoint { + padding: 30px; + } + + a { + &.absent { + color: $red; + } + + &.anchor { + display: block; + padding-right: 6px; + padding-left: 30px; + margin-left: -30px; + cursor: pointer; + position: absolute; + top: 0; + left: 0; + bottom: 0; + + &:focus { + outline: none; + } + } + + &[id].wiki-toc-anchor { + color: inherit; + text-decoration: none; + } + + &:first-child { + h1, h2, h3, h4, h5, h6 { + margin-top: 0; + padding-top: 0; + } + } + } + + > *:first-child { + margin-top: 0 !important; + } + + > *:last-child { + margin-bottom: 0 !important; + } + + h1, h2, h3, h4, h5, h6 { + margin: 1em 0 15px; + padding: 0; + font-weight: bold; + line-height: 1.7; + cursor: text; + position: relative; + text-rendering: optimizeLegibility; + @include font-smoothing(on); + + .fa-link { + display: none; + text-decoration: none; + color: #000; + } + + &:hover { + a.anchor .fa-link { + text-decoration: none; + line-height: 1; + padding-left: 8px; + margin-left: -30px; + top: 15%; + display: inline-block; + } + } + + tt, code { + font-size: inherit; + } + + & + p { + margin-top: 0; + } + } + + h1 { + font-size: 2.5em; + border-bottom: $border-standard; + color: #000; + margin-top: 20px; + margin-bottom: 10px; + + & + h2 + h3 { + margin-top: 30px; + } + } + + h2 { + font-size: 2em; + border-bottom: 1px solid #eee; + color: #000; + } + + h3 { + font-size: 1.5em; + } + + h4 { + font-size: 1.2em; + } + + h5 { + font-size: 1em; + } + + h6 { + color: #777; + font-size: 1em; + } + + p, blockquote, ul, ol, dl, table, pre { + margin: 15px 0; + } + + ul, ol { + padding-left: 30px; + } + + dl { + padding: 0; + + dt { + font-size: 14px; + font-weight: bold; + font-style: italic; + padding: 0; + margin: 15px 0 5px; + + &:first-child { + padding: 0; + } + + @include children-truncate-margin; + } + + dd { + margin: 0 0 15px; + padding: 0 15px; + + @include children-truncate-margin; + } + } + + li { + margin: 0px; + + p.first { + display: inline-block; + } + } + + hr { + background: transparent $img_dirty_shade repeat-x 0 0; + border: 0 none; + color: #ccc; + height: 4px; + padding: 0; + margin: 15px 0; + } + + blockquote { + border-left: 4px solid #DDD; + padding: 0 15px; + color: #777; + + @include children-truncate-margin; + } + + table { + padding: 0; + border-collapse: collapse; + border-spacing: 0; + + tr { + border-top: 1px solid #ccc; + background-color: #fff; + + @include reset-box-leave-border; + + &:nth-child(2n) { + background-color: #f8f8f8; + } + + th, td, table { + border: 1px solid #ccc; + text-align: none; + margin: 0; + padding: 6px 13px; + + @include children-truncate-margin; + } + + th { + font-weight: bold; + } + } + } + + img { + max-width: 100%; + } + + span.frame { + display: block; + overflow: hidden; + + > span { + border: $border-standard; + display: block; + float: left; + overflow: hidden; + margin: 13px 0 0; + padding: 7px; + width: auto; + } + + span { + img { + display: block; + float: left; + } + + span { + clear: both; + color: #333; + display: block; + padding: 5px 0 0; + } + } + } + + span.align-center { + display: block; + overflow: hidden; + clear: both; + + > span { + display: block; + overflow: hidden; + margin: 13px auto 0; + text-align: center; + } + + span { + img { + margin: 0 auto; + text-align: center; + } + } + } + + span.align-right { + display: block; + overflow: hidden; + clear: both; + + > span { + display: block; + overflow: hidden; + margin: 13px 0 0; + text-align: right; + } + + span { + img { + margin: 0; + text-align: right; + } + } + } + + span.float-left { + display: block; + margin-right: 13px; + overflow: hidden; + float: left; + + span { + margin: 13px 0 0; + } + } + + span.float-right { + display: block; + margin-left: 13px; + overflow: hidden; + float: right; + + > span { + display: block; + overflow: hidden; + margin: 13px auto 0; + text-align: right; + } + } + + code, pre, tt { + font-family: $font-console; + font-size: 12px; + } + + code, tt { + margin: 0 2px; + padding: 0 5px; + white-space: nowrap; + border: $border-standard; + background-color: #f8f8f8; + border-radius: 3px; + } + + pre { + background-color: #f8f8f8; + border: 1px solid #ccc; + font-size: 13px; + line-height: 19px; + overflow: auto; + padding: 6px 10px; + border-radius: 3px; + + > tt, > code { + margin: 0; + padding: 0; + white-space: pre; + border: none; + background: transparent; + } + + pre, code, tt { + background-color: transparent; + border: none; + } + + pre { + margin: 0; + padding: 0; + } + } +} + +/* Table of contents */ + +.toc { + background-color: #F7F7F7; + border: $border-standard; + padding: 5px 10px; + margin: 0; + border-radius: 3px; + + ul { + padding-left: 10px; + margin: 0; + + li { + margin: 0; + } + + ul { + font-size: 15px; + + ul { + font-size: 14px; + } + } + } + + > ul { + margin-left: 10px; + font-size: 17px; + } +} + +.toc-title { + color: #888; + font-size: 14px; + line-height: 1.6; + padding: 2px; + border-bottom: $border-standard; + margin-bottom: 3px; +} + +#header-content .toc, +#footer-content .toc, +#sidebar-content .toc { + border: none; +} + +/* Highlights */ + +.highlight { + background: #fff; + + .c { + color: #998; + font-style: italic; + } + + .err { + color: #a61717; + background-color: #e3d2d2; + } + + .k, .o { + font-weight: bold; + } + + .cm, .c1 { + color: #998; + font-style: italic; + } + + .cp { + color: #999; + font-weight: bold; + } + + .cs { + color: #999; + font-weight: bold; + font-style: italic; + } + + .gd { + color: #000; + background-color: #fdd; + + .x { + color: #000; + background-color: #faa; + } + } + + .ge { + font-style: italic; + } + + .gr { + color: #a00; + } + + .gh { + color: #999; + } + + .gi { + color: #000; + background-color: #dfd; + + .x { + color: #000; + background-color: #afa; + } + } + + .go { + color: #888; + } + + .gp { + color: #555; + } + + .gs { + font-weight: bold; + } + + .gt { + color: #a00; + } + + .gu { + color: #800080; + font-weight: bold; + } + + .kc, .kd, .kn, .kp, .kr { + font-weight: bold; + } + + .kt { + color: #458; + font-weight: bold; + } + + .m { + color: #099; + } + + .s { + color: #d14; + } + + .na, .no, .nv, .vc, .vg, .vi { + color: #008080; + } + + .nb { + color: #0086B3; + } + + .nc { + color: #458; + font-weight: bold; + } + + .ni { + color: #800080; + } + + .ne, .nf { + color: #900; + font-weight: bold; + } + + .nn { + color: #555; + } + + .nt { + color: #000080; + } + + .ow { + font-weight: bold; + } + + .w { + color: #bbb; + } + + .mf, .mh, .mi, .mo, .il { + color: #099; + } + + .sb, .sc, .sd, .s2, .se, .sh, .si, .sx, .s1 { + color: #d14; + } + + .sr { + color: #009926; + } + + .ss { + color: #990073; + } + + .bp { + color: #999; + } + + .gc { + color: #999; + background-color: #EAF2F5; + } +} + +.type-csharp { + .highlight { + .k, .kt { + color: #00F; + } + + .nf { + color: #000; + font-weight: normal; + } + + .nc { + color: #2B91AF; + } + + .nn { + color: #000; + } + + .s, .sc { + color: #A31515; + } + } +} diff --git a/lib/gollum/templates/file_view.mustache b/lib/gollum/templates/file_view.mustache index d3f801a4..c730b87a 100644 --- a/lib/gollum/templates/file_view.mustache +++ b/lib/gollum/templates/file_view.mustache @@ -1,34 +1,38 @@ - - - - - - - - {{#css}}{{/css}} - {{#js}}{{/js}} - {{title}} - - +{{#stylesheet_tag_mustache}}fileview media: :all{{/stylesheet_tag_mustache}} -
- -
- -{{#has_results}} -
- {{{results}}} +
+ -{{/has_results}} -{{#no_results}} -

- There are no pages in {{ref}}. -

-{{/no_results}} - - +
+ {{#has_results}} +
+ {{{results}}} +
+ {{/has_results}} + + {{#no_results}} +

+ There are no pages in {{ref}}. +

+ {{/no_results}} +
+ + +
\ No newline at end of file diff --git a/lib/gollum/templates/history_authors/identicon.mustache b/lib/gollum/templates/history_authors/identicon.mustache index 65cb17ea..ee57fad0 100644 --- a/lib/gollum/templates/history_authors/identicon.mustache +++ b/lib/gollum/templates/history_authors/identicon.mustache @@ -1,5 +1,5 @@ - avatar: {{author}} {{author}} - + \ No newline at end of file diff --git a/lib/gollum/templates/layout.mustache b/lib/gollum/templates/layout.mustache index e46a6e03..546fa114 100644 --- a/lib/gollum/templates/layout.mustache +++ b/lib/gollum/templates/layout.mustache @@ -5,16 +5,13 @@ - - - - - + {{#stylesheet_tag_mustache}}app media: :all{{/stylesheet_tag_mustache}} + {{#stylesheet_tag_mustache}}print media: :print{{/stylesheet_tag_mustache}} {{#css}}{{/css}} {{#noindex}}{{/noindex}} - - - - - - - - - + {{#javascript_tag_mustache}}app{{/javascript_tag_mustache}} {{#use_identicon}} - + {{#javascript_tag_mustache}}identicon_canvas{{/javascript_tag_mustache}} {{/use_identicon}} {{#mathjax}} {{^mathjax_config}} diff --git a/lib/gollum/views/file_view.rb b/lib/gollum/views/file_view.rb index 3aec9a0a..44bc3ed6 100644 --- a/lib/gollum/views/file_view.rb +++ b/lib/gollum/views/file_view.rb @@ -1,7 +1,9 @@ module Precious module Views class FileView < Layout - attr_reader :results, :ref + include Sprockets::Helpers + include Precious::Views::SprocketsHelpers + attr_reader :results, :ref, :allow_editing def title "File view of #{@ref}" diff --git a/lib/gollum/views/helpers.rb b/lib/gollum/views/helpers.rb new file mode 100644 index 00000000..b9abf057 --- /dev/null +++ b/lib/gollum/views/helpers.rb @@ -0,0 +1,35 @@ +require 'yaml' + +module Precious + module Views + module SprocketsHelpers + def self.included(base) + + def helper_proc_with_options(method) + Proc.new do |args| + args = args.split(' ') + if args.size > 1 then + options = args[1..-1].join(' ') + options = YAML.safe_load("---\n#{options}\n", [Symbol]) + end + options = options.respond_to?(:to_h) ? options.to_h : {} + options = options.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo} + send(method, args[0], options) + end + end + + ['stylesheet_path','javascript_path', 'image_path'].each do |method| + define_method :"#{method}_mustache" do + Proc.new {|args| send(method.to_sym, args)} + end + end + + ['stylesheet_tag','javascript_tag'].each do |method| + define_method :"#{method}_mustache" do + helper_proc_with_options(method.to_sym) + end + end + end + end + end +end \ No newline at end of file diff --git a/lib/gollum/views/history.rb b/lib/gollum/views/history.rb index a3d19e3b..16c563f3 100644 --- a/lib/gollum/views/history.rb +++ b/lib/gollum/views/history.rb @@ -2,6 +2,8 @@ module Precious module Views class History < Layout include HasPage + include Sprockets::Helpers + include Precious::Views::SprocketsHelpers attr_reader :page, :page_num, :allow_editing diff --git a/lib/gollum/views/layout.rb b/lib/gollum/views/layout.rb index e2d14166..ed393ed5 100644 --- a/lib/gollum/views/layout.rb +++ b/lib/gollum/views/layout.rb @@ -4,6 +4,8 @@ module Precious module Views class Layout < Mustache include Rack::Utils + include Sprockets::Helpers + include Precious::Views::SprocketsHelpers alias_method :h, :escape_html attr_reader :name, :path