gollum-site 0.1.1 → 0.1.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.
- data/bin/gollum-site +23 -5
- data/gollum-site.gemspec +1 -0
- data/lib/gollum-site.rb +4 -0
- data/lib/gollum-site/log.rb +5 -0
- data/lib/gollum-site/page.rb +28 -7
- data/lib/gollum-site/site.rb +2 -0
- data/lib/gollum-site/version.rb +1 -1
- metadata +19 -4
data/bin/gollum-site
CHANGED
|
@@ -27,12 +27,13 @@ options = {
|
|
|
27
27
|
'base_path' => '/',
|
|
28
28
|
'output_path' => '_site',
|
|
29
29
|
'port' => 8000,
|
|
30
|
-
'watch' => false
|
|
30
|
+
'watch' => false,
|
|
31
|
+
'level' => :warn
|
|
31
32
|
}
|
|
32
33
|
opts = OptionParser.new do |opts|
|
|
33
34
|
opts.banner = help
|
|
34
35
|
|
|
35
|
-
opts.on("--ref
|
|
36
|
+
opts.on("--ref REF", "Branch or commit to generate") do |ref|
|
|
36
37
|
options['ref'] = ref
|
|
37
38
|
end
|
|
38
39
|
|
|
@@ -40,7 +41,7 @@ opts = OptionParser.new do |opts|
|
|
|
40
41
|
options['working'] = true
|
|
41
42
|
end
|
|
42
43
|
|
|
43
|
-
opts.on("--base_path
|
|
44
|
+
opts.on("--base_path BASE_PATH", "Prefix to apply to internal links") do |base_path|
|
|
44
45
|
options['base_path'] = base_path
|
|
45
46
|
end
|
|
46
47
|
|
|
@@ -48,7 +49,7 @@ opts = OptionParser.new do |opts|
|
|
|
48
49
|
options['output_path'] = output_path
|
|
49
50
|
end
|
|
50
51
|
|
|
51
|
-
opts.on("--port
|
|
52
|
+
opts.on("--port PORT", "Port to use when serving site (default 8000)") do |port|
|
|
52
53
|
options['port'] = port
|
|
53
54
|
end
|
|
54
55
|
|
|
@@ -56,6 +57,11 @@ opts = OptionParser.new do |opts|
|
|
|
56
57
|
options['watch'] = true
|
|
57
58
|
end
|
|
58
59
|
|
|
60
|
+
opts.on("--log_level LEVEL", %w[debug info warn error fatal],
|
|
61
|
+
"Set logging level (debug, info, warn, error, fatal)") do |level|
|
|
62
|
+
options['level'] = level.to_sym
|
|
63
|
+
end
|
|
64
|
+
|
|
59
65
|
opts.on_tail("--help", "Show this information") do
|
|
60
66
|
puts opts
|
|
61
67
|
exit
|
|
@@ -68,7 +74,16 @@ opts = OptionParser.new do |opts|
|
|
|
68
74
|
end
|
|
69
75
|
end
|
|
70
76
|
|
|
71
|
-
|
|
77
|
+
begin
|
|
78
|
+
opts.parse!
|
|
79
|
+
rescue Exception => e
|
|
80
|
+
puts e.message
|
|
81
|
+
puts ""
|
|
82
|
+
puts opts
|
|
83
|
+
exit
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
Gollum::SiteLog.level = options['level']
|
|
72
87
|
|
|
73
88
|
cmd = ARGV[0]
|
|
74
89
|
|
|
@@ -79,7 +94,10 @@ when 'generate'
|
|
|
79
94
|
:output_path => options['output_path'],
|
|
80
95
|
:version => options['working'] ? :working : options['ref']
|
|
81
96
|
})
|
|
97
|
+
start = Time.now
|
|
82
98
|
site.generate()
|
|
99
|
+
stop = Time.now
|
|
100
|
+
Gollum::SiteLog.debug("Generated site in #{stop - start}(s)")
|
|
83
101
|
when 'serve'
|
|
84
102
|
if options['watch']
|
|
85
103
|
require 'directory_watcher'
|
data/gollum-site.gemspec
CHANGED
data/lib/gollum-site.rb
CHANGED
data/lib/gollum-site/page.rb
CHANGED
|
@@ -41,12 +41,17 @@ module Gollum
|
|
|
41
41
|
# Output static HTML of current page
|
|
42
42
|
def generate(output_path, version)
|
|
43
43
|
data = if l = layout()
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
SiteLog.debug("Found layout - #{name}")
|
|
45
|
+
SiteLog.debug("Starting page rendering - #{name}")
|
|
46
|
+
rendered = l.render( 'page' => self,
|
|
47
|
+
'site' => @wiki.site,
|
|
48
|
+
'wiki' => {'base_path' => @wiki.base_path})
|
|
49
|
+
SiteLog.debug("Finished page rendering - #{name}")
|
|
50
|
+
rendered
|
|
51
|
+
else
|
|
52
|
+
SiteLog.debug("Did not find layout - #{name}")
|
|
53
|
+
formatted_data
|
|
54
|
+
end
|
|
50
55
|
|
|
51
56
|
::File.open(::File.join(output_path, self.class.cname(name)), 'w') do |f|
|
|
52
57
|
f.write(data)
|
|
@@ -55,13 +60,20 @@ module Gollum
|
|
|
55
60
|
|
|
56
61
|
# Return data for Liquid template
|
|
57
62
|
def to_liquid
|
|
58
|
-
|
|
63
|
+
@to_liquid ||= liquify
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def liquify
|
|
67
|
+
SiteLog.debug("Starting page liquefication - #{name}")
|
|
68
|
+
data = { "path" => self.class.cname(name),
|
|
59
69
|
"link" => ::File.join(@wiki.base_path, CGI.escape(self.class.cname(name))),
|
|
60
70
|
"content" => formatted_data,
|
|
61
71
|
"title" => title,
|
|
62
72
|
"format" => format.to_s,
|
|
63
73
|
"author" => version.author.name,
|
|
64
74
|
"date" => version.authored_date.strftime("%Y-%m-%d %H:%M:%S")}
|
|
75
|
+
SiteLog.debug("Finished page liquefication - #{name}")
|
|
76
|
+
return data
|
|
65
77
|
end
|
|
66
78
|
|
|
67
79
|
def populate(blob, path)
|
|
@@ -69,5 +81,14 @@ module Gollum
|
|
|
69
81
|
@path = (path + '/' + blob.name)
|
|
70
82
|
self
|
|
71
83
|
end
|
|
84
|
+
|
|
85
|
+
def formatted_data(&block)
|
|
86
|
+
if @formatted_data.nil?
|
|
87
|
+
SiteLog.debug("Starting page formatting - #{name}")
|
|
88
|
+
@formatted_data = super(&block)
|
|
89
|
+
SiteLog.debug("Finished page formatting - #{name}")
|
|
90
|
+
end
|
|
91
|
+
return @formatted_data
|
|
92
|
+
end
|
|
72
93
|
end
|
|
73
94
|
end
|
data/lib/gollum-site/site.rb
CHANGED
|
@@ -125,7 +125,9 @@ module Gollum
|
|
|
125
125
|
::Dir.mkdir(@output_path) unless ::File.exists? @output_path
|
|
126
126
|
|
|
127
127
|
@pages.each do |name, page|
|
|
128
|
+
SiteLog.debug("Starting page generation - #{name}")
|
|
128
129
|
page.generate(@output_path, @version)
|
|
130
|
+
SiteLog.debug("Finished page generation - #{name}")
|
|
129
131
|
end
|
|
130
132
|
|
|
131
133
|
@files.each do |path, data|
|
data/lib/gollum-site/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gollum-site
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 31
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 0.1.
|
|
9
|
+
- 2
|
|
10
|
+
version: 0.1.2
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Daniel Reverri
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2010-12-
|
|
18
|
+
date: 2010-12-09 00:00:00 -08:00
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -48,6 +48,20 @@ dependencies:
|
|
|
48
48
|
version: "0"
|
|
49
49
|
type: :runtime
|
|
50
50
|
version_requirements: *id002
|
|
51
|
+
- !ruby/object:Gem::Dependency
|
|
52
|
+
name: mixlib-log
|
|
53
|
+
prerelease: false
|
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
55
|
+
none: false
|
|
56
|
+
requirements:
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
hash: 3
|
|
60
|
+
segments:
|
|
61
|
+
- 0
|
|
62
|
+
version: "0"
|
|
63
|
+
type: :runtime
|
|
64
|
+
version_requirements: *id003
|
|
51
65
|
description: Generate a static site for Gollum Wikis
|
|
52
66
|
email:
|
|
53
67
|
- dan@basho.com
|
|
@@ -451,6 +465,7 @@ files:
|
|
|
451
465
|
- lib/gollum-site/layout/javascript/jquery.previewable_comment_form.js
|
|
452
466
|
- lib/gollum-site/layout/javascript/jquery.tabs.js
|
|
453
467
|
- lib/gollum-site/layout/javascript/jquery.text_selection-1.0.0.min.js
|
|
468
|
+
- lib/gollum-site/log.rb
|
|
454
469
|
- lib/gollum-site/markup.rb
|
|
455
470
|
- lib/gollum-site/page.rb
|
|
456
471
|
- lib/gollum-site/site.rb
|