olelo 0.9.14 → 0.9.15
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.
- checksums.yaml +4 -4
- data/README.creole +10 -1
- data/config/aspects.rb +1 -1
- data/lib/olelo.rb +1 -1
- data/lib/olelo/config.rb +1 -1
- data/lib/olelo/initializer.rb +2 -2
- data/lib/olelo/util.rb +19 -0
- data/lib/olelo/version.rb +1 -1
- data/olelo.gemspec +20 -18
- data/plugins/aspects/highlight.rb +2 -2
- data/plugins/filters/link_classifier.rb +1 -1
- data/plugins/filters/pandoc.rb +7 -0
- data/plugins/repositories/gitrb_repository.rb +2 -2
- data/plugins/repositories/rugged_repository.rb +2 -2
- metadata +21 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dcf56a3f895102507ed214a48852d7719b34a87f
|
4
|
+
data.tar.gz: 91d7c9a7eb3d9cfbc958304e09ba827e62995ac8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b5ae3b55f623132d9f8a8f1e8469a4ae454b56af7723e3eb6afc345c7f2925d5a09989333a81ae44a6dd07cbdd2bc6784cae4143070851865d6011be1ad82d7
|
7
|
+
data.tar.gz: 4461656d97821c1a4a849bf1ccbf0f04bf252cad4fe8b03c419cadd412d720d978e47ccff7917e0fbb56e8ce0aae47bb5140efc184412da32c38ca96fd5002c4
|
data/README.creole
CHANGED
@@ -80,7 +80,16 @@ For production purposes, I recommend that you deploy the wiki with [[http://unic
|
|
80
80
|
$ unicorn path-to/config.ru
|
81
81
|
}}}
|
82
82
|
|
83
|
-
Unicorn is a very flexible ruby application server and Ōlelo runs very well on it. You can adapt the number of Unicorn workers depending on the load you expect. It is a good idea to observe the Unicorn workers as described in https://github.com/blog/519-unicorn-god and kill missbehaving workers if necessary.
|
83
|
+
Unicorn is a very flexible ruby application server and Ōlelo runs very well on it. You can adapt the number of Unicorn workers depending on the load you expect. It is a good idea to observe the Unicorn workers as described in https://github.com/blog/519-unicorn-god and kill missbehaving workers if necessary. You can call this snippet in a cronjob which terminates all workers gracefully that need more than 100M.
|
84
|
+
|
85
|
+
{{{
|
86
|
+
#!/bin/bash
|
87
|
+
ps -e -www -o pid,rss,command | grep '[u]nicorn worker' | while read -r -a a; do
|
88
|
+
pid=${a[0]}
|
89
|
+
mem=${a[1]}
|
90
|
+
[[ "$mem" -gt 100000 ]] && kill -s QUIT $pid
|
91
|
+
done
|
92
|
+
}}}
|
84
93
|
|
85
94
|
== Configuration
|
86
95
|
|
data/config/aspects.rb
CHANGED
@@ -53,7 +53,7 @@ regexp :mediawiki_nowiki, /<nowiki>.*?<\/nowiki>/m, '<notags>\0</notags>'
|
|
53
53
|
#
|
54
54
|
################################################################################
|
55
55
|
|
56
|
-
interwiki_map =
|
56
|
+
interwiki_map = Util.yaml_load_file(File.join(Config['config_path'], 'interwiki.yml'))
|
57
57
|
|
58
58
|
################################################################################
|
59
59
|
# Creole aspects configuration
|
data/lib/olelo.rb
CHANGED
data/lib/olelo/config.rb
CHANGED
data/lib/olelo/initializer.rb
CHANGED
@@ -23,7 +23,7 @@ module Olelo
|
|
23
23
|
|
24
24
|
def init_locale
|
25
25
|
Locale.locale = Config['locale']
|
26
|
-
Locale.add(
|
26
|
+
Locale.add(yaml_load_file(File.join(File.dirname(__FILE__), 'locale.yml')))
|
27
27
|
end
|
28
28
|
|
29
29
|
def init_templates
|
@@ -38,7 +38,7 @@ module Olelo
|
|
38
38
|
# Load locale provided by plugin
|
39
39
|
Plugin.after(:load) do
|
40
40
|
virtual_fs.glob('locale.yml') do |fs, name|
|
41
|
-
Locale.add(
|
41
|
+
Locale.add(yaml_load(fs.read(name)))
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
data/lib/olelo/util.rb
CHANGED
@@ -50,6 +50,25 @@ module Olelo
|
|
50
50
|
raise MultiError, errors if !errors.empty?
|
51
51
|
end
|
52
52
|
|
53
|
+
def yaml_load_file(file)
|
54
|
+
File.open(file, 'r:bom|utf-8') {|f| yaml_load(f.read) }
|
55
|
+
end
|
56
|
+
|
57
|
+
if Psych.respond_to? :safe_load
|
58
|
+
def yaml_load(content)
|
59
|
+
Psych.safe_load(content)
|
60
|
+
end
|
61
|
+
else
|
62
|
+
puts 'WARNING: Psych doesn\'t support safe_load. Potentially unsafe YAML files might be loaded.'
|
63
|
+
def yaml_load(content)
|
64
|
+
Psych.load(content)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def yaml_dump(object)
|
69
|
+
Psych.dump(object)
|
70
|
+
end
|
71
|
+
|
53
72
|
# Like CGI.escape but escapes space not as +
|
54
73
|
def escape(s)
|
55
74
|
s = s.to_s
|
data/lib/olelo/version.rb
CHANGED
data/olelo.gemspec
CHANGED
@@ -12,29 +12,31 @@ Gem::Specification.new do |s|
|
|
12
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
|
+
s.license = 'MIT'
|
15
16
|
|
16
17
|
s.files = `git ls-files | grep -P -v '^tools/'`.split("\n")
|
17
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
19
|
s.require_paths = %w(lib)
|
19
20
|
|
20
|
-
s.required_ruby_version = '>= 1.9.
|
21
|
+
s.required_ruby_version = '>= 1.9.3'
|
21
22
|
|
22
|
-
s.add_runtime_dependency('RedCloth',
|
23
|
-
s.add_runtime_dependency('creole',
|
24
|
-
s.add_runtime_dependency('evaluator',
|
25
|
-
s.add_runtime_dependency('mimemagic',
|
26
|
-
s.add_runtime_dependency('multi_json',
|
27
|
-
s.add_runtime_dependency('nokogiri',
|
28
|
-
s.add_runtime_dependency('rack',
|
29
|
-
s.add_runtime_dependency('redcarpet',
|
30
|
-
s.add_runtime_dependency('rugged',
|
31
|
-
s.add_runtime_dependency('slim',
|
32
|
-
s.add_runtime_dependency('
|
33
|
-
s.add_runtime_dependency('
|
34
|
-
s.add_runtime_dependency('
|
23
|
+
s.add_runtime_dependency('RedCloth', '~> 4.2.9')
|
24
|
+
s.add_runtime_dependency('creole', '~> 0.5.0')
|
25
|
+
s.add_runtime_dependency('evaluator', '~> 0.1.6')
|
26
|
+
s.add_runtime_dependency('mimemagic', '~> 0.2.0')
|
27
|
+
s.add_runtime_dependency('multi_json', '~> 1.7.3')
|
28
|
+
s.add_runtime_dependency('nokogiri', '~> 1.6.0')
|
29
|
+
s.add_runtime_dependency('rack', '~> 1.5.0')
|
30
|
+
s.add_runtime_dependency('redcarpet', '~> 3.0.0')
|
31
|
+
s.add_runtime_dependency('rugged', '~> 0.19.0')
|
32
|
+
s.add_runtime_dependency('slim', '~> 2.0.0')
|
33
|
+
s.add_runtime_dependency('psych', '~> 2.0.0')
|
34
|
+
s.add_runtime_dependency('moneta', '~> 0.7.0')
|
35
|
+
s.add_runtime_dependency('rouge', '~> 0.3.6')
|
36
|
+
s.add_runtime_dependency('rack-protection', '~> 1.5.0')
|
35
37
|
|
36
|
-
s.add_development_dependency('bacon',
|
37
|
-
s.add_development_dependency('rack-test',
|
38
|
-
s.add_development_dependency('rake',
|
39
|
-
s.add_development_dependency('sass',
|
38
|
+
s.add_development_dependency('bacon', '~> 1.1.0')
|
39
|
+
s.add_development_dependency('rack-test', '~> 0.6.2')
|
40
|
+
s.add_development_dependency('rake', '>= 0.8.7')
|
41
|
+
s.add_development_dependency('sass', '~> 3.2.3')
|
40
42
|
end
|
@@ -4,11 +4,11 @@ dependencies 'utils/rouge'
|
|
4
4
|
|
5
5
|
Aspect.create(:highlight, priority: 2, layout: true, cacheable: true) do
|
6
6
|
def accepts?(page)
|
7
|
-
!page.content.empty? && ::Rouge::Lexer.
|
7
|
+
!page.content.empty? && ::Rouge::Lexer.guesses(:mimetype => page.mime.to_s).size == 1
|
8
8
|
end
|
9
9
|
|
10
10
|
def call(context, page)
|
11
|
-
::Rouge.highlight(page.content, ::Rouge::Lexer.
|
11
|
+
::Rouge.highlight(page.content, ::Rouge::Lexer.guess_by_mimetype(page.mime.to_s), 'html')
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -9,7 +9,7 @@ Filter.create :link_classifier do |context, content|
|
|
9
9
|
if href.starts_with?('http://') || href.starts_with?('https://')
|
10
10
|
classes << 'external'
|
11
11
|
elsif !href.empty? && !href.starts_with?('#')
|
12
|
-
path, query = href.split(
|
12
|
+
path, query = href.split(/[?#]/, 2)
|
13
13
|
if path.starts_with? Config['base_path']
|
14
14
|
path = path[Config['base_path'].length..-1]
|
15
15
|
elsif !path.starts_with? '/'
|
@@ -92,7 +92,7 @@ class GitrbRepository < Repository
|
|
92
92
|
def get_attributes(path, version)
|
93
93
|
check_path(path)
|
94
94
|
object = get_object(path + ATTRIBUTE_EXT, version)
|
95
|
-
object && object.type == :blob ?
|
95
|
+
object && object.type == :blob ? yaml_load(object.data) : {}
|
96
96
|
end
|
97
97
|
|
98
98
|
# @override
|
@@ -115,7 +115,7 @@ class GitrbRepository < Repository
|
|
115
115
|
# @override
|
116
116
|
def set_attributes(path, attributes)
|
117
117
|
check_path(path)
|
118
|
-
attributes = attributes.blank? ? nil :
|
118
|
+
attributes = attributes.blank? ? nil : yaml_dump(attributes).sub(/\A\-\-\-\s*\n/s, '')
|
119
119
|
expand_tree(path)
|
120
120
|
if attributes
|
121
121
|
@git.root[path + ATTRIBUTE_EXT] = Gitrb::Blob.new(data: attributes)
|
@@ -203,7 +203,7 @@ class RuggedRepository < Repository
|
|
203
203
|
|
204
204
|
def set_attributes(path, attributes)
|
205
205
|
check_path(path)
|
206
|
-
attributes = attributes.blank? ? nil :
|
206
|
+
attributes = attributes.blank? ? nil : yaml_dump(attributes).sub(/\A\-\-\-\s*\n/s, '')
|
207
207
|
expand_tree(path)
|
208
208
|
if attributes
|
209
209
|
work_tree[path + ATTRIBUTE_EXT] = Blob.new(@git, attributes)
|
@@ -337,7 +337,7 @@ class RuggedRepository < Repository
|
|
337
337
|
raise 'Not a commit' unless Rugged::Commit === commit
|
338
338
|
path += ATTRIBUTE_EXT
|
339
339
|
object = object_by_path(commit, path)
|
340
|
-
object ?
|
340
|
+
object ? yaml_load(object.content) : {}
|
341
341
|
end
|
342
342
|
|
343
343
|
def diff(path, from, to)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Mendler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: RedCloth
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - ~>
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 2.0.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: psych
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 2.0.0
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ~>
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 2.0.0
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: moneta
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -352,6 +366,7 @@ files:
|
|
352
366
|
- plugins/filters/markdown_nowiki.rb
|
353
367
|
- plugins/filters/numbering.xsl
|
354
368
|
- plugins/filters/orgmode.rb
|
369
|
+
- plugins/filters/pandoc.rb
|
355
370
|
- plugins/filters/remind/main.rb
|
356
371
|
- plugins/filters/remind/rem2html
|
357
372
|
- plugins/filters/rubypants.rb
|
@@ -539,7 +554,8 @@ files:
|
|
539
554
|
- test/templates_test.rb
|
540
555
|
- test/util_test.rb
|
541
556
|
homepage: http://gitwiki.org/
|
542
|
-
licenses:
|
557
|
+
licenses:
|
558
|
+
- MIT
|
543
559
|
metadata: {}
|
544
560
|
post_install_message:
|
545
561
|
rdoc_options: []
|
@@ -549,7 +565,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
549
565
|
requirements:
|
550
566
|
- - '>='
|
551
567
|
- !ruby/object:Gem::Version
|
552
|
-
version: 1.9.
|
568
|
+
version: 1.9.3
|
553
569
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
554
570
|
requirements:
|
555
571
|
- - '>='
|
@@ -557,7 +573,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
557
573
|
version: '0'
|
558
574
|
requirements: []
|
559
575
|
rubyforge_project: olelo
|
560
|
-
rubygems_version: 2.0.
|
576
|
+
rubygems_version: 2.0.0
|
561
577
|
signing_key:
|
562
578
|
specification_version: 4
|
563
579
|
summary: Olelo is a git-based wiki.
|