olelo 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Rakefile +44 -10
- data/config.ru +4 -1
- data/lib/olelo/application.rb +1 -54
- data/lib/olelo/helper.rb +12 -7
- data/lib/olelo/initializer.rb +10 -13
- data/lib/olelo/locale.rb +7 -12
- data/lib/olelo/locale.yml +1 -36
- data/lib/olelo/plugin.rb +0 -12
- data/lib/olelo/routing.rb +1 -1
- data/lib/olelo/templates.rb +2 -3
- data/lib/olelo/util.rb +1 -1
- data/lib/olelo/version.rb +1 -1
- data/{views → lib/olelo/views}/delete.slim +0 -0
- data/{views → lib/olelo/views}/deleted.slim +0 -0
- data/{views → lib/olelo/views}/edit.slim +3 -3
- data/{views → lib/olelo/views}/error.slim +0 -0
- data/{views → lib/olelo/views}/layout.slim +1 -1
- data/{views → lib/olelo/views}/login.slim +1 -1
- data/{views → lib/olelo/views}/move.slim +0 -0
- data/{views → lib/olelo/views}/not_found.slim +0 -0
- data/{views → lib/olelo/views}/profile.slim +0 -0
- data/lib/olelo/views/show.slim +8 -0
- data/lib/olelo/virtualfs.rb +5 -29
- data/plugins/aspects/changelog.rb +3 -5
- data/plugins/aspects/documentbrowser.rb +24 -2
- data/plugins/aspects/download.rb +12 -0
- data/plugins/aspects/gallery/main.rb +9 -0
- data/plugins/aspects/highlight.rb +11 -0
- data/plugins/aspects/image.rb +12 -0
- data/plugins/aspects/imageinfo.rb +36 -2
- data/plugins/aspects/main.rb +16 -1
- data/plugins/aspects/pageinfo.rb +20 -2
- data/plugins/aspects/source.rb +12 -0
- data/plugins/aspects/subpages.rb +17 -1
- data/plugins/aspects/text.rb +12 -0
- data/plugins/blog/main.rb +4 -4
- data/plugins/editor/preview.rb +16 -0
- data/plugins/editor/recaptcha.rb +19 -0
- data/plugins/filters/editsection.rb +19 -0
- data/plugins/filters/locale.yml +11 -16
- data/plugins/filters/toc.rb +12 -0
- data/{views → plugins/history}/changes.slim +0 -0
- data/{views → plugins/history}/compare.slim +2 -2
- data/{views → plugins/history}/history.slim +1 -1
- data/plugins/history/locale.yml +40 -0
- data/plugins/history/main.rb +67 -0
- data/plugins/history/script.js +2 -0
- data/{static/script/12-olelo.historytable.js → plugins/history/script/00-historytable.js} +0 -0
- data/plugins/history/script/init.js +7 -0
- data/plugins/login/persistent.rb +11 -0
- data/plugins/repositories/git_grep.rb +19 -2
- data/plugins/repositories/gitrb_repository.rb +8 -0
- data/plugins/repositories/rugged_repository.rb +10 -0
- data/plugins/security/acl.rb +23 -0
- data/plugins/security/private_wiki.rb +11 -0
- data/plugins/utils/assets.rb +15 -21
- data/plugins/utils/store.rb +40 -19
- data/static/{images/favicon.png → favicon.png} +0 -0
- data/static/script.js +3 -5
- data/static/script/init.js +0 -1
- data/static/themes/atlantis/screen.scss +3 -3
- data/static/themes/atlantis/style.css +1 -1
- data/test/templates_test.rb +3 -11
- metadata +47 -49
- data/plugins/aspects/locale.yml +0 -87
- data/plugins/editor/locale.yml +0 -20
- data/plugins/login/locale.yml +0 -8
- data/plugins/repositories/locale.yml +0 -16
- data/plugins/security/locale.yml +0 -24
- data/views/show.slim +0 -8
@@ -227,6 +227,7 @@ class RuggedRepository < Repository
|
|
227
227
|
end
|
228
228
|
|
229
229
|
def delete(path)
|
230
|
+
check_path(path)
|
230
231
|
work_tree.delete(path)
|
231
232
|
work_tree.delete(path + CONTENT_EXT) if work_tree[path + CONTENT_EXT]
|
232
233
|
work_tree.delete(path + ATTRIBUTE_EXT) if work_tree[path + ATTRIBUTE_EXT]
|
@@ -239,6 +240,7 @@ class RuggedRepository < Repository
|
|
239
240
|
end
|
240
241
|
|
241
242
|
def path_etag(path, version)
|
243
|
+
check_path(path)
|
242
244
|
commit = @git.lookup(version.to_s)
|
243
245
|
raise 'Not a commit' unless Rugged::Commit === commit
|
244
246
|
if oid = oid_by_path(commit, path)
|
@@ -258,6 +260,8 @@ class RuggedRepository < Repository
|
|
258
260
|
end
|
259
261
|
|
260
262
|
def get_history(path, skip, limit)
|
263
|
+
check_path(path)
|
264
|
+
|
261
265
|
commits = []
|
262
266
|
walker = Rugged::Walker.new(@git)
|
263
267
|
walker.sorting(Rugged::SORT_TOPO)
|
@@ -276,6 +280,8 @@ class RuggedRepository < Repository
|
|
276
280
|
end
|
277
281
|
|
278
282
|
def get_path_version(path, version)
|
283
|
+
check_path(path)
|
284
|
+
|
279
285
|
version ||= @git.head.target
|
280
286
|
version = version.to_s
|
281
287
|
|
@@ -313,6 +319,7 @@ class RuggedRepository < Repository
|
|
313
319
|
end
|
314
320
|
|
315
321
|
def get_children(path, version)
|
322
|
+
check_path(path)
|
316
323
|
commit = @git.lookup(version.to_s)
|
317
324
|
raise 'Not a commit' unless Rugged::Commit === commit
|
318
325
|
object = object_by_path(commit, path)
|
@@ -322,6 +329,7 @@ class RuggedRepository < Repository
|
|
322
329
|
end
|
323
330
|
|
324
331
|
def get_content(path, version)
|
332
|
+
check_path(path)
|
325
333
|
commit = @git.lookup(version.to_s)
|
326
334
|
raise 'Not a commit' unless Rugged::Commit === commit
|
327
335
|
object = object_by_path(commit, path)
|
@@ -330,6 +338,7 @@ class RuggedRepository < Repository
|
|
330
338
|
end
|
331
339
|
|
332
340
|
def get_attributes(path, version)
|
341
|
+
check_path(path)
|
333
342
|
commit = @git.lookup(version.to_s)
|
334
343
|
raise 'Not a commit' unless Rugged::Commit === commit
|
335
344
|
path += ATTRIBUTE_EXT
|
@@ -338,6 +347,7 @@ class RuggedRepository < Repository
|
|
338
347
|
end
|
339
348
|
|
340
349
|
def diff(path, from, to)
|
350
|
+
check_path(path)
|
341
351
|
commit_from = from && @git.rev_parse(from.to_s)
|
342
352
|
commit_to = @git.rev_parse(to.to_s)
|
343
353
|
raise 'Not a commit' unless (!commit_from || Rugged::Commit === commit_from) && Rugged::Commit === commit_to
|
data/plugins/security/acl.rb
CHANGED
@@ -55,3 +55,26 @@ class ::Olelo::Application
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
58
|
+
|
59
|
+
__END__
|
60
|
+
@@ locale.yml
|
61
|
+
cs_CZ:
|
62
|
+
attribute_acl_create: 'Vytvářet podstránky'
|
63
|
+
attribute_acl_delete: 'Mazat podstránky'
|
64
|
+
attribute_acl_write: 'Právo zápisu'
|
65
|
+
group_acl: 'Řízení přístupů (ACL)'
|
66
|
+
de:
|
67
|
+
attribute_acl_create: 'Unterseiten anlegen'
|
68
|
+
attribute_acl_delete: 'Unterseiten löschen'
|
69
|
+
attribute_acl_write: 'Schreibzugriff'
|
70
|
+
group_acl: 'Zugriffslisten'
|
71
|
+
en:
|
72
|
+
attribute_acl_create: 'Create subpages'
|
73
|
+
attribute_acl_delete: 'Delete subpages'
|
74
|
+
attribute_acl_write: 'Write access'
|
75
|
+
group_acl: 'Access control lists'
|
76
|
+
fr:
|
77
|
+
attribute_acl_create: "Créer sous-pages"
|
78
|
+
attribute_acl_delete: "Supprimer sous-pages"
|
79
|
+
attribute_acl_write: "Accès en écriture"
|
80
|
+
group_acl: "Liste de contrôle des accès"
|
@@ -22,3 +22,14 @@ class ::Olelo::Application
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
25
|
+
|
26
|
+
__END__
|
27
|
+
@@ locale.yml
|
28
|
+
cs_CZ:
|
29
|
+
login_first: 'Musíte se nejprve přihlásit'
|
30
|
+
de:
|
31
|
+
login_first: 'Sie müssen sich zuerst anmelden'
|
32
|
+
en:
|
33
|
+
login_first: 'You have to login first'
|
34
|
+
fr:
|
35
|
+
login_first: "Vous devez d'abord vous connecter"
|
data/plugins/utils/assets.rb
CHANGED
@@ -16,11 +16,11 @@ class ::Olelo::Application
|
|
16
16
|
css = Application.scripts['css']
|
17
17
|
result = ''
|
18
18
|
if css
|
19
|
-
path = build_path "_/assets/assets.css?#{css.first
|
19
|
+
path = build_path "_/assets/assets.css?#{css.first}"
|
20
20
|
result << %{<link rel="stylesheet" href="#{escape_html path}" type="text/css"/>}
|
21
21
|
end
|
22
22
|
if js
|
23
|
-
path = build_path "_/assets/assets.js?#{js.first
|
23
|
+
path = build_path "_/assets/assets.js?#{js.first}"
|
24
24
|
result << %{<script src="#{escape_html path}" type="text/javascript"></script>}
|
25
25
|
end
|
26
26
|
result
|
@@ -28,7 +28,7 @@ class ::Olelo::Application
|
|
28
28
|
|
29
29
|
get "/_/assets/assets.:type", type: 'js|css' do
|
30
30
|
if script = Application.scripts[params[:type]]
|
31
|
-
cache_control
|
31
|
+
cache_control max_age: :static, must_revalidate: false
|
32
32
|
response['Content-Type'] = MimeMagic.by_extension(params[:type]).to_s
|
33
33
|
response['Content-Length'] = script.last.bytesize.to_s
|
34
34
|
script.last
|
@@ -39,15 +39,16 @@ class ::Olelo::Application
|
|
39
39
|
|
40
40
|
get "/_/assets/:name", name: '.*' do
|
41
41
|
if asset = Application.assets[params[:name]]
|
42
|
-
|
42
|
+
fs, name = asset
|
43
|
+
if path = fs.real_path(name)
|
43
44
|
file = Rack::File.new(nil)
|
44
45
|
file.path = path
|
45
46
|
file.serving(env)
|
46
47
|
else
|
47
|
-
cache_control last_modified:
|
48
|
-
response['Content-Type'] = (MimeMagic.by_path(
|
49
|
-
response['Content-Length'] =
|
50
|
-
|
48
|
+
cache_control last_modified: fs.mtime(name), max_age: :static
|
49
|
+
response['Content-Type'] = (MimeMagic.by_path(name) || 'application/octet-stream').to_s
|
50
|
+
response['Content-Length'] = fs.size(name).to_s
|
51
|
+
fs.read(name)
|
51
52
|
end
|
52
53
|
else
|
53
54
|
:not_found
|
@@ -57,24 +58,17 @@ end
|
|
57
58
|
|
58
59
|
class ::Olelo::Plugin
|
59
60
|
def export_assets(*files)
|
60
|
-
virtual_fs.glob(*files) do |
|
61
|
-
Application.assets[
|
61
|
+
virtual_fs.glob(*files) do |fs, name|
|
62
|
+
Application.assets[path/name] = [fs, name]
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
65
66
|
def export_scripts(*files)
|
66
|
-
virtual_fs.glob(*files) do |
|
67
|
-
raise 'Invalid script type' if
|
67
|
+
virtual_fs.glob(*files) do |fs, name|
|
68
|
+
raise 'Invalid script type' if name !~ /\.(css|js)$/
|
68
69
|
scripts = Application.scripts[$1].to_a
|
69
|
-
|
70
|
-
|
71
|
-
end
|
72
|
-
|
73
|
-
def plugin_dir
|
74
|
-
if File.basename(file) == 'main.rb'
|
75
|
-
path
|
76
|
-
else
|
77
|
-
File.dirname(path)
|
70
|
+
code = "#{scripts[1]}/* #{path/name} */\n#{fs.read(name)}\n"
|
71
|
+
Application.scripts[$1] = [md5(code), code]
|
78
72
|
end
|
79
73
|
end
|
80
74
|
end
|
data/plugins/utils/store.rb
CHANGED
@@ -94,22 +94,6 @@ class Store
|
|
94
94
|
# Delegated store
|
95
95
|
Delegated = DelegateClass(Store)
|
96
96
|
|
97
|
-
# Synchronized store
|
98
|
-
def self.Synchronized(type)
|
99
|
-
klass = Class.new
|
100
|
-
klass.class_eval %{
|
101
|
-
def initialize(config)
|
102
|
-
@store = #{type.name}.new(config)
|
103
|
-
@lock = Mutex.new
|
104
|
-
end
|
105
|
-
|
106
|
-
def method_missing(*args)
|
107
|
-
@lock.synchronize { @store.send(*args) }
|
108
|
-
end
|
109
|
-
}
|
110
|
-
klass
|
111
|
-
end
|
112
|
-
|
113
97
|
# Memory based store (uses hash)
|
114
98
|
class Memory < Delegated
|
115
99
|
def initialize(config)
|
@@ -122,7 +106,7 @@ class Store
|
|
122
106
|
# Memcached client
|
123
107
|
class Memcached < Delegated
|
124
108
|
def initialize(config)
|
125
|
-
super(
|
109
|
+
super(Native.new(config))
|
126
110
|
rescue LoadError
|
127
111
|
super(Ruby.new(config))
|
128
112
|
end
|
@@ -218,7 +202,8 @@ class Store
|
|
218
202
|
def initialize(config)
|
219
203
|
require 'pstore'
|
220
204
|
FileUtils.mkpath(::File.dirname(config[:file]))
|
221
|
-
|
205
|
+
# Create a thread-safe pstore
|
206
|
+
@store = ::PStore.new(config[:file], true)
|
222
207
|
end
|
223
208
|
|
224
209
|
# @override
|
@@ -251,7 +236,43 @@ class Store
|
|
251
236
|
end
|
252
237
|
end
|
253
238
|
|
254
|
-
register :pstore,
|
239
|
+
register :pstore, PStore
|
240
|
+
|
241
|
+
# GDBM based store
|
242
|
+
class GDBM < Store
|
243
|
+
def initialize(config)
|
244
|
+
require 'gdbm'
|
245
|
+
FileUtils.mkpath(::File.dirname(config[:db]))
|
246
|
+
@db = ::GDBM.new(config[:db])
|
247
|
+
end
|
248
|
+
|
249
|
+
# @override
|
250
|
+
def key?(key)
|
251
|
+
@db.has_key?(key)
|
252
|
+
end
|
253
|
+
|
254
|
+
# @override
|
255
|
+
def [](key)
|
256
|
+
deserialize(@db[key])
|
257
|
+
end
|
258
|
+
|
259
|
+
# @override
|
260
|
+
def []=(key, value)
|
261
|
+
@db[key] = serialize(value)
|
262
|
+
end
|
263
|
+
|
264
|
+
# @override
|
265
|
+
def delete(key)
|
266
|
+
@db.delete(key)
|
267
|
+
end
|
268
|
+
|
269
|
+
# @override
|
270
|
+
def clear
|
271
|
+
@db.clear
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
register :gdbm, GDBM
|
255
276
|
|
256
277
|
# File based store
|
257
278
|
class File < Store
|
File without changes
|
data/static/script.js
CHANGED
@@ -294,12 +294,10 @@ o)})},_renderItemData:function(n,s){return this._renderItem(n,s).data("ui-autoco
|
|
294
294
|
arguments)},_keyEvent:function(n,s){if(!this.isMultiLine||this.menu.element.is(":visible")){this._move(n,s);s.preventDefault()}}});i.extend(i.ui.autocomplete,{escapeRegex:function(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(n,s){var z=RegExp(i.ui.autocomplete.escapeRegex(s),"i");return i.grep(n,function(r){return z.test(r.label||r.value||r)})}});i.widget("ui.autocomplete",i.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(n){return n+
|
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
|
-
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.
|
298
|
-
r=i("th button",this);r.click(function(){var o=v();i.storage.set("historyTable",o);location.href=location.pathname.replace("/history","/compare/"+o[o.length-1]+"..."+o[0])});i("td input",this).change(function(){v().length>1?r.removeAttr("disabled"):r.attr("disabled","disabled")}).change()}})(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='#"+
|
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='#"+
|
299
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");
|
300
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",
|
301
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",
|
302
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",
|
303
|
-
over_n_years_ago:"il y a plus de #{n} ans"}});i.fn.timeAgo=function(){this.each(function(){var n=i(this),s=n.data("epoch");s&&n.attr("title",n.text()).html(v(s))})}})(jQuery);(function(i){i.extend(i.fn,{underlineText:function(v){this.each(function(){var n=i(this),s,z;if(n.children().size()===0){s=n.text();z=s.toLowerCase().indexOf(v.toLowerCase());z>=0&&n.html(s.substr(0,z)+'<span style="text-decoration: underline">'+s.substr(z,v.length)+"</span>"+s.substr(z+v.length))}else n.children().underlineText(v)})},underlineAccessKey:function(){this.each(function(){var v=i(this).attr("accesskey");v&&i(this).underlineText(v)})}})})(jQuery);(function(i){i.widget("ui.combobox",{_create:function(){var v=this.element;v.autocomplete({delay:0,minLength:0,source:this.options.source}).click(function(){v.autocomplete("widget").is(":visible")?v.autocomplete("close"):v.autocomplete("search",this.value)});i('<button class="ui-combo-button"/>').attr("tabIndex",-1).insertAfter(v).click(function(n){n.preventDefault();if(v.autocomplete("widget").is(":visible"))v.autocomplete("close");else{v.autocomplete("search","");v.focus()}})}})})(jQuery);$(function(){function i(){$("#upload-path",this).each(function(){var v=this,n=v.value,s=v.value;if(s.length===0||s.match(/\/$/))$("#upload-file").change(function(){if(v.value==n){v.value=s+this.value;n=v.value}})});$("label, #menu, .tabhead, .pagination, .button-bar",this).disableSelection();$("
|
304
|
-
$("#content").
|
305
|
-
return false})});
|
302
|
+
over_n_years_ago:"il y a plus de #{n} ans"}});i.fn.timeAgo=function(){this.each(function(){var n=i(this),s=n.data("epoch");s&&n.attr("title",n.text()).html(v(s))})}})(jQuery);(function(i){i.extend(i.fn,{underlineText:function(v){this.each(function(){var n=i(this),s,z;if(n.children().size()===0){s=n.text();z=s.toLowerCase().indexOf(v.toLowerCase());z>=0&&n.html(s.substr(0,z)+'<span style="text-decoration: underline">'+s.substr(z,v.length)+"</span>"+s.substr(z+v.length))}else n.children().underlineText(v)})},underlineAccessKey:function(){this.each(function(){var v=i(this).attr("accesskey");v&&i(this).underlineText(v)})}})})(jQuery);(function(i){i.widget("ui.combobox",{_create:function(){var v=this.element;v.autocomplete({delay:0,minLength:0,source:this.options.source}).click(function(){v.autocomplete("widget").is(":visible")?v.autocomplete("close"):v.autocomplete("search",this.value)});i('<button class="ui-combo-button"/>').attr("tabIndex",-1).insertAfter(v).click(function(n){n.preventDefault();if(v.autocomplete("widget").is(":visible"))v.autocomplete("close");else{v.autocomplete("search","");v.focus()}})}})})(jQuery);$(function(){function i(){$("#upload-path",this).each(function(){var v=this,n=v.value,s=v.value;if(s.length===0||s.match(/\/$/))$("#upload-file").change(function(){if(v.value==n){v.value=s+this.value;n=v.value}})});$("label, #menu, .tabhead, .pagination, .button-bar",this).disableSelection();$(".date",this).timeAgo();$(".tabs",this).each(function(){$("> li",this).tabWidget()});$("*[accesskey]",this).underlineAccessKey()}$("html").removeClass("no-js").addClass("js");$("#content").pagination(".pagination a");
|
303
|
+
$("#content").bind("pageLoaded",i);i.apply($(document));$("button[data-target]").live("click",function(){var v=$(this),n=$(this.form);v.addClass("loading");$.ajax({type:n.attr("method")||"get",url:n.attr("action")||window.location.href,data:n.serialize()+"&"+v.attr("name")+"="+v.attr("value")+"&no_layout=1",success:function(s){$("#"+v.data("target")).html(s);v.removeClass("loading");window.MathJax&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,v.data("target")])}});return false})});
|
data/static/script/init.js
CHANGED
@@ -220,7 +220,7 @@ pre {
|
|
220
220
|
display: block;
|
221
221
|
}
|
222
222
|
|
223
|
-
#history
|
223
|
+
#history .compare {
|
224
224
|
padding: 0;
|
225
225
|
width: 1em;
|
226
226
|
button {
|
@@ -234,7 +234,7 @@ pre {
|
|
234
234
|
}
|
235
235
|
}
|
236
236
|
|
237
|
-
table.full, #history
|
237
|
+
table.full, #history, #subpages {
|
238
238
|
width: 100%;
|
239
239
|
td, th {
|
240
240
|
white-space: nowrap;
|
@@ -258,7 +258,7 @@ table.full, #history-table, #subpages-table {
|
|
258
258
|
}
|
259
259
|
}
|
260
260
|
|
261
|
-
#subpages
|
261
|
+
#subpages {
|
262
262
|
.actions {
|
263
263
|
width: 80px;
|
264
264
|
padding: 0px;
|
@@ -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-table .compare{padding:0;width:1em}#history-table .compare button{margin:1px;display:inline;font-size:small}#history-table .compare input{display:inline;margin:0 3px}table.full,#history-table,#subpages-table{width:100%}table.full td,table.full th,#history-table td,#history-table th,#subpages-table td,#subpages-table th{white-space:nowrap}#subpages-table .actions{width:80px;padding:0px}#subpages-table .action-edit{text-indent:-999px;background:url(images/actions/edit.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-history{text-indent:-999px;background:url(images/actions/history.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-delete{text-indent:-999px;background:url(images/actions/delete.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .action-move{text-indent:-999px;background:url(images/actions/move.png) no-repeat top left;float:left;width:16px;height:16px;overflow:hidden}#subpages-table .page:before{content:url(images/page.png) "\00a0"}#subpages-table .folder:before{content:url(images/folder.png) "\00a0"}#subpages-table .file-type-7z:before{content:url(images/filetypes/7z.png) "\00a0"}#subpages-table .file-type-bz2:before{content:url(images/filetypes/bz2.png) "\00a0"}#subpages-table .file-type-doc:before{content:url(images/filetypes/doc.png) "\00a0"}#subpages-table .file-type-flac:before{content:url(images/filetypes/flac.png) "\00a0"}#subpages-table .file-type-gz:before{content:url(images/filetypes/gz.png) "\00a0"}#subpages-table .file-type-html:before{content:url(images/filetypes/html.png) "\00a0"}#subpages-table .file-type-java:before{content:url(images/filetypes/java.png) "\00a0"}#subpages-table .file-type-jpg:before{content:url(images/filetypes/jpg.png) "\00a0"}#subpages-table .file-type-midi:before{content:url(images/filetypes/midi.png) "\00a0"}#subpages-table .file-type-mp3:before{content:url(images/filetypes/mp3.png) "\00a0"}#subpages-table .file-type-ogg:before{content:url(images/filetypes/ogg.png) "\00a0"}#subpages-table .file-type-pdf:before{content:url(images/filetypes/pdf.png) "\00a0"}#subpages-table .file-type-php:before{content:url(images/filetypes/php.png) "\00a0"}#subpages-table .file-type-png:before{content:url(images/filetypes/png.png) "\00a0"}#subpages-table .file-type-ppt:before{content:url(images/filetypes/ppt.png) "\00a0"}#subpages-table .file-type-psd:before{content:url(images/filetypes/psd.png) "\00a0"}#subpages-table .file-type-rar:before{content:url(images/filetypes/rar.png) "\00a0"}#subpages-table .file-type-rb:before{content:url(images/filetypes/rb.png) "\00a0"}#subpages-table .file-type-sh:before{content:url(images/filetypes/sh.png) "\00a0"}#subpages-table .file-type-tar:before{content:url(images/filetypes/tar.png) "\00a0"}#subpages-table .file-type-txt:before{content:url(images/filetypes/txt.png) "\00a0"}#subpages-table .file-type-wma:before{content:url(images/filetypes/wma.png) "\00a0"}#subpages-table .file-type-xls:before{content:url(images/filetypes/xls.png) "\00a0"}#subpages-table .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 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/templates_test.rb
CHANGED
@@ -4,20 +4,12 @@ class Bacon::Context
|
|
4
4
|
include Olelo::Templates
|
5
5
|
end
|
6
6
|
|
7
|
-
class TestTemplateLoader
|
8
|
-
def context
|
9
|
-
nil
|
10
|
-
end
|
11
|
-
|
12
|
-
def load(path)
|
13
|
-
Olelo::VirtualFS::Embedded.new(__FILE__).read(path)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
7
|
describe 'Olelo::Templates' do
|
18
8
|
before do
|
19
9
|
Olelo::Templates.enable_caching
|
20
|
-
Olelo::Templates.loader =
|
10
|
+
Olelo::Templates.loader = proc do |name|
|
11
|
+
Olelo::VirtualFS::Embedded.new(__FILE__).read(name)
|
12
|
+
end
|
21
13
|
end
|
22
14
|
|
23
15
|
after do
|
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.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: multi_json
|
16
|
-
requirement: &
|
16
|
+
requirement: &7192200 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.3.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *7192200
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: slim
|
27
|
-
requirement: &
|
27
|
+
requirement: &7190840 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.3.3
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *7190840
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: creole
|
38
|
-
requirement: &
|
38
|
+
requirement: &7189440 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.5.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *7189440
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: nokogiri
|
49
|
-
requirement: &
|
49
|
+
requirement: &7188340 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.5.5
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *7188340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: mimemagic
|
60
|
-
requirement: &
|
60
|
+
requirement: &7187440 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.2.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *7187440
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rack
|
71
|
-
requirement: &
|
71
|
+
requirement: &7186620 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.4.1
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *7186620
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: redcarpet
|
82
|
-
requirement: &
|
82
|
+
requirement: &7185720 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 2.2.2
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *7185720
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rugged
|
93
|
-
requirement: &
|
93
|
+
requirement: &7184420 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 0.17.0.b7
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *7184420
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: evaluator
|
104
|
-
requirement: &
|
104
|
+
requirement: &7609460 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 0.1.6
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *7609460
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rake
|
115
|
-
requirement: &
|
115
|
+
requirement: &7608880 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: 0.8.7
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *7608880
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: sass
|
126
|
-
requirement: &
|
126
|
+
requirement: &7608380 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: 3.2.3
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *7608380
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: bacon
|
137
|
-
requirement: &
|
137
|
+
requirement: &7607840 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ~>
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: 1.1.0
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *7607840
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: rack-test
|
148
|
-
requirement: &
|
148
|
+
requirement: &7607300 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ~>
|
@@ -153,7 +153,7 @@ dependencies:
|
|
153
153
|
version: 0.6.2
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *7607300
|
157
157
|
description: Olelo is a git-based wiki which supports many markup languages, tags,
|
158
158
|
embedded TeX and much more. It can be extended through plugins.
|
159
159
|
email:
|
@@ -201,6 +201,16 @@ files:
|
|
201
201
|
- lib/olelo/user.rb
|
202
202
|
- lib/olelo/util.rb
|
203
203
|
- lib/olelo/version.rb
|
204
|
+
- lib/olelo/views/delete.slim
|
205
|
+
- lib/olelo/views/deleted.slim
|
206
|
+
- lib/olelo/views/edit.slim
|
207
|
+
- lib/olelo/views/error.slim
|
208
|
+
- lib/olelo/views/layout.slim
|
209
|
+
- lib/olelo/views/login.slim
|
210
|
+
- lib/olelo/views/move.slim
|
211
|
+
- lib/olelo/views/not_found.slim
|
212
|
+
- lib/olelo/views/profile.slim
|
213
|
+
- lib/olelo/views/show.slim
|
204
214
|
- lib/olelo/virtualfs.rb
|
205
215
|
- lib/rack/relative_redirect.rb
|
206
216
|
- lib/rack/static_cache.rb
|
@@ -214,7 +224,6 @@ files:
|
|
214
224
|
- plugins/aspects/highlight.rb
|
215
225
|
- plugins/aspects/image.rb
|
216
226
|
- plugins/aspects/imageinfo.rb
|
217
|
-
- plugins/aspects/locale.yml
|
218
227
|
- plugins/aspects/main.rb
|
219
228
|
- plugins/aspects/pageinfo.rb
|
220
229
|
- plugins/aspects/source.rb
|
@@ -229,7 +238,6 @@ files:
|
|
229
238
|
- plugins/blog/main.rb
|
230
239
|
- plugins/editor/ace/init.js
|
231
240
|
- plugins/editor/ace/main.rb
|
232
|
-
- plugins/editor/locale.yml
|
233
241
|
- plugins/editor/markup/main.rb
|
234
242
|
- plugins/editor/markup/script.js
|
235
243
|
- plugins/editor/markup/script/00-jquery.textselection.js
|
@@ -259,8 +267,15 @@ files:
|
|
259
267
|
- plugins/filters/toc.rb
|
260
268
|
- plugins/filters/xhtml2latex.xsl
|
261
269
|
- plugins/filters/xslt.rb
|
270
|
+
- plugins/history/changes.slim
|
271
|
+
- plugins/history/compare.slim
|
272
|
+
- plugins/history/history.slim
|
273
|
+
- plugins/history/locale.yml
|
274
|
+
- plugins/history/main.rb
|
275
|
+
- plugins/history/script.js
|
276
|
+
- plugins/history/script/00-historytable.js
|
277
|
+
- plugins/history/script/init.js
|
262
278
|
- plugins/login/basic_auth.rb
|
263
|
-
- plugins/login/locale.yml
|
264
279
|
- plugins/login/persistent.rb
|
265
280
|
- plugins/misc/fancybox/images/blank.gif
|
266
281
|
- plugins/misc/fancybox/images/fancy_close.png
|
@@ -296,10 +311,8 @@ files:
|
|
296
311
|
- plugins/misc/webdav.rb
|
297
312
|
- plugins/repositories/git_grep.rb
|
298
313
|
- plugins/repositories/gitrb_repository.rb
|
299
|
-
- plugins/repositories/locale.yml
|
300
314
|
- plugins/repositories/rugged_repository.rb
|
301
315
|
- plugins/security/acl.rb
|
302
|
-
- plugins/security/locale.yml
|
303
316
|
- plugins/security/private_wiki.rb
|
304
317
|
- plugins/security/readonly_wiki.rb
|
305
318
|
- plugins/tags/code.rb
|
@@ -337,7 +350,7 @@ files:
|
|
337
350
|
- plugins/utils/store.rb
|
338
351
|
- plugins/utils/worker.rb
|
339
352
|
- plugins/utils/xml.rb
|
340
|
-
- static/
|
353
|
+
- static/favicon.png
|
341
354
|
- static/script.js
|
342
355
|
- static/script/00-json2.js
|
343
356
|
- static/script/01-jquery.js
|
@@ -351,7 +364,6 @@ files:
|
|
351
364
|
- static/script/09-olelo.storage.js
|
352
365
|
- static/script/10-olelo.i18n.js
|
353
366
|
- static/script/11-olelo.unsaved.js
|
354
|
-
- static/script/12-olelo.historytable.js
|
355
367
|
- static/script/13-olelo.pagination.js
|
356
368
|
- static/script/14-olelo.tabwidget.js
|
357
369
|
- static/script/15-olelo.timeago.js
|
@@ -436,19 +448,6 @@ files:
|
|
436
448
|
- test/string_extensions_test.rb
|
437
449
|
- test/templates_test.rb
|
438
450
|
- test/util_test.rb
|
439
|
-
- views/changes.slim
|
440
|
-
- views/compare.slim
|
441
|
-
- views/delete.slim
|
442
|
-
- views/deleted.slim
|
443
|
-
- views/edit.slim
|
444
|
-
- views/error.slim
|
445
|
-
- views/history.slim
|
446
|
-
- views/layout.slim
|
447
|
-
- views/login.slim
|
448
|
-
- views/move.slim
|
449
|
-
- views/not_found.slim
|
450
|
-
- views/profile.slim
|
451
|
-
- views/show.slim
|
452
451
|
homepage: http://gitwiki.org/
|
453
452
|
licenses: []
|
454
453
|
post_install_message:
|
@@ -474,4 +473,3 @@ signing_key:
|
|
474
473
|
specification_version: 3
|
475
474
|
summary: Olelo is a git-based wiki.
|
476
475
|
test_files: []
|
477
|
-
has_rdoc:
|