olelo 0.9.1 → 0.9.2

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.
@@ -11,7 +11,8 @@ module Olelo
11
11
  attr_reader :page
12
12
  attr_setter :on_error
13
13
 
14
- has_around_hooks :request, :routing, :action, :title, :footer, :login_buttons, :edit_buttons
14
+ has_around_hooks :request, :routing, :action, :title, :footer, :login_buttons,
15
+ :edit_buttons, :attributes_buttons, :upload_buttons
15
16
  has_hooks :auto_login, :render, :menu, :head, :script
16
17
 
17
18
  class<< self
@@ -236,8 +237,11 @@ module Olelo
236
237
 
237
238
  def post_upload
238
239
  raise 'No file' if !params[:file]
239
- raise :version_conflict.t if !page.new? && page.version.to_s != params[:version]
240
- page.content = params[:file][:tempfile]
240
+ page.content = params[:file][:tempfile].read
241
+ check do |errors|
242
+ errors << :version_conflict.t if !page.new? && page.version.to_s != params[:version]
243
+ errors << :no_changes.t if !page.modified?
244
+ end
241
245
  page.save
242
246
  Page.commit(:page_uploaded.t(:page => page.title))
243
247
  end
@@ -270,7 +274,7 @@ module Olelo
270
274
  end
271
275
 
272
276
  post '/(:path)', :tail => true do
273
- action, @close = params[:action].to_s.split('-')
277
+ action, @close = params[:action].to_s.split('-', 2)
274
278
  if respond_to? "post_#{action}"
275
279
  on_error :edit
276
280
  Page.transaction do
@@ -150,14 +150,6 @@ class Hash
150
150
  end
151
151
 
152
152
  class Object
153
- # Metaclass of object
154
- #
155
- # @return [Class]
156
- #
157
- def metaclass
158
- (class << self; self; end)
159
- end
160
-
161
153
  # Returns true if object is empty or false
162
154
  #
163
155
  # @return [Boolean]
data/lib/olelo/helper.rb CHANGED
@@ -232,7 +232,7 @@ module Olelo
232
232
 
233
233
  def action?(action)
234
234
  if params[:action]
235
- params[:action].split('-').include?(action.to_s)
235
+ params[:action].split('-', 2).first == action.to_s
236
236
  else
237
237
  unescape(request.path_info).starts_with?("/#{action}")
238
238
  end
@@ -264,7 +264,7 @@ module Olelo
264
264
  end
265
265
  base_path = if page && page.root?
266
266
  url = request.base_url
267
- url << '/version'/page.tree_version if !page.head?
267
+ url << '/' << 'version'/page.tree_version if !page.head?
268
268
  %{<base href="#{escape_html url}/"/>}.html_safe
269
269
  end
270
270
  [base_path, @@theme_link, @@script_link, *invoke_hook(:head)].join.html_safe
data/lib/olelo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Olelo
2
- VERSION = '0.9.1'
2
+ VERSION = '0.9.2'
3
3
  end
data/olelo.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.authors = ['Daniel Mendler']
10
10
  s.email = ['mail@daniel-mendler.de']
11
11
  s.summary = 'Olelo is a git-based wiki.'
12
- s.summary = 'Olelo is a git-based wiki which supports many markup languages, tags, embedded TeX and much more. It can be extended through plugins.'
12
+ s.description = 'Olelo is a git-based wiki which supports many markup languages, tags, embedded TeX and much more. It can be extended through plugins.'
13
13
  s.homepage = 'http://gitwiki.org/'
14
14
  s.rubyforge_project = s.name
15
15
 
File without changes
File without changes
File without changes
@@ -1,17 +1,14 @@
1
1
  en:
2
- captcha: 'Captcha:'
3
2
  enter_captcha: 'Please enter the captcha.'
4
3
  captcha_invalid: Invalid captcha
5
4
  captcha_valid: Valid captcha
6
5
  preview: Preview
7
6
  de:
8
- captcha: 'Captcha:'
9
7
  enter_captcha: 'Bitte geben Sie ein Captcha ein.'
10
8
  captcha_invalid: 'Ungültiges Captcha'
11
9
  captcha_valid: 'Gültiges Captcha'
12
10
  preview: Vorschau
13
11
  cs_CZ:
14
- captcha: 'Captcha:'
15
12
  enter_captcha: 'Vložte laskavě captcha kód.'
16
13
  captcha_invalid: 'Neplatný captcha kód'
17
14
  captcha_valid: 'Platný captcha kód'
@@ -5,10 +5,6 @@ RECAPTCHA_PUBLIC = Config['recaptcha.public']
5
5
  RECAPTCHA_PRIVATE = Config['recaptcha.private']
6
6
 
7
7
  class ::Olelo::Application
8
- before :edit_buttons do
9
- %{<br/><label for="recaptcha">#{:captcha.t}</label><br/><div id="recaptcha"></div><br/>} if flash[:show_captcha]
10
- end
11
-
12
8
  hook :script do
13
9
  %{<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"/>
14
10
  <script type="text/javascript">
@@ -22,13 +18,21 @@ class ::Olelo::Application
22
18
  </script>} if flash[:show_captcha]
23
19
  end
24
20
 
25
- redefine_method :post_edit do
26
- if captcha_valid?
27
- super()
28
- else
29
- flash.info! :enter_captcha.t
30
- flash.now[:show_captcha] = true
31
- halt render(:edit)
21
+ %w(edit attributes upload).each do |action|
22
+ before "#{action}_buttons" do
23
+ if flash[:show_captcha] && action?(action)
24
+ %{<br/><div id="recaptcha"></div><br/>}
25
+ end
26
+ end
27
+
28
+ redefine_method "post_#{action}" do
29
+ if captcha_valid?
30
+ super()
31
+ else
32
+ flash.info! :enter_captcha.t
33
+ flash.now[:show_captcha] = true
34
+ halt render(:edit)
35
+ end
32
36
  end
33
37
  end
34
38
 
File without changes
@@ -0,0 +1,6 @@
1
+ en:
2
+ persistent_login: 'Persistent login'
3
+ de:
4
+ persistent_login: 'Dauerhaft anmelden'
5
+ cs_CZ:
6
+ persistent_login: 'Trvalé přihlášení'
@@ -44,10 +44,6 @@ ul.tabs
44
44
  tr
45
45
  td Memory usage:
46
46
  td #{@memory} MiB
47
- - if defined?(Olelo::Worker)
48
- tr
49
- td Worker jobs
50
- td= Olelo::Worker.jobs
51
47
  #tab-configuration.tab
52
48
  h2 Configuration
53
49
  table
@@ -88,7 +88,6 @@ class GitrbRepository < Repository
88
88
  # @override
89
89
  def set_content(path, content)
90
90
  check_path(path)
91
- content = content.read if content.respond_to? :read
92
91
  expand_tree(path)
93
92
  object = @git.root[path]
94
93
  if object && object.type == :tree
@@ -193,7 +193,6 @@ class RuggedRepository < Repository
193
193
 
194
194
  def set_content(path, content)
195
195
  check_path(path)
196
- content = content.read if content.respond_to? :read
197
196
  expand_tree(path)
198
197
  object = work_tree[path]
199
198
  if object && object.type == :tree
@@ -3,19 +3,16 @@ en:
3
3
  attribute_acl_create: 'Create subpages'
4
4
  attribute_acl_delete: 'Delete subpages'
5
5
  group_acl: 'Access control lists'
6
- persistent_login: 'Persistent login'
7
6
  login_first: 'You have to login first'
8
7
  de:
9
8
  attribute_acl_write: 'Schreibzugriff'
10
9
  attribute_acl_create: 'Unterseiten anlegen'
11
10
  attribute_acl_delete: 'Unterseiten löschen'
12
11
  group_acl: 'Zugriffslisten'
13
- persistent_login: 'Dauerhaft anmelden'
14
12
  login_first: 'Sie müssen sich zuerst anmelden'
15
13
  cs_CZ:
16
14
  attribute_acl_write: 'Právo zápisu'
17
15
  attribute_acl_create: 'Vytvářet podstránky'
18
16
  attribute_acl_delete: 'Mazat podstránky'
19
17
  group_acl: 'Řízení přístupů (ACL)'
20
- persistent_login: 'Trvalé přihlášení'
21
18
  login_first: 'Musíte se nejprve přihlásit'
data/views/edit.slim CHANGED
@@ -42,10 +42,11 @@ form action=build_path(page.new? ? nil : page.path) method='post' enctype='multi
42
42
  label for='upload-file' = :file.t
43
43
  &file#upload-file.observe name='file'
44
44
  br
45
- button&submit name='action' value='upload' = :save.t
46
- button&submit name='action' value='upload-close' = :save_and_close.t
47
- button&reset = :reset.t
48
- br
45
+ = render_block :upload_buttons do
46
+ button&submit name='action' value='upload' = :save.t
47
+ button&submit name='action' value='upload-close' = :save_and_close.t
48
+ button&reset = :reset.t
49
+ br
49
50
  form action=build_path(page.new? ? nil : page.path) method='post'
50
51
  #tab-attributes.tab.fieldset
51
52
  h2= :attributes.t
@@ -58,8 +59,9 @@ form action=build_path(page.new? ? nil : page.path) method='post'
58
59
  &hidden name='version' value=page.version
59
60
  = flash_messages :attributes
60
61
  = page.attribute_editor
61
- .indent
62
- button&submit name='action' value='attributes' = :save.t
63
- button&submit name='action' value='attributes-close' = :save_and_close.t
64
- button&reset = :reset.t
65
- br
62
+ = render_block :attributes_buttons do
63
+ .indent
64
+ button&submit name='action' value='attributes' = :save.t
65
+ button&submit name='action' value='attributes-close' = :save_and_close.t
66
+ button&reset = :reset.t
67
+ br
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.1
4
+ version: 0.9.2
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-10-17 00:00:00.000000000 Z
12
+ date: 2012-10-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tilt
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &9036000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 1.3.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 1.3.3
24
+ version_requirements: *9036000
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: slim
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &9035100 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ~>
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: 1.3.3
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 1.3.3
35
+ version_requirements: *9035100
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: creole
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &9034140 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ~>
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: 0.4.2
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 0.4.2
46
+ version_requirements: *9034140
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: nokogiri
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &9114880 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ~>
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: 1.5.5
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 1.5.5
57
+ version_requirements: *9114880
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: mimemagic
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &9114140 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ~>
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: 0.1.9
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 0.1.9
68
+ version_requirements: *9114140
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: rack
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &9113600 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ~>
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: 1.4.1
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 1.4.1
79
+ version_requirements: *9113600
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: redcarpet
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &9112980 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ~>
@@ -117,15 +87,10 @@ dependencies:
117
87
  version: 2.1.1
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: 2.1.1
90
+ version_requirements: *9112980
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: rugged
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &9111460 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
96
  - - ~>
@@ -133,15 +98,10 @@ dependencies:
133
98
  version: 0.17.0b6
134
99
  type: :runtime
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- version: 0.17.0b6
101
+ version_requirements: *9111460
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: rake
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &9110780 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
107
  - - ! '>='
@@ -149,15 +109,10 @@ dependencies:
149
109
  version: 0.8.7
150
110
  type: :development
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: 0.8.7
112
+ version_requirements: *9110780
158
113
  - !ruby/object:Gem::Dependency
159
114
  name: sass
160
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &9110120 !ruby/object:Gem::Requirement
161
116
  none: false
162
117
  requirements:
163
118
  - - ! '>='
@@ -165,13 +120,9 @@ dependencies:
165
120
  version: 3.1.0
166
121
  type: :development
167
122
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: 3.1.0
174
- description:
123
+ version_requirements: *9110120
124
+ description: Olelo is a git-based wiki which supports many markup languages, tags,
125
+ embedded TeX and much more. It can be extended through plugins.
175
126
  email:
176
127
  - mail@daniel-mendler.de
177
128
  executables:
@@ -239,6 +190,9 @@ files:
239
190
  - plugins/aspects/source.rb
240
191
  - plugins/aspects/subpages.rb
241
192
  - plugins/aspects/text.rb
193
+ - plugins/authentication/portal.rb
194
+ - plugins/authentication/stack.rb
195
+ - plugins/authentication/yamlfile.rb
242
196
  - plugins/blog/blog.css
243
197
  - plugins/blog/blog.scss
244
198
  - plugins/blog/locale.yml
@@ -273,6 +227,9 @@ files:
273
227
  - plugins/gallery/gallery.css
274
228
  - plugins/gallery/gallery.scss
275
229
  - plugins/gallery/main.rb
230
+ - plugins/login/basic_auth.rb
231
+ - plugins/login/locale.yml
232
+ - plugins/login/persistent.rb
276
233
  - plugins/misc/fancybox/images/blank.gif
277
234
  - plugins/misc/fancybox/images/fancy_close.png
278
235
  - plugins/misc/fancybox/images/fancy_loading.png
@@ -309,14 +266,9 @@ files:
309
266
  - plugins/repositories/locale.yml
310
267
  - plugins/repositories/rugged_repository.rb
311
268
  - plugins/security/acl.rb
312
- - plugins/security/basic_auth.rb
313
269
  - plugins/security/locale.yml
314
- - plugins/security/persistent_login.rb
315
- - plugins/security/portal.rb
316
270
  - plugins/security/private_wiki.rb
317
271
  - plugins/security/readonly_wiki.rb
318
- - plugins/security/stack.rb
319
- - plugins/security/yamlfile.rb
320
272
  - plugins/tags/code.rb
321
273
  - plugins/tags/footnotes.rb
322
274
  - plugins/tags/gist-embed.css
@@ -480,9 +432,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
480
432
  version: '0'
481
433
  requirements: []
482
434
  rubyforge_project: olelo
483
- rubygems_version: 1.8.24
435
+ rubygems_version: 1.8.15
484
436
  signing_key:
485
437
  specification_version: 3
486
- summary: Olelo is a git-based wiki which supports many markup languages, tags, embedded
487
- TeX and much more. It can be extended through plugins.
438
+ summary: Olelo is a git-based wiki.
488
439
  test_files: []