olelo 0.9.9 → 0.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +41 -5
- data/config.ru +5 -3
- data/lib/olelo.rb +1 -0
- data/lib/olelo/application.rb +7 -6
- data/lib/olelo/helper.rb +9 -9
- data/lib/olelo/initializer.rb +3 -2
- data/lib/olelo/locale.rb +1 -3
- data/lib/olelo/locale.yml +5 -61
- data/lib/olelo/menu.rb +13 -13
- data/lib/olelo/middleware/static_cache.rb +20 -0
- data/lib/olelo/page.rb +1 -1
- data/lib/olelo/plugin.rb +28 -24
- data/lib/olelo/version.rb +1 -1
- data/lib/olelo/views/layout.slim +0 -1
- data/olelo.gemspec +7 -6
- data/plugins/aspects/documentbrowser.rb +3 -3
- data/plugins/aspects/download.rb +3 -3
- data/plugins/aspects/feed.rb +100 -0
- data/plugins/aspects/gallery/main.rb +1 -1
- data/plugins/aspects/highlight.rb +1 -1
- data/plugins/aspects/image.rb +4 -4
- data/plugins/aspects/imageinfo.rb +9 -3
- data/plugins/aspects/locale.yml +20 -0
- data/plugins/aspects/main.rb +25 -13
- data/plugins/aspects/pageinfo.rb +9 -3
- data/plugins/aspects/source.rb +1 -1
- data/plugins/aspects/subpages.rb +10 -6
- data/plugins/aspects/text.rb +1 -1
- data/plugins/authentication/locale.yml +16 -0
- data/plugins/blog/locale.yml +1 -1
- data/plugins/blog/main.rb +1 -1
- data/plugins/editor/preview.rb +1 -1
- data/plugins/editor/recaptcha.rb +1 -1
- data/plugins/filters/editsection.rb +1 -1
- data/plugins/filters/locale.yml +1 -1
- data/plugins/filters/toc.rb +1 -1
- data/plugins/history/locale.yml +1 -1
- data/plugins/history/main.rb +18 -14
- data/plugins/login/persistent.rb +8 -6
- data/plugins/misc/variables.rb +16 -5
- data/plugins/misc/webdav.rb +21 -19
- data/plugins/repositories/git_grep.rb +3 -2
- data/plugins/security/acl.rb +1 -1
- data/plugins/security/private_wiki.rb +3 -2
- data/plugins/utils/assets.rb +13 -18
- data/plugins/utils/cache.rb +18 -16
- data/static/script.js +1 -1
- data/static/script/14-olelo.tabwidget.js +2 -0
- data/static/themes/atlantis/menu.scss +3 -0
- data/static/themes/atlantis/style.css +1 -1
- data/test/request_test.rb +0 -1
- metadata +65 -53
- data/lib/rack/static_cache.rb +0 -93
- data/plugins/aspects/changelog.rb +0 -46
- data/plugins/misc/fragment_cache.rb +0 -31
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
description 'Searching via git-grep'
|
2
3
|
|
3
4
|
class ::Olelo::Application
|
@@ -60,7 +61,7 @@ __END__
|
|
60
61
|
@@ git_grep.slim
|
61
62
|
- title :search_results.t(pattern: params[:pattern])
|
62
63
|
h1= title
|
63
|
-
p= :match.t(count: @matches.length)
|
64
|
+
p= @matches.length == 1 ? :match.t : :match_plural.t(count: @matches.length)
|
64
65
|
.search
|
65
66
|
- @matches.each do |path, content|
|
66
67
|
.match
|
@@ -68,7 +69,7 @@ p= :match.t(count: @matches.length)
|
|
68
69
|
a.name href=build_path(path) = emphasize(path)
|
69
70
|
.content= emphasize(content)
|
70
71
|
@@ locale.yml
|
71
|
-
|
72
|
+
cs:
|
72
73
|
match: 'Jeden výsledek'
|
73
74
|
match_plural: '%{count} výsledků'
|
74
75
|
search_results: 'Výsledky hledání pro %{pattern}'
|
data/plugins/security/acl.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
description 'Forbid anonymous access, redirect to login'
|
2
3
|
|
3
4
|
class ::Olelo::Application
|
@@ -15,7 +16,7 @@ class ::Olelo::Application
|
|
15
16
|
if !User.logged_in?
|
16
17
|
if !PUBLIC_ACCESS.include?(request.path_info)
|
17
18
|
flash.error :login_first.t
|
18
|
-
session[:olelo_goto] = request.path_info if request.get? && request.path_info !~ %r{^/_/}
|
19
|
+
session[:olelo_goto] = build_path(request.path_info) if request.get? && request.path_info !~ %r{^/_/}
|
19
20
|
redirect build_path(:login)
|
20
21
|
end
|
21
22
|
@disable_assets = true
|
@@ -25,7 +26,7 @@ end
|
|
25
26
|
|
26
27
|
__END__
|
27
28
|
@@ locale.yml
|
28
|
-
|
29
|
+
cs:
|
29
30
|
login_first: 'Musíte se nejprve přihlásit'
|
30
31
|
de:
|
31
32
|
login_first: 'Sie müssen sich zuerst anmelden'
|
data/plugins/utils/assets.rb
CHANGED
@@ -11,24 +11,12 @@ class ::Olelo::Application
|
|
11
11
|
attr_reader? :disable_assets
|
12
12
|
|
13
13
|
hook :head, 2 do
|
14
|
-
|
15
|
-
js = Application.scripts['js']
|
16
|
-
css = Application.scripts['css']
|
17
|
-
result = ''
|
18
|
-
if css
|
19
|
-
path = build_path "_/assets/assets.css?#{css.first}"
|
20
|
-
result << %{<link rel="stylesheet" href="#{escape_html path}" type="text/css"/>}
|
21
|
-
end
|
22
|
-
if js
|
23
|
-
path = build_path "_/assets/assets.js?#{js.first}"
|
24
|
-
result << %{<script src="#{escape_html path}" type="text/javascript"></script>}
|
25
|
-
end
|
26
|
-
result
|
14
|
+
render_partial(:assets, locals: {scripts: Application.scripts}) unless disable_assets?
|
27
15
|
end
|
28
16
|
|
29
|
-
get "/_/assets/assets.:type", type: 'js|css' do
|
17
|
+
get "/_/assets(-:version)/assets.:type", type: 'js|css' do
|
30
18
|
if script = Application.scripts[params[:type]]
|
31
|
-
cache_control max_age: :static, must_revalidate: false
|
19
|
+
cache_control max_age: :static, must_revalidate: false, etag: script.first
|
32
20
|
response['Content-Type'] = MimeMagic.by_extension(params[:type]).to_s
|
33
21
|
response['Content-Length'] = script.last.bytesize.to_s
|
34
22
|
script.last
|
@@ -37,15 +25,15 @@ class ::Olelo::Application
|
|
37
25
|
end
|
38
26
|
end
|
39
27
|
|
40
|
-
get "/_/assets/:name", name: '.*' do
|
28
|
+
get "/_/assets(-:version)/:name", name: '.*' do
|
41
29
|
if asset = Application.assets[params[:name]]
|
42
30
|
fs, name = asset
|
31
|
+
cache_control last_modified: fs.mtime(name), max_age: :static, must_revalidate: false
|
43
32
|
if path = fs.real_path(name)
|
44
33
|
file = Rack::File.new(nil)
|
45
34
|
file.path = path
|
46
35
|
file.serving(env)
|
47
36
|
else
|
48
|
-
cache_control last_modified: fs.mtime(name), max_age: :static
|
49
37
|
response['Content-Type'] = (MimeMagic.by_path(name) || 'application/octet-stream').to_s
|
50
38
|
response['Content-Length'] = fs.size(name).to_s
|
51
39
|
fs.read(name)
|
@@ -68,7 +56,14 @@ class ::Olelo::Plugin
|
|
68
56
|
raise 'Invalid script type' if name !~ /\.(css|js)$/
|
69
57
|
scripts = Application.scripts[$1].to_a
|
70
58
|
code = "#{scripts[1]}/* #{path/name} */\n#{fs.read(name)}\n"
|
71
|
-
Application.scripts[$1] = [md5(code), code]
|
59
|
+
Application.scripts[$1] = [md5(Olelo::VERSION + code), code]
|
72
60
|
end
|
73
61
|
end
|
74
62
|
end
|
63
|
+
|
64
|
+
__END__
|
65
|
+
@@ assets.slim
|
66
|
+
- if scripts['css']
|
67
|
+
link rel="stylesheet" type="text/css" href=build_path("_/assets-#{scripts['css'].first}/assets.css")
|
68
|
+
- if scripts['js']
|
69
|
+
script type="text/javascript" src=build_path("_/assets-#{scripts['js'].first}/assets.js")
|
data/plugins/utils/cache.rb
CHANGED
@@ -2,13 +2,8 @@ description 'Caching support'
|
|
2
2
|
dependencies 'utils/worker', 'utils/store'
|
3
3
|
|
4
4
|
class Cache
|
5
|
-
def initialize(store)
|
6
|
-
@store = store
|
7
|
-
@disabled = false
|
8
|
-
end
|
9
|
-
|
10
|
-
def disable!
|
11
|
-
@disabled = true
|
5
|
+
def initialize(store = nil)
|
6
|
+
@store = store || default_store
|
12
7
|
end
|
13
8
|
|
14
9
|
# Block around cacheable return value identified by a <i>key</i>.
|
@@ -38,19 +33,26 @@ class Cache
|
|
38
33
|
private
|
39
34
|
|
40
35
|
def update(key, options = {}, &block)
|
41
|
-
|
42
|
-
|
36
|
+
disabler = Disabler.new
|
37
|
+
content = block.call(disabler)
|
38
|
+
@store[key] = content unless disabler.disabled?
|
43
39
|
content
|
44
40
|
end
|
45
41
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
end
|
42
|
+
def default_store
|
43
|
+
@@store ||= Store.create(Config['cache_store'])
|
44
|
+
end
|
50
45
|
|
51
|
-
|
52
|
-
|
53
|
-
end
|
46
|
+
class Disabler
|
47
|
+
attr_reader? :disabled
|
48
|
+
def initialize; @disabled = false end
|
49
|
+
def disable!; @disabled = true end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
module ::Olelo::Util
|
54
|
+
def cache(key, options = {}, &block)
|
55
|
+
Cache.new.cache(key, options = {}, &block)
|
54
56
|
end
|
55
57
|
end
|
56
58
|
|
data/static/script.js
CHANGED
@@ -295,7 +295,7 @@ arguments)},_keyEvent:function(n,s){if(!this.isMultiLine||this.menu.element.is("
|
|
295
295
|
(n>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(n){this._superApply(arguments);this.options.disabled||this.cancelSearch||this.liveRegion.text(n&&n.length?this.options.messages.results(n.length):this.options.messages.noResults)}})})(jQuery);(function(i){function v(o){if(typeof o!="string"&&typeof o!="number")throw new TypeError("Key name must be string or numeric");}function n(){try{s.oleloStorage=JSON.stringify(z)}catch(o){}}var s={},z={};try{if(window.localStorage)s=window.localStorage;if(s.oleloStorage)z=JSON.parse(s.oleloStorage)}catch(r){}i.storage={set:function(o,x){v(o);z[o]=x;n();return x},get:function(o,x){v(o);if(o in z)return z[o];return typeof x=="undefined"?null:x},remove:function(o){v(o);if(o in z){delete z[o];n();return true}return false}}})(jQuery);(function(i){function v(z,r){var o=s[z];return o&&o[r]}var n=null,s={};i.translations=function(z){for(var r in z)if(s[r])for(var o in z[r])s[r][o]=z[r][o];else s[r]=z[r]};i.t=function(z,r){if(!n){var o=i("html");n=o.attr("lang")||o.attr("xml:lang")||"en"}var x;o=v(n,z);if(!o&&(x=n.indexOf("-")))o=v(n.substr(0,x),z);if(o){for(var E in r)o=o.replace(RegExp("#{"+E+"}","g"),r[E]);return o}return"#"+z}})(jQuery);(function(i){function v(){var z=false;switch(this.type){case "checkbox":case "radio":z=this.checked!=this.defaultChecked;break;case "hidden":case "password":case "text":case "textarea":case "file":z=this.value!=this.defaultValue;break;case "select-one":case "select-multiple":for(var r=0;r<this.options.length&&!z;++r)z=this.options[r].selected!=this.options[r].defaultSelected;break}i("label[for="+this.id+"]").toggleClass("unsaved",z);i(this).toggleClass("unsaved",z)}function n(z){i("input.observe, textarea.observe, select.observe").each(function(){v.call(this)});
|
296
296
|
return i(".unsaved",z).size()!==0}i.translations({en:{confirmUnsaved:"The page was not saved. Continue?",pageUnsaved:"The page was not saved."},de:{confirmUnsaved:"Die Seite wurde nicht gespeichert. Fortsetzen?",pageUnsaved:"Die Seite wurde nicht gespeichert."},cs:{confirmUnsaved:"Str\u00e1nka nebyla ulo\u017eena. Pokra\u010dovat?",pageUnsaved:"Str\u00e1nka nebyla ulo\u017eena."},fr:{confirmUnsaved:"La page n'a pas \u00e9t\u00e9 enregistr\u00e9e. Voulez vous continuer ?",pageUnsaved:"La page n'a pas \u00e9t\u00e9 enregistr\u00e9e."}});
|
297
297
|
i.fn.confirmUnsaved=function(){return!n(this)||confirm(i.t("confirmUnsaved"))};i(document).on("change autocompletechange","input.observe, textarea.observe, select.observe",v);var s=false;i(document).on("submit","form",function(){s=true}).bind("reset",function(){i(".unsaved",this).removeClass("unsaved")});i(window).bind("beforeunload",function(){if(!s&&n(document))return i.t("pageUnsaved")})})(jQuery);(function(i){i.fn.pagination=function(v){function n(z){s.load(z+(z.indexOf("?")<0?"?":"&")+"no_layout=1",function(){s.trigger("pageLoaded",[z])})}var s=this;i(document).on("click",v,function(){i(this).addClass("loading");History.enabled?History.pushState(null,document.title,this.href):n(this.href);return false});i(window).bind("statechange",function(){var z=History.getState();n(z.url)})}})(jQuery);(function(i){i.fn.tabWidget=function(v){var n=v&&v.store,s=null;i("> a[href^='#']",this).click(function(){if(s.data("tab")==i(this).data("tab"))return false;if(!s.data("tab").confirmUnsaved())return false;s.data("tab").hide();s.parent().removeClass("selected");s=i(this);s.data("tab").show();s.parent().addClass("selected");n&&i.storage.set(n,s.data("tab").attr("id"));return false}).each(function(){var z=i(this.href.match(/(#.*)$/)[1]);z.hide();i(this).data("tab",z)});if(n)if(v=i.storage.get(n))s=i("> a[href='#"+
|
298
|
-
v+"']",this);if(!s||s.size()===0)s=i(this).filter(".selected").find("> a[href^='#']");if(!s||s.size()===0)s=i(this).filter(":first").find("> a[href^='#']");if(s&&s.data("tab")){s.parent().addClass("selected");s.data("tab").show()}}})(jQuery);(function(i){function v(n){n=Math.floor(((new Date).getTime()-new Date(n*1E3))/6E4);if(n<=0)return i.t("less_than_a_minute_ago");if(n==1)return i.t("a_minute_ago");if(n<45)return i.t("n_minutes_ago",{n:n});if(n<90)return i.t("one_hour_ago");if(n<1440)return i.t("n_hours_ago",{n:Math.round(n/60)});if(n<2880)return i.t("one_day_ago");if(n<43200)return i.t("n_days_ago",{n:Math.round(n/1440)});if(n<86400)return i.t("one_month_ago");if(n<525960)return i.t("n_months_ago",{n:Math.round(n/43200)});if(n<1051920)return i.t("one_year_ago");
|
298
|
+
v+"']",this);if(!s||s.size()===0)s=i(this).filter(".selected").find("> a[href^='#']");if(!s||s.size()===0)s=i(this).filter(":first").find("> a[href^='#']");i(this).removeClass("selected");if(s&&s.data("tab")){s.parent().addClass("selected");s.data("tab").show()}}})(jQuery);(function(i){function v(n){n=Math.floor(((new Date).getTime()-new Date(n*1E3))/6E4);if(n<=0)return i.t("less_than_a_minute_ago");if(n==1)return i.t("a_minute_ago");if(n<45)return i.t("n_minutes_ago",{n:n});if(n<90)return i.t("one_hour_ago");if(n<1440)return i.t("n_hours_ago",{n:Math.round(n/60)});if(n<2880)return i.t("one_day_ago");if(n<43200)return i.t("n_days_ago",{n:Math.round(n/1440)});if(n<86400)return i.t("one_month_ago");if(n<525960)return i.t("n_months_ago",{n:Math.round(n/43200)});if(n<1051920)return i.t("one_year_ago");
|
299
299
|
return i.t("over_n_years_ago",{n:Math.round(n/525960)})}i.translations({en:{less_than_a_minute_ago:"less than a minute ago",a_minute_ago:"a minute ago",n_minutes_ago:"#{n} minutes ago",one_hour_ago:"1 hour ago",n_hours_ago:"#{n} hours ago",one_day_ago:"1 day ago",n_days_ago:"#{n} days ago",one_month_ago:"1 month ago",n_months_ago:"#{n} months ago",one_year_ago:"1 year ago",over_n_years_ago:"over #{n} years ago"},de:{less_than_a_minute_ago:"vor weniger als einer Minute",a_minute_ago:"vor einer Minute",
|
300
300
|
n_minutes_ago:"vor #{n} Minuten",one_hour_ago:"vor einer Stunde",n_hours_ago:"vor #{n} Stunden",one_day_ago:"vor einem Tag",n_days_ago:"vor #{n} Tagen",one_month_ago:"vor einem Monat",n_months_ago:"vor #{n} Monaten",one_year_ago:"vor einem Jahr",over_n_years_ago:"vor \u00fcber #{n} Jahren"},cs:{less_than_a_minute_ago:"m\u00e9n\u011b ne\u017e 1 minuta",a_minute_ago:"p\u0159ed minutou",n_minutes_ago:"p\u0159ed #{n} minutami",one_hour_ago:"p\u0159ed hodinou",n_hours_ago:"p\u0159ed #{n} hodinami",one_day_ago:"jeden den",
|
301
301
|
n_days_ago:"p\u0159ed #{n} dny",one_month_ago:"jeden m\u011bs\u00edc",n_months_ago:"p\u0159ed #{n} m\u011bs\u00edci",one_year_ago:"1 rok",over_n_years_ago:"p\u0159ed #{n} lety"},fr:{less_than_a_minute_ago:"il y a moins d'une minute",a_minute_ago:"il y a une minute",n_minutes_ago:"il y a #{n} minutes",one_hour_ago:"il y a 1 heure",n_hours_ago:"il y a #{n} heures",one_day_ago:"il y a 1 jour",n_days_ago:"il y a #{n} jours",one_month_ago:"il y a 1 mois",n_months_ago:"il y a #{n} mois",one_year_ago:"il y a 1 an",
|
@@ -1,3 +1,3 @@
|
|
1
|
-
@media screen{.patch{width:100%;border:1px solid #BBB;border-collapse:collapse;border-spacing:0}.patch tr td{padding:0.5em;border-top:1px solid #BBB;font-family:"Bitstream Vera Sans Mono", monospace}.patch tr td pre{border:0px none;margin:0;padding:0}.patch tr td ins{background:#d4ffd4;text-decoration:none}.patch tr td del{color:#555555;text-decoration:line-through}.patch tr th{font-variant:normal;padding:0.2em 0.5em;border:1px solid #BBB}.patch tr.new th{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch tr.delete th{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch tr.move th{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch tr.edit th{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.patch-summary{width:100%}.patch-summary .ins,.patch-summary .del{width:1em}.patch-summary .ins{color:#5A5}.patch-summary .del{color:#A55}.patch-summary .new{background:#d4ffd4}.patch-summary .new .name{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .delete{background:#ffd4d4}.patch-summary .delete .name{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .move{background:#ffc}.patch-summary .move .name{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .edit{background:#fff}.patch-summary .edit .name{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.ui-autocomplete{position:absolute;cursor:default;list-style:none;padding:2px;margin:0;display:block;float:left;background:#FFF;border:1px solid #BBB}.ui-autocomplete a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.2em;color:#333}.ui-autocomplete .ui-state-hover{background:#DDD}.ui-autocomplete-input{margin-right:0}.ui-combo-button{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;border-left:0px none;margin-left:0;padding:0}.ui-combo-button:before{content:'\25BE'}.ui-helper-hidden-accessible{display:none}#header{background:url(images/bg/header.jpg) #153b7a;padding-left:0.5em;clear:both;height:3em}#header h1{margin:0;padding:0;border:0;outline:0;font-size:200%;font-weight:bold;float:left}#header h1 a,#header h1 a:visited,#header h1 a:active,#header h1 a:hover{color:#eeeeee}#info{float:right;background:#fff;padding:0.3em;margin:0.65em 0.5em 0 0;opacity:0.8}#search{opacity:0.8;float:right;border:none}#search input{margin:0.65em 0.5em 0 0;width:10em;padding:0.2em;padding-left:20px;background:#fff url(images/search.png) no-repeat 0.2em 0.2em}html,body{height:100%}#container{min-height:520px;position:relative;display:block;overflow:hidden;padding-right:7em;padding-left:156px;background:url(images/bg/container.png) top left repeat-y;z-index:10}#content{position:relative;float:left;width:100%;padding:2.5em 3.5em;background:url(images/bg/content.png) top left repeat-x}#sidebar{background:#e5efff;position:relative;width:156px;float:left;padding-bottom:3.5em;margin-left:-156px}#sidebar h1,#sidebar h2,#sidebar h3,#sidebar h4,#sidebar h5,#sidebar h6{font-size:140%;background:white;font-weight:normal;line-height:1.2em;margin:1em 0 0 0;padding:0 0.2em;border-top:1px solid #95bbff;border-bottom:1px solid #95bbff;display:block}#sidebar ul{margin:0;padding:0;border:0;outline:0;list-style:none}#sidebar ul li{margin:0}#sidebar ul li a{padding:0 5px;display:block}#sidebar ul ul a{padding:0 20px}#sidebar ul ul ul a{padding:0 35px}#footer{clear:both;position:relative;color:#555;font-size:90%;background:url(images/bg/footer.png) top left repeat-x;margin-top:-10px;padding:2em;text-align:right;z-index:1 !important}#footer .powered_by{margin-top:1em;color:#aaaaaa;font-size:90%}#item-actions-edit>a:before{content:url(images/actions/edit.png) "\00a0"}#item-actions-history>a:before{content:url(images/actions/history.png) "\00a0"}#item-actions-edit-new>a:before{content:url(images/actions/new.png) "\00a0"}#item-actions-edit-delete>a:before{content:url(images/actions/delete.png) "\00a0"}#item-actions-edit-move>a:before{content:url(images/actions/move.png) "\00a0"}#menu{background:#fff;height:1.6em;line-height:1.6em;border-top:1px solid #bbb;border-bottom:1px solid #bbb}#menu ul{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;height:1.6em}#menu ul li{float:left}#menu ul#menu-actions{float:right}#menu ul#menu-actions li{border-left:1px solid #bbb;border-right:none}#menu ul#menu-actions .selected a:before{content:"\2022\00a0"}#menu ul#menu-actions .download{background:#e5efff}#menu ul li{margin:0;padding:0;border:0;outline:0;display:block;float:left;height:1.6em;line-height:1.6em;border-right:1px solid #bbb;color:#333}#menu ul li a{display:block;text-decoration:none;white-space:nowrap;padding:0 1em;height:1.6em;color:#333;cursor:pointer}#menu ul li a:hover,#menu ul li a:focus,#menu ul li a:active{text-shadow:#333333 1px 1px 2px}#menu ul li ul{display:none;z-index:99;position:absolute;border-top:1px solid #bbb;margin-left:-1px}#menu ul li ul li{background:#fff;clear:both;border:1px solid #bbb !important;border-top:none !important;width:100%}#menu ul li:hover>ul{display:block}#menu .breadcrumbs{margin-right:1em}#menu .breadcrumbs>li{border:none}#menu .breadcrumbs>li a{padding:0 0.3em}#menu .breadcrumbs>li:first-child a{padding-left:1em;text-indent:-999px;display:block;width:16px;background:url(images/actions/home.png) no-repeat 1em 0.1em}#menu .breadcrumbs>li:last-child{border-right:1px solid #bbb}#menu .breadcrumbs>li:last-child a{padding-right:1em}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}*:focus{outline:0}body{line-height:1em;color:black;background:white}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0;vertical-align:middle}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:"" ""}q:before,q:after,blockquote:before,blockquote:after{content:""}img a{border:none}body{color:#111111;background:white;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:10pt;line-height:1.2em}h1{font-size:185%}h2{font-size:170%}h3{font-size:155%}h4{font-size:140%}h5{font-size:125%}h6{font-size:110%}h1,h2,h3,h4,h5,h6{font-family:"Book Antiqua",Palatino,FreeSerif,serif;color:#153b7a;margin:1em 0 0.5em 0;line-height:1.2em}h1{margin-top:0}strong{font-weight:bold}em{font-style:italic}ul,ol,p{margin:0.8em 0 0.8em 0}ul,ol ul,ol{margin:0}ul{list-style-type:disc}ol{list-style-type:decimal}ul,ol{list-style-position:outside;padding-left:1.5em}ul.pagination{height:3em}ul.button-bar,ul.pagination{list-style-type:none;margin:0;display:block;padding:0;width:100%}ul.button-bar li,ul.pagination li{float:left;padding:0;margin:0}ul.button-bar li a,ul.button-bar li span,ul.pagination li a,ul.pagination li span{display:block;background:url(images/bg/button.png) repeat-x left bottom transparent;border:1px solid #bbb;border-left:0px none;color:#333;padding:0em 0.5em;line-height:1.5em}ul.button-bar li a:active,ul.button-bar li a.current,ul.button-bar li a.loading,ul.button-bar li span:active,ul.button-bar li span.current,ul.button-bar li span.loading,ul.pagination li a:active,ul.pagination li a.current,ul.pagination li a.loading,ul.pagination li span:active,ul.pagination li span.current,ul.pagination li span.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}ul.button-bar li a.loading,ul.button-bar li span.loading,ul.pagination li a.loading,ul.pagination li span.loading{background:#d4e4ff url(images/loading.gif) repeat}ul.button-bar li a.ellipsis:before,ul.button-bar li span.ellipsis:before,ul.pagination li a.ellipsis:before,ul.pagination li span.ellipsis:before{content:'\22EF'}ul.button-bar li a.disabled,ul.button-bar li span.disabled,ul.pagination li a.disabled,ul.pagination li span.disabled{color:#bbb}ul.button-bar li:first-child a,ul.button-bar li:first-child span,ul.pagination li:first-child a,ul.pagination li:first-child span{border-left:1px solid #bbb;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}ul.button-bar li:last-child a,ul.button-bar li:last-child span,ul.pagination li:last-child a,ul.pagination li:last-child span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}dt{font-weight:bold;text-decoration:underline}dd{margin:0;padding:0 0 0.5em 0}table{border-collapse:separate;border-spacing:0px;background:#bbb;padding:1px;margin:0 0 2em 0}table td,table th{border-top:1px solid #E5E5E5;padding:0.2em 0.5em}table td.link,table th.link{padding:0}table td.link a,table th.link a{margin:0;padding:0.2em 0.5em;display:block}table tr{background:#fff}table tr:first-child td{border-top:0px none}table thead tr{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}table thead tr th{border-bottom:1px solid #bbb;border-top:0px none}a,a:visited{color:#153b7a;text-decoration:none}a.img{background:transparent}span.img{border:1px solid #bbb;float:right;text-align:center;color:black;background:#fff;padding:0.2em}span.img img{display:block}.editsection{border-radius:4px;-webkit-border-radius:4px;border:1px solid #bbb;display:block;background:url(images/bg/button.png) repeat-x left bottom #fff;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:9pt;line-height:9pt;margin-top:2px;padding:2px;color:#333;float:right;font-variant:normal}.editsection:visited{color:#333}sub{vertical-align:text-bottom;font-size:75%}sup{vertical-align:text-top;font-size:75%}img{vertical-align:middle}hr{background:#bbb;border:none;height:1px}.version,tt,pre,code,kbd{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace}pre{border:1px solid #bbb;padding:0.2em;min-width:60%;white-space:pre-wrap;display:block}#history .compare{padding:0;width:1em}#history .compare button{margin:1px;display:inline;font-size:small}#history .compare input{display:inline;margin:0 3px}table.full,#history,#subpages{width:100%}table.full td,table.full th,#history td,#history th,#subpages td,#subpages th{white-space:nowrap}#subpages .actions{width:80px;padding:0px}#subpages .action-edit{text-indent:-999px;background:url(images/actions/edit.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .action-history{text-indent:-999px;background:url(images/actions/history.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .action-delete{text-indent:-999px;background:url(images/actions/delete.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .action-move{text-indent:-999px;background:url(images/actions/move.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .page:before{content:url(images/page.png) "\00a0"}#subpages .folder:before{content:url(images/folder.png) "\00a0"}#subpages .file-type-7z:before{content:url(images/filetypes/7z.png) "\00a0"}#subpages .file-type-bz2:before{content:url(images/filetypes/bz2.png) "\00a0"}#subpages .file-type-doc:before{content:url(images/filetypes/doc.png) "\00a0"}#subpages .file-type-flac:before{content:url(images/filetypes/flac.png) "\00a0"}#subpages .file-type-gz:before{content:url(images/filetypes/gz.png) "\00a0"}#subpages .file-type-html:before{content:url(images/filetypes/html.png) "\00a0"}#subpages .file-type-java:before{content:url(images/filetypes/java.png) "\00a0"}#subpages .file-type-jpg:before{content:url(images/filetypes/jpg.png) "\00a0"}#subpages .file-type-midi:before{content:url(images/filetypes/midi.png) "\00a0"}#subpages .file-type-mp3:before{content:url(images/filetypes/mp3.png) "\00a0"}#subpages .file-type-ogg:before{content:url(images/filetypes/ogg.png) "\00a0"}#subpages .file-type-pdf:before{content:url(images/filetypes/pdf.png) "\00a0"}#subpages .file-type-php:before{content:url(images/filetypes/php.png) "\00a0"}#subpages .file-type-png:before{content:url(images/filetypes/png.png) "\00a0"}#subpages .file-type-ppt:before{content:url(images/filetypes/ppt.png) "\00a0"}#subpages .file-type-psd:before{content:url(images/filetypes/psd.png) "\00a0"}#subpages .file-type-rar:before{content:url(images/filetypes/rar.png) "\00a0"}#subpages .file-type-rb:before{content:url(images/filetypes/rb.png) "\00a0"}#subpages .file-type-sh:before{content:url(images/filetypes/sh.png) "\00a0"}#subpages .file-type-tar:before{content:url(images/filetypes/tar.png) "\00a0"}#subpages .file-type-txt:before{content:url(images/filetypes/txt.png) "\00a0"}#subpages .file-type-wma:before{content:url(images/filetypes/wma.png) "\00a0"}#subpages .file-type-xls:before{content:url(images/filetypes/xls.png) "\00a0"}#subpages .file-type-zip:before{content:url(images/filetypes/zip.png) "\00a0"}.info{color:#333}.warn{color:#a50}.error{color:#a00}.ref{vertical-align:super;font-size:80%}button{border-radius:4px;-webkit-border-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #fff;float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;color:#333;white-space:nowrap}button:active:not([disabled]),button.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}button.loading{background:url(images/loading.gif) repeat #d4e4ff}button[disabled]{color:#999}form{display:inline}form select,form textarea,form input{float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;background:#fff;color:#333}form select:focus,form textarea:focus,form input:focus{border-style:dotted}form label{float:left;margin:0;padding:0.4em 0.5em 0.4em 0;border:none;background:none;color:#333}form label.unsaved{font-style:italic}form .fieldset label{width:12em;text-align:right}form .indent{margin-left:12.5em}form .indent label{width:auto}form input[type=text],form input[type=password]{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;width:20em}form select{width:20em}form textarea{width:100%;font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;font-size:100%}form input[type=image],form input[type=image]:focus,form input[type=checkbox]{border:none;background:none}form input[type=hidden]{display:none}form br{clear:left}.flash{margin:0.5em 0;border:1px solid #d33;list-style-type:none;padding:0.5em;background:#fdd}table input{margin:0}.box,.fieldset,.tab{border-radius:4px;-webkit-border-radius:4px;box-shadow:2px 2px 8px #bbb;-webkit-box-shadow:2px 2px 8px #bbb;clear:both;display:block;border:1px solid #bbb;padding:0.5em 1em;margin:1em 0;overflow:auto}.box h1,.box h2,.box h3,.box h4,.box h5,.box h6,.fieldset h1,.fieldset h2,.fieldset h3,.fieldset h4,.fieldset h5,.fieldset h6,.tab h1,.tab h2,.tab h3,.tab h4,.tab h5,.tab h6{margin:0.2em 0}.js .tabs{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;margin:0 0 1px 0;height:1.5em;width:100%;z-index:100;position:relative}.js .tabs li{float:left}.js .tabs>li{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #d4e4ff;float:left;padding:0;margin:0 4px 0 0;height:1.5em;line-height:1.5em;border:1px solid #bbb}.js .tabs>li.selected>a{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:#fff;border-bottom:1px solid white}.js .tabs>li>a{display:block;text-decoration:none;white-space:nowrap;padding:0 0.8em;color:#333}.js .tabs>li>a:hover,.js .tabs>li>a:active,.js .tabs>li>a:focus{text-shadow:#333333 1px 1px 2px}.js .tab{-webkit-border-top-left-radius:0px;border-top-left-radius:0px}.no-js .tabs{display:none}.hidden{display:none !important}.toc .toc1{font-weight:bold}.toc .toc1>ol{margin-bottom:1em}.toc .toc1 .toc2{font-weight:normal}a.absent{color:#A55}.archive #header{background:url(images/bg/header_gray.jpg) #333}.error_page{padding-left:120px;min-height:400px;background:url(images/bug.png) top left no-repeat}.not_found_page{padding-left:120px;min-height:400px;background:url(images/not_found.png) top left no-repeat}* html #container{width:100%;padding:0;background:transparent;border-bottom:1px solid #bbb}* html #sidebar{margin:0;border-right:1px solid #bbb;border-bottom:1px solid #bbb}* html #content{width:70%;background:transparent}* html #footer{background:transparent;margin-top:0;padding-top:0}*:first-child+html #container{padding-right:7.1em}*:first-child+html #menu ul li li{width:8em}
|
1
|
+
@media screen{.patch{width:100%;border:1px solid #BBB;border-collapse:collapse;border-spacing:0}.patch tr td{padding:0.5em;border-top:1px solid #BBB;font-family:"Bitstream Vera Sans Mono", monospace}.patch tr td pre{border:0px none;margin:0;padding:0}.patch tr td ins{background:#d4ffd4;text-decoration:none}.patch tr td del{color:#555555;text-decoration:line-through}.patch tr th{font-variant:normal;padding:0.2em 0.5em;border:1px solid #BBB}.patch tr.new th{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch tr.delete th{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch tr.move th{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch tr.edit th{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.patch-summary{width:100%}.patch-summary .ins,.patch-summary .del{width:1em}.patch-summary .ins{color:#5A5}.patch-summary .del{color:#A55}.patch-summary .new{background:#d4ffd4}.patch-summary .new .name{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .delete{background:#ffd4d4}.patch-summary .delete .name{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .move{background:#ffc}.patch-summary .move .name{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .edit{background:#fff}.patch-summary .edit .name{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.ui-autocomplete{position:absolute;cursor:default;list-style:none;padding:2px;margin:0;display:block;float:left;background:#FFF;border:1px solid #BBB}.ui-autocomplete a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.2em;color:#333}.ui-autocomplete .ui-state-hover{background:#DDD}.ui-autocomplete-input{margin-right:0}.ui-combo-button{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;border-left:0px none;margin-left:0;padding:0}.ui-combo-button:before{content:'\25BE'}.ui-helper-hidden-accessible{display:none}#header{background:url(images/bg/header.jpg) #153b7a;padding-left:0.5em;clear:both;height:3em}#header h1{margin:0;padding:0;border:0;outline:0;font-size:200%;font-weight:bold;float:left}#header h1 a,#header h1 a:visited,#header h1 a:active,#header h1 a:hover{color:#eeeeee}#info{float:right;background:#fff;padding:0.3em;margin:0.65em 0.5em 0 0;opacity:0.8}#search{opacity:0.8;float:right;border:none}#search input{margin:0.65em 0.5em 0 0;width:10em;padding:0.2em;padding-left:20px;background:#fff url(images/search.png) no-repeat 0.2em 0.2em}html,body{height:100%}#container{min-height:520px;position:relative;display:block;overflow:hidden;padding-right:7em;padding-left:156px;background:url(images/bg/container.png) top left repeat-y;z-index:10}#content{position:relative;float:left;width:100%;padding:2.5em 3.5em;background:url(images/bg/content.png) top left repeat-x}#sidebar{background:#e5efff;position:relative;width:156px;float:left;padding-bottom:3.5em;margin-left:-156px}#sidebar h1,#sidebar h2,#sidebar h3,#sidebar h4,#sidebar h5,#sidebar h6{font-size:140%;background:white;font-weight:normal;line-height:1.2em;margin:1em 0 0 0;padding:0 0.2em;border-top:1px solid #95bbff;border-bottom:1px solid #95bbff;display:block}#sidebar ul{margin:0;padding:0;border:0;outline:0;list-style:none}#sidebar ul li{margin:0}#sidebar ul li a{padding:0 5px;display:block}#sidebar ul ul a{padding:0 20px}#sidebar ul ul ul a{padding:0 35px}#footer{clear:both;position:relative;color:#555;font-size:90%;background:url(images/bg/footer.png) top left repeat-x;margin-top:-10px;padding:2em;text-align:right;z-index:1 !important}#footer .powered_by{margin-top:1em;color:#aaaaaa;font-size:90%}#item-actions-edit>a:before{content:url(images/actions/edit.png) "\00a0"}#item-actions-history>a:before{content:url(images/actions/history.png) "\00a0"}#item-actions-edit-new>a:before{content:url(images/actions/new.png) "\00a0"}#item-actions-edit-delete>a:before{content:url(images/actions/delete.png) "\00a0"}#item-actions-edit-move>a:before{content:url(images/actions/move.png) "\00a0"}#menu{background:#fff;height:1.6em;line-height:1.6em;border-top:1px solid #bbb;border-bottom:1px solid #bbb}#menu ul{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;height:1.6em}#menu ul li{float:left}#menu ul#menu-actions{float:right}#menu ul#menu-actions li{border-left:1px solid #bbb;border-right:none}#menu ul#menu-actions .selected a:before{content:"\2022\00a0"}#menu ul#menu-actions .download{background:#e5efff}#menu ul#menu-actions .download a:after{content:"\00a0\2197"}#menu ul li{margin:0;padding:0;border:0;outline:0;display:block;float:left;height:1.6em;line-height:1.6em;border-right:1px solid #bbb;color:#333}#menu ul li a{display:block;text-decoration:none;white-space:nowrap;padding:0 1em;height:1.6em;color:#333;cursor:pointer}#menu ul li a:hover,#menu ul li a:focus,#menu ul li a:active{text-shadow:#333333 1px 1px 2px}#menu ul li ul{display:none;z-index:99;position:absolute;border-top:1px solid #bbb;margin-left:-1px}#menu ul li ul li{background:#fff;clear:both;border:1px solid #bbb !important;border-top:none !important;width:100%}#menu ul li:hover>ul{display:block}#menu .breadcrumbs{margin-right:1em}#menu .breadcrumbs>li{border:none}#menu .breadcrumbs>li a{padding:0 0.3em}#menu .breadcrumbs>li:first-child a{padding-left:1em;text-indent:-999px;display:block;width:16px;background:url(images/actions/home.png) no-repeat 1em 0.1em}#menu .breadcrumbs>li:last-child{border-right:1px solid #bbb}#menu .breadcrumbs>li:last-child a{padding-right:1em}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}*:focus{outline:0}body{line-height:1em;color:black;background:white}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0;vertical-align:middle}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:"" ""}q:before,q:after,blockquote:before,blockquote:after{content:""}img a{border:none}body{color:#111111;background:white;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:10pt;line-height:1.2em}h1{font-size:185%}h2{font-size:170%}h3{font-size:155%}h4{font-size:140%}h5{font-size:125%}h6{font-size:110%}h1,h2,h3,h4,h5,h6{font-family:"Book Antiqua",Palatino,FreeSerif,serif;color:#153b7a;margin:1em 0 0.5em 0;line-height:1.2em}h1{margin-top:0}strong{font-weight:bold}em{font-style:italic}ul,ol,p{margin:0.8em 0 0.8em 0}ul,ol ul,ol{margin:0}ul{list-style-type:disc}ol{list-style-type:decimal}ul,ol{list-style-position:outside;padding-left:1.5em}ul.pagination{height:3em}ul.button-bar,ul.pagination{list-style-type:none;margin:0;display:block;padding:0;width:100%}ul.button-bar li,ul.pagination li{float:left;padding:0;margin:0}ul.button-bar li a,ul.button-bar li span,ul.pagination li a,ul.pagination li span{display:block;background:url(images/bg/button.png) repeat-x left bottom transparent;border:1px solid #bbb;border-left:0px none;color:#333;padding:0em 0.5em;line-height:1.5em}ul.button-bar li a:active,ul.button-bar li a.current,ul.button-bar li a.loading,ul.button-bar li span:active,ul.button-bar li span.current,ul.button-bar li span.loading,ul.pagination li a:active,ul.pagination li a.current,ul.pagination li a.loading,ul.pagination li span:active,ul.pagination li span.current,ul.pagination li span.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}ul.button-bar li a.loading,ul.button-bar li span.loading,ul.pagination li a.loading,ul.pagination li span.loading{background:#d4e4ff url(images/loading.gif) repeat}ul.button-bar li a.ellipsis:before,ul.button-bar li span.ellipsis:before,ul.pagination li a.ellipsis:before,ul.pagination li span.ellipsis:before{content:'\22EF'}ul.button-bar li a.disabled,ul.button-bar li span.disabled,ul.pagination li a.disabled,ul.pagination li span.disabled{color:#bbb}ul.button-bar li:first-child a,ul.button-bar li:first-child span,ul.pagination li:first-child a,ul.pagination li:first-child span{border-left:1px solid #bbb;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}ul.button-bar li:last-child a,ul.button-bar li:last-child span,ul.pagination li:last-child a,ul.pagination li:last-child span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}dt{font-weight:bold;text-decoration:underline}dd{margin:0;padding:0 0 0.5em 0}table{border-collapse:separate;border-spacing:0px;background:#bbb;padding:1px;margin:0 0 2em 0}table td,table th{border-top:1px solid #E5E5E5;padding:0.2em 0.5em}table td.link,table th.link{padding:0}table td.link a,table th.link a{margin:0;padding:0.2em 0.5em;display:block}table tr{background:#fff}table tr:first-child td{border-top:0px none}table thead tr{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}table thead tr th{border-bottom:1px solid #bbb;border-top:0px none}a,a:visited{color:#153b7a;text-decoration:none}a.img{background:transparent}span.img{border:1px solid #bbb;float:right;text-align:center;color:black;background:#fff;padding:0.2em}span.img img{display:block}.editsection{border-radius:4px;-webkit-border-radius:4px;border:1px solid #bbb;display:block;background:url(images/bg/button.png) repeat-x left bottom #fff;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:9pt;line-height:9pt;margin-top:2px;padding:2px;color:#333;float:right;font-variant:normal}.editsection:visited{color:#333}sub{vertical-align:text-bottom;font-size:75%}sup{vertical-align:text-top;font-size:75%}img{vertical-align:middle}hr{background:#bbb;border:none;height:1px}.version,tt,pre,code,kbd{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace}pre{border:1px solid #bbb;padding:0.2em;min-width:60%;white-space:pre-wrap;display:block}#history .compare{padding:0;width:1em}#history .compare button{margin:1px;display:inline;font-size:small}#history .compare input{display:inline;margin:0 3px}table.full,#history,#subpages{width:100%}table.full td,table.full th,#history td,#history th,#subpages td,#subpages th{white-space:nowrap}#subpages .actions{width:80px;padding:0px}#subpages .action-edit{text-indent:-999px;background:url(images/actions/edit.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .action-history{text-indent:-999px;background:url(images/actions/history.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .action-delete{text-indent:-999px;background:url(images/actions/delete.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .action-move{text-indent:-999px;background:url(images/actions/move.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages .page:before{content:url(images/page.png) "\00a0"}#subpages .folder:before{content:url(images/folder.png) "\00a0"}#subpages .file-type-7z:before{content:url(images/filetypes/7z.png) "\00a0"}#subpages .file-type-bz2:before{content:url(images/filetypes/bz2.png) "\00a0"}#subpages .file-type-doc:before{content:url(images/filetypes/doc.png) "\00a0"}#subpages .file-type-flac:before{content:url(images/filetypes/flac.png) "\00a0"}#subpages .file-type-gz:before{content:url(images/filetypes/gz.png) "\00a0"}#subpages .file-type-html:before{content:url(images/filetypes/html.png) "\00a0"}#subpages .file-type-java:before{content:url(images/filetypes/java.png) "\00a0"}#subpages .file-type-jpg:before{content:url(images/filetypes/jpg.png) "\00a0"}#subpages .file-type-midi:before{content:url(images/filetypes/midi.png) "\00a0"}#subpages .file-type-mp3:before{content:url(images/filetypes/mp3.png) "\00a0"}#subpages .file-type-ogg:before{content:url(images/filetypes/ogg.png) "\00a0"}#subpages .file-type-pdf:before{content:url(images/filetypes/pdf.png) "\00a0"}#subpages .file-type-php:before{content:url(images/filetypes/php.png) "\00a0"}#subpages .file-type-png:before{content:url(images/filetypes/png.png) "\00a0"}#subpages .file-type-ppt:before{content:url(images/filetypes/ppt.png) "\00a0"}#subpages .file-type-psd:before{content:url(images/filetypes/psd.png) "\00a0"}#subpages .file-type-rar:before{content:url(images/filetypes/rar.png) "\00a0"}#subpages .file-type-rb:before{content:url(images/filetypes/rb.png) "\00a0"}#subpages .file-type-sh:before{content:url(images/filetypes/sh.png) "\00a0"}#subpages .file-type-tar:before{content:url(images/filetypes/tar.png) "\00a0"}#subpages .file-type-txt:before{content:url(images/filetypes/txt.png) "\00a0"}#subpages .file-type-wma:before{content:url(images/filetypes/wma.png) "\00a0"}#subpages .file-type-xls:before{content:url(images/filetypes/xls.png) "\00a0"}#subpages .file-type-zip:before{content:url(images/filetypes/zip.png) "\00a0"}.info{color:#333}.warn{color:#a50}.error{color:#a00}.ref{vertical-align:super;font-size:80%}button{border-radius:4px;-webkit-border-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #fff;float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;color:#333;white-space:nowrap}button:active:not([disabled]),button.loading{background:url(images/bg/button.png) repeat-x left bottom #d4e4ff}button.loading{background:url(images/loading.gif) repeat #d4e4ff}button[disabled]{color:#999}form{display:inline}form select,form textarea,form input{float:left;margin:0.3em 0.5em 0.3em 0;padding:2px;border:1px solid #bbb;background:#fff;color:#333}form select:focus,form textarea:focus,form input:focus{border-style:dotted}form label{float:left;margin:0;padding:0.4em 0.5em 0.4em 0;border:none;background:none;color:#333}form label.unsaved{font-style:italic}form .fieldset label{width:12em;text-align:right}form .indent{margin-left:12.5em}form .indent label{width:auto}form input[type=text],form input[type=password]{font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;width:20em}form select{width:20em}form textarea{width:100%;font-family:"Andale Mono","Bitstream Vera Sans Mono",monospace;font-size:100%}form input[type=image],form input[type=image]:focus,form input[type=checkbox]{border:none;background:none}form input[type=hidden]{display:none}form br{clear:left}.flash{margin:0.5em 0;border:1px solid #d33;list-style-type:none;padding:0.5em;background:#fdd}table input{margin:0}.box,.fieldset,.tab{border-radius:4px;-webkit-border-radius:4px;box-shadow:2px 2px 8px #bbb;-webkit-box-shadow:2px 2px 8px #bbb;clear:both;display:block;border:1px solid #bbb;padding:0.5em 1em;margin:1em 0;overflow:auto}.box h1,.box h2,.box h3,.box h4,.box h5,.box h6,.fieldset h1,.fieldset h2,.fieldset h3,.fieldset h4,.fieldset h5,.fieldset h6,.tab h1,.tab h2,.tab h3,.tab h4,.tab h5,.tab h6{margin:0.2em 0}.js .tabs{margin:0;padding:0;border:0;outline:0;list-style-type:none;margin-left:0px;display:block;float:left;margin:0 0 1px 0;height:1.5em;width:100%;z-index:100;position:relative}.js .tabs li{float:left}.js .tabs>li{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:url(images/bg/button.png) repeat-x left bottom #d4e4ff;float:left;padding:0;margin:0 4px 0 0;height:1.5em;line-height:1.5em;border:1px solid #bbb}.js .tabs>li.selected>a{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;background:#fff;border-bottom:1px solid white}.js .tabs>li>a{display:block;text-decoration:none;white-space:nowrap;padding:0 0.8em;color:#333}.js .tabs>li>a:hover,.js .tabs>li>a:active,.js .tabs>li>a:focus{text-shadow:#333333 1px 1px 2px}.js .tab{-webkit-border-top-left-radius:0px;border-top-left-radius:0px}.no-js .tabs{display:none}.hidden{display:none !important}.toc .toc1{font-weight:bold}.toc .toc1>ol{margin-bottom:1em}.toc .toc1 .toc2{font-weight:normal}a.absent{color:#A55}.archive #header{background:url(images/bg/header_gray.jpg) #333}.error_page{padding-left:120px;min-height:400px;background:url(images/bug.png) top left no-repeat}.not_found_page{padding-left:120px;min-height:400px;background:url(images/not_found.png) top left no-repeat}* html #container{width:100%;padding:0;background:transparent;border-bottom:1px solid #bbb}* html #sidebar{margin:0;border-right:1px solid #bbb;border-bottom:1px solid #bbb}* html #content{width:70%;background:transparent}* html #footer{background:transparent;margin-top:0;padding-top:0}*:first-child+html #container{padding-right:7.1em}*:first-child+html #menu ul li li{width:8em}
|
2
2
|
}@media print{.patch{width:100%;border:1px solid #BBB;border-collapse:collapse;border-spacing:0}.patch tr td{padding:0.5em;border-top:1px solid #BBB;font-family:"Bitstream Vera Sans Mono", monospace}.patch tr td pre{border:0px none;margin:0;padding:0}.patch tr td ins{background:#d4ffd4;text-decoration:none}.patch tr td del{color:#555555;text-decoration:line-through}.patch tr th{font-variant:normal;padding:0.2em 0.5em;border:1px solid #BBB}.patch tr.new th{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch tr.delete th{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch tr.move th{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch tr.edit th{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}.patch-summary{width:100%}.patch-summary .ins,.patch-summary .del{width:1em}.patch-summary .ins{color:#5A5}.patch-summary .del{color:#A55}.patch-summary .new{background:#d4ffd4}.patch-summary .new .name{background:url(images/actions/new.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .delete{background:#ffd4d4}.patch-summary .delete .name{background:url(images/actions/delete.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .move{background:#ffc}.patch-summary .move .name{background:url(images/actions/move.png) 2px 2px no-repeat;padding-left:20px}.patch-summary .edit{background:#fff}.patch-summary .edit .name{background:url(images/actions/edit.png) 2px 2px no-repeat;padding-left:20px}body{color:black;background:#fff;font-family:"URW Gothic L","DejaVu Sans",Verdana,sans-serif;font-size:10pt;line-height:1.2em}h1{font-size:185%}h2{font-size:170%}h3{font-size:155%}h4{font-size:140%}h5{font-size:125%}h6{font-size:110%}h1,h2,h3,h4,h5,h6{font-family:"Book Antiqua",Palatino,FreeSerif,serif;color:#153b7a;margin:2em 0 0.5em 0}ul,ol,p{margin:0.8em 0 0.8em 0}ul,ol ul,ol{margin:0}ul{list-style-type:disc}ol{list-style-type:decimal}ul,ol{list-style-position:outside;padding-left:1.5em}table{border-collapse:collapse;border-spacing:0;border:1px solid #bbb}table tr td,table tr th{border:1px solid #bbb;padding:0.2em 0.5em}table tr td.link,table tr th.link{padding:0}table tr td.link a,table tr th.link a{margin:0;padding:0.2em 0.5em;display:block}a,a:visited{color:#153b7a;text-decoration:none}a.img{background:transparent}div.img a{border:1px solid #bbb;float:right;text-align:center;color:black;background:#fff;padding:0.2em}div.img a img{display:block}img{vertical-align:middle}hr{background:#bbb;border:none;height:1px}#header,#sidebar,#menu,.editsection,.backref,.hidden,.noprint{display:none !important}#footer{display:block;margin-top:1em}.ref,.ref:visited,.ref:active,.ref:hover{vertical-align:super;font-size:80%;color:black}.date .ago{display:none !important}.date .full{display:inline !important}.toc{padding:0.5em 2em}.toc ul{margin:0}.toc .toc1{font-weight:bold}.toc .toc1 .toc2{font-weight:normal}
|
3
3
|
}
|
data/test/request_test.rb
CHANGED
@@ -20,7 +20,6 @@ describe 'requests' do
|
|
20
20
|
config_path: File.join(@app_path, 'config'),
|
21
21
|
initializers_path: File.join(@app_path, 'config', 'initializers'),
|
22
22
|
views_path: File.join(@app_path, 'views'),
|
23
|
-
themes_path: File.join(@app_path, 'static', 'themes'),
|
24
23
|
theme: 'atlantis',
|
25
24
|
cache_store: {
|
26
25
|
type: 'file',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: olelo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,66 +9,77 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement: &
|
15
|
+
name: RedCloth
|
16
|
+
requirement: &13186180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 4.2.9
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *13186180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement: &
|
26
|
+
name: creole
|
27
|
+
requirement: &13185500 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 0.5.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *13185500
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: &
|
37
|
+
name: evaluator
|
38
|
+
requirement: &13184880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.
|
43
|
+
version: 0.1.6
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *13184880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
48
|
+
name: mimemagic
|
49
|
+
requirement: &13184340 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.2.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *13184340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement: &
|
59
|
+
name: multi_json
|
60
|
+
requirement: &13183520 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
65
|
+
version: 1.3.7
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *13183520
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: nokogiri
|
71
|
+
requirement: &13182660 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.5.5
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *13182660
|
69
80
|
- !ruby/object:Gem::Dependency
|
70
81
|
name: rack
|
71
|
-
requirement: &
|
82
|
+
requirement: &13181580 !ruby/object:Gem::Requirement
|
72
83
|
none: false
|
73
84
|
requirements:
|
74
85
|
- - ~>
|
@@ -76,10 +87,10 @@ dependencies:
|
|
76
87
|
version: 1.4.1
|
77
88
|
type: :runtime
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
90
|
+
version_requirements: *13181580
|
80
91
|
- !ruby/object:Gem::Dependency
|
81
92
|
name: redcarpet
|
82
|
-
requirement: &
|
93
|
+
requirement: &13180940 !ruby/object:Gem::Requirement
|
83
94
|
none: false
|
84
95
|
requirements:
|
85
96
|
- - ~>
|
@@ -87,10 +98,10 @@ dependencies:
|
|
87
98
|
version: 2.2.2
|
88
99
|
type: :runtime
|
89
100
|
prerelease: false
|
90
|
-
version_requirements: *
|
101
|
+
version_requirements: *13180940
|
91
102
|
- !ruby/object:Gem::Dependency
|
92
103
|
name: rugged
|
93
|
-
requirement: &
|
104
|
+
requirement: &13180280 !ruby/object:Gem::Requirement
|
94
105
|
none: false
|
95
106
|
requirements:
|
96
107
|
- - ~>
|
@@ -98,62 +109,62 @@ dependencies:
|
|
98
109
|
version: 0.17.0.b7
|
99
110
|
type: :runtime
|
100
111
|
prerelease: false
|
101
|
-
version_requirements: *
|
112
|
+
version_requirements: *13180280
|
102
113
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement: &
|
114
|
+
name: slim
|
115
|
+
requirement: &13179700 !ruby/object:Gem::Requirement
|
105
116
|
none: false
|
106
117
|
requirements:
|
107
118
|
- - ~>
|
108
119
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
120
|
+
version: 1.3.3
|
110
121
|
type: :runtime
|
111
122
|
prerelease: false
|
112
|
-
version_requirements: *
|
123
|
+
version_requirements: *13179700
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
115
|
-
requirement: &
|
125
|
+
name: bacon
|
126
|
+
requirement: &13179060 !ruby/object:Gem::Requirement
|
116
127
|
none: false
|
117
128
|
requirements:
|
118
|
-
- -
|
129
|
+
- - ~>
|
119
130
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
131
|
+
version: 1.1.0
|
121
132
|
type: :development
|
122
133
|
prerelease: false
|
123
|
-
version_requirements: *
|
134
|
+
version_requirements: *13179060
|
124
135
|
- !ruby/object:Gem::Dependency
|
125
|
-
name:
|
126
|
-
requirement: &
|
136
|
+
name: rack-test
|
137
|
+
requirement: &13178400 !ruby/object:Gem::Requirement
|
127
138
|
none: false
|
128
139
|
requirements:
|
129
140
|
- - ~>
|
130
141
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
142
|
+
version: 0.6.2
|
132
143
|
type: :development
|
133
144
|
prerelease: false
|
134
|
-
version_requirements: *
|
145
|
+
version_requirements: *13178400
|
135
146
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
137
|
-
requirement: &
|
147
|
+
name: rake
|
148
|
+
requirement: &13249720 !ruby/object:Gem::Requirement
|
138
149
|
none: false
|
139
150
|
requirements:
|
140
|
-
- -
|
151
|
+
- - ! '>='
|
141
152
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
153
|
+
version: 0.8.7
|
143
154
|
type: :development
|
144
155
|
prerelease: false
|
145
|
-
version_requirements: *
|
156
|
+
version_requirements: *13249720
|
146
157
|
- !ruby/object:Gem::Dependency
|
147
|
-
name:
|
148
|
-
requirement: &
|
158
|
+
name: sass
|
159
|
+
requirement: &13248580 !ruby/object:Gem::Requirement
|
149
160
|
none: false
|
150
161
|
requirements:
|
151
162
|
- - ~>
|
152
163
|
- !ruby/object:Gem::Version
|
153
|
-
version:
|
164
|
+
version: 3.2.3
|
154
165
|
type: :development
|
155
166
|
prerelease: false
|
156
|
-
version_requirements: *
|
167
|
+
version_requirements: *13248580
|
157
168
|
description: Olelo is a git-based wiki which supports many markup languages, tags,
|
158
169
|
embedded TeX and much more. It can be extended through plugins.
|
159
170
|
email:
|
@@ -191,6 +202,7 @@ files:
|
|
191
202
|
- lib/olelo/menu.rb
|
192
203
|
- lib/olelo/middleware/degrade_mime_type.rb
|
193
204
|
- lib/olelo/middleware/force_encoding.rb
|
205
|
+
- lib/olelo/middleware/static_cache.rb
|
194
206
|
- lib/olelo/middleware/ua_header.rb
|
195
207
|
- lib/olelo/page.rb
|
196
208
|
- lib/olelo/patch.rb
|
@@ -213,22 +225,23 @@ files:
|
|
213
225
|
- lib/olelo/views/show.slim
|
214
226
|
- lib/olelo/virtualfs.rb
|
215
227
|
- lib/rack/relative_redirect.rb
|
216
|
-
- lib/rack/static_cache.rb
|
217
228
|
- olelo.gemspec
|
218
|
-
- plugins/aspects/changelog.rb
|
219
229
|
- plugins/aspects/documentbrowser.rb
|
220
230
|
- plugins/aspects/download.rb
|
231
|
+
- plugins/aspects/feed.rb
|
221
232
|
- plugins/aspects/gallery/gallery.css
|
222
233
|
- plugins/aspects/gallery/gallery.scss
|
223
234
|
- plugins/aspects/gallery/main.rb
|
224
235
|
- plugins/aspects/highlight.rb
|
225
236
|
- plugins/aspects/image.rb
|
226
237
|
- plugins/aspects/imageinfo.rb
|
238
|
+
- plugins/aspects/locale.yml
|
227
239
|
- plugins/aspects/main.rb
|
228
240
|
- plugins/aspects/pageinfo.rb
|
229
241
|
- plugins/aspects/source.rb
|
230
242
|
- plugins/aspects/subpages.rb
|
231
243
|
- plugins/aspects/text.rb
|
244
|
+
- plugins/authentication/locale.yml
|
232
245
|
- plugins/authentication/portal.rb
|
233
246
|
- plugins/authentication/stack.rb
|
234
247
|
- plugins/authentication/yamlfile.rb
|
@@ -305,7 +318,6 @@ files:
|
|
305
318
|
- plugins/misc/fancybox/script/01-jquery.easing.js
|
306
319
|
- plugins/misc/fancybox/script/02-jquery.fancybox.js
|
307
320
|
- plugins/misc/fancybox/script/init.js
|
308
|
-
- plugins/misc/fragment_cache.rb
|
309
321
|
- plugins/misc/system.rb
|
310
322
|
- plugins/misc/variables.rb
|
311
323
|
- plugins/misc/webdav.rb
|