gollum 5.2.3 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +41 -0
- data/Gemfile +18 -4
- data/HISTORY.md +3 -3
- data/LATEST_CHANGES.md +13 -0
- data/README.md +38 -26
- data/Rakefile +55 -12
- data/bin/gollum +6 -4
- data/bin/gollum-migrate-tags +40 -28
- data/docker-run.sh +18 -0
- data/gollum.gemspec +19 -14
- data/lib/gollum/app.rb +66 -42
- data/lib/gollum/public/assets/.sprockets-manifest-160337b312f8e438181baac4aaa37319.json +1 -0
- data/lib/gollum/public/assets/{app-ad43ca64b295d8444b10f22ee868f18429268af498f1bc515434878b690e37a2.css → app-309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5.css} +1 -1
- data/lib/gollum/public/assets/{app-ad43ca64b295d8444b10f22ee868f18429268af498f1bc515434878b690e37a2.css.gz → app-309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5.css.gz} +0 -0
- data/lib/gollum/public/assets/{app-0fd228e26bfbe6fe31a2da268eb0e98e780c1191c1a918adf383377946e9c838.js → app-f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5.js} +2 -2
- data/lib/gollum/public/assets/{app-0fd228e26bfbe6fe31a2da268eb0e98e780c1191c1a918adf383377946e9c838.js.gz → app-f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5.js.gz} +0 -0
- data/lib/gollum/public/assets/criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css.gz +0 -0
- data/lib/gollum/public/assets/{editor-db10c8351306e92f1926ba225d0cd9c8e886482b3b9820a85825ec3abab5f1cf.js → editor-9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a.js} +2 -2
- data/lib/gollum/public/assets/{editor-db10c8351306e92f1926ba225d0cd9c8e886482b3b9820a85825ec3abab5f1cf.js.gz → editor-9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a.js.gz} +0 -0
- data/lib/gollum/public/assets/print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css.gz +0 -0
- data/lib/gollum/public/gollum/javascript/app.js +1 -0
- data/lib/gollum/public/gollum/javascript/date.min.js +123 -0
- data/lib/gollum/public/gollum/javascript/editor/gollum.editor.js +1 -1
- data/lib/gollum/public/gollum/javascript/gollum.js.erb +20 -2
- data/lib/gollum/public/gollum/stylesheets/editor.scss +1 -0
- data/lib/gollum/public/gollum/stylesheets/template.scss.erb +8 -0
- data/lib/gollum/templates/commit.mustache +4 -2
- data/lib/gollum/templates/compare.mustache +10 -4
- data/lib/gollum/templates/create.mustache +7 -4
- data/lib/gollum/templates/edit.mustache +7 -4
- data/lib/gollum/templates/history.mustache +10 -3
- data/lib/gollum/templates/latest_changes.mustache +8 -5
- data/lib/gollum/templates/layout.mustache +1 -0
- data/lib/gollum/templates/navbar.mustache +9 -2
- data/lib/gollum/templates/overview.mustache +7 -4
- data/lib/gollum/templates/search.mustache +7 -1
- data/lib/gollum/templates/wiki_content.mustache +4 -2
- data/lib/gollum/views/commit.rb +4 -0
- data/lib/gollum/views/create.rb +3 -2
- data/lib/gollum/views/edit.rb +2 -5
- data/lib/gollum/views/has_math.rb +11 -0
- data/lib/gollum/views/helpers/locale_helpers.rb +82 -0
- data/lib/gollum/views/history.rb +17 -12
- data/lib/gollum/views/latest_changes.rb +15 -10
- data/lib/gollum/views/layout.rb +6 -1
- data/lib/gollum/views/page.rb +23 -18
- data/lib/gollum/views/template_cascade.rb +40 -0
- data/lib/gollum.rb +10 -6
- metadata +55 -28
- data/lib/gollum/public/assets/.sprockets-manifest-de7bb79aec424e55af1acdcc4237b301.json +0 -1
data/gollum.gemspec
CHANGED
@@ -1,12 +1,9 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
|
-
s.specification_version = 2 if s.respond_to? :specification_version=
|
3
2
|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
4
|
-
s.
|
5
|
-
s.required_ruby_version = '>= 1.9'
|
3
|
+
s.required_ruby_version = '>= 2.6'
|
6
4
|
|
7
5
|
s.name = 'gollum'
|
8
|
-
s.version = '5.
|
9
|
-
s.date = '2021-04-18'
|
6
|
+
s.version = '5.3.0'
|
10
7
|
s.license = 'MIT'
|
11
8
|
|
12
9
|
s.summary = 'A simple, Git-powered wiki.'
|
@@ -23,12 +20,13 @@ Gem::Specification.new do |s|
|
|
23
20
|
s.rdoc_options = ['--charset=UTF-8']
|
24
21
|
s.extra_rdoc_files = %w[README.md LICENSE]
|
25
22
|
|
23
|
+
s.add_dependency 'rdoc', '~> 6'
|
26
24
|
s.add_dependency 'gollum-lib', '~> 5.1'
|
27
25
|
s.add_dependency 'kramdown', '~> 2.3'
|
28
26
|
s.add_dependency 'kramdown-parser-gfm', '~> 1.1.0'
|
29
27
|
s.add_dependency 'sinatra', '~> 2.0'
|
30
28
|
s.add_dependency 'sinatra-contrib', '~> 2.0'
|
31
|
-
s.add_dependency 'mustache-sinatra', '
|
29
|
+
s.add_dependency 'mustache-sinatra', '>= 1.0.1', '< 2'
|
32
30
|
s.add_dependency 'useragent', '~> 0.16.2'
|
33
31
|
s.add_dependency 'gemojione', '~> 4.1'
|
34
32
|
s.add_dependency 'octicons', '~> 12.0'
|
@@ -39,19 +37,21 @@ Gem::Specification.new do |s|
|
|
39
37
|
s.add_dependency 'rss', '~> 0.2.9'
|
40
38
|
s.add_dependency 'therubyrhino', '~> 2.1.0'
|
41
39
|
s.add_dependency 'webrick', '~> 1.7'
|
40
|
+
s.add_dependency 'i18n', '~> 1.8'
|
42
41
|
|
43
42
|
s.add_development_dependency 'rack-test', '~> 0.6.3'
|
44
43
|
s.add_development_dependency 'shoulda', '~> 3.6.0'
|
45
44
|
s.add_development_dependency 'minitest-reporters', '~> 1.3.6'
|
46
|
-
s.add_development_dependency 'twitter_cldr', '~> 3.2.0'
|
47
45
|
s.add_development_dependency 'mocha', '~> 1.8.0'
|
48
46
|
s.add_development_dependency 'test-unit', '~> 3.3.0'
|
49
47
|
|
50
48
|
# = MANIFEST =
|
51
49
|
s.files = %w[
|
52
50
|
CONTRIBUTING.md
|
51
|
+
Dockerfile
|
53
52
|
Gemfile
|
54
53
|
HISTORY.md
|
54
|
+
LATEST_CHANGES.md
|
55
55
|
LICENSE
|
56
56
|
README.md
|
57
57
|
Rakefile
|
@@ -64,20 +64,21 @@ Gem::Specification.new do |s|
|
|
64
64
|
contrib/openrc/init.d/gollum
|
65
65
|
contrib/systemd/gollum@.service
|
66
66
|
contrib/sysv-debian/init.d/gollum
|
67
|
+
docker-run.sh
|
67
68
|
gollum.gemspec
|
68
69
|
lib/gollum.rb
|
69
70
|
lib/gollum/app.rb
|
70
71
|
lib/gollum/assets.rb
|
71
72
|
lib/gollum/helpers.rb
|
72
|
-
lib/gollum/public/assets/.sprockets-manifest-
|
73
|
-
lib/gollum/public/assets/app-
|
74
|
-
lib/gollum/public/assets/app-
|
75
|
-
lib/gollum/public/assets/app-
|
76
|
-
lib/gollum/public/assets/app-
|
73
|
+
lib/gollum/public/assets/.sprockets-manifest-160337b312f8e438181baac4aaa37319.json
|
74
|
+
lib/gollum/public/assets/app-309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5.css
|
75
|
+
lib/gollum/public/assets/app-309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5.css.gz
|
76
|
+
lib/gollum/public/assets/app-f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5.js
|
77
|
+
lib/gollum/public/assets/app-f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5.js.gz
|
77
78
|
lib/gollum/public/assets/criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css
|
78
79
|
lib/gollum/public/assets/criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css.gz
|
79
|
-
lib/gollum/public/assets/editor-
|
80
|
-
lib/gollum/public/assets/editor-
|
80
|
+
lib/gollum/public/assets/editor-9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a.js
|
81
|
+
lib/gollum/public/assets/editor-9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a.js.gz
|
81
82
|
lib/gollum/public/assets/print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css
|
82
83
|
lib/gollum/public/assets/print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css.gz
|
83
84
|
lib/gollum/public/gollum/javascript/HOWTO_UPDATE_ACE.md
|
@@ -1152,6 +1153,7 @@ Gem::Specification.new do |s|
|
|
1152
1153
|
lib/gollum/public/gollum/javascript/ace/worker-xquery.js
|
1153
1154
|
lib/gollum/public/gollum/javascript/app.js
|
1154
1155
|
lib/gollum/public/gollum/javascript/clipboard.min.js
|
1156
|
+
lib/gollum/public/gollum/javascript/date.min.js
|
1155
1157
|
lib/gollum/public/gollum/javascript/editor.js
|
1156
1158
|
lib/gollum/public/gollum/javascript/editor/gollum.editor.js
|
1157
1159
|
lib/gollum/public/gollum/javascript/editor/langs/asciidoc.js
|
@@ -1218,9 +1220,11 @@ Gem::Specification.new do |s|
|
|
1218
1220
|
lib/gollum/views/edit.rb
|
1219
1221
|
lib/gollum/views/editable.rb
|
1220
1222
|
lib/gollum/views/error.rb
|
1223
|
+
lib/gollum/views/has_math.rb
|
1221
1224
|
lib/gollum/views/has_page.rb
|
1222
1225
|
lib/gollum/views/has_user_icons.rb
|
1223
1226
|
lib/gollum/views/helpers.rb
|
1227
|
+
lib/gollum/views/helpers/locale_helpers.rb
|
1224
1228
|
lib/gollum/views/history.rb
|
1225
1229
|
lib/gollum/views/latest_changes.rb
|
1226
1230
|
lib/gollum/views/layout.rb
|
@@ -1229,6 +1233,7 @@ Gem::Specification.new do |s|
|
|
1229
1233
|
lib/gollum/views/pagination.rb
|
1230
1234
|
lib/gollum/views/rss.rb
|
1231
1235
|
lib/gollum/views/search.rb
|
1236
|
+
lib/gollum/views/template_cascade.rb
|
1232
1237
|
licenses/licenses.txt
|
1233
1238
|
]
|
1234
1239
|
# = MANIFEST =
|
data/lib/gollum/app.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
2
3
|
require 'cgi'
|
3
4
|
require 'sinatra'
|
4
5
|
require 'sinatra/namespace'
|
@@ -14,12 +15,15 @@ require 'pathname'
|
|
14
15
|
require 'gollum'
|
15
16
|
require 'gollum/assets'
|
16
17
|
require 'gollum/views/helpers'
|
18
|
+
require 'gollum/views/helpers/locale_helpers'
|
17
19
|
require 'gollum/views/layout'
|
18
20
|
require 'gollum/views/editable'
|
19
21
|
require 'gollum/views/has_page'
|
20
22
|
require 'gollum/views/has_user_icons'
|
23
|
+
require 'gollum/views/has_math'
|
21
24
|
require 'gollum/views/pagination'
|
22
25
|
require 'gollum/views/rss.rb'
|
26
|
+
require 'gollum/views/template_cascade'
|
23
27
|
|
24
28
|
require File.expand_path '../helpers', __FILE__
|
25
29
|
|
@@ -40,7 +44,7 @@ Gollum::set_git_max_filesize(190 * 10**6)
|
|
40
44
|
# See the wiki.rb file for more details on wiki options
|
41
45
|
|
42
46
|
module Precious
|
43
|
-
|
47
|
+
|
44
48
|
# For use with the --base-path option.
|
45
49
|
class MapGollum
|
46
50
|
def initialize(base_path)
|
@@ -63,12 +67,14 @@ module Precious
|
|
63
67
|
@mg.call(env)
|
64
68
|
end
|
65
69
|
end
|
66
|
-
|
70
|
+
|
67
71
|
class App < Sinatra::Base
|
68
72
|
register Mustache::Sinatra
|
69
73
|
register Sinatra::Namespace
|
70
74
|
include Precious::Helpers
|
71
|
-
|
75
|
+
|
76
|
+
Encoding.default_external = "UTF-8"
|
77
|
+
|
72
78
|
dir = File.dirname(File.expand_path(__FILE__))
|
73
79
|
|
74
80
|
set :sprockets, ::Precious::Assets.sprockets(dir)
|
@@ -97,16 +103,18 @@ module Precious
|
|
97
103
|
end
|
98
104
|
|
99
105
|
before do
|
100
|
-
|
101
|
-
@allow_editing = settings.wiki_options[:allow_editing]
|
106
|
+
@allow_editing = settings.wiki_options.fetch(:allow_editing, true)
|
102
107
|
@critic_markup = settings.wiki_options[:critic_markup]
|
103
108
|
@redirects_enabled = settings.wiki_options.fetch(:redirects_enabled, true)
|
104
109
|
@per_page_uploads = settings.wiki_options[:per_page_uploads]
|
110
|
+
@show_local_time = settings.wiki_options.fetch(:show_local_time, false)
|
105
111
|
|
106
112
|
@wiki_title = settings.wiki_options.fetch(:title, 'Gollum Wiki')
|
107
113
|
|
108
|
-
|
109
|
-
|
114
|
+
if settings.wiki_options[:template_dir]
|
115
|
+
Precious::Views::Layout.extend Precious::Views::TemplateCascade
|
116
|
+
Precious::Views::Layout.template_priority_path = settings.wiki_options[:template_dir]
|
117
|
+
end
|
110
118
|
|
111
119
|
@base_url = url('/', false).chomp('/').force_encoding('utf-8')
|
112
120
|
@page_dir = settings.wiki_options[:page_file_dir].to_s
|
@@ -116,11 +124,12 @@ module Precious
|
|
116
124
|
@css = settings.wiki_options[:css]
|
117
125
|
@js = settings.wiki_options[:js]
|
118
126
|
@mathjax_config = settings.wiki_options[:mathjax_config]
|
127
|
+
@mathjax = settings.wiki_options[:mathjax]
|
119
128
|
|
120
129
|
@use_static_assets = settings.wiki_options.fetch(:static, settings.environment != :development)
|
121
130
|
@static_assets_path = settings.wiki_options.fetch(:static_assets_path, ::File.join(File.dirname(__FILE__), 'public/assets'))
|
122
131
|
@mathjax_path = ::File.join(File.dirname(__FILE__), 'public/gollum/javascript/MathJax')
|
123
|
-
|
132
|
+
|
124
133
|
Sprockets::Helpers.configure do |config|
|
125
134
|
config.environment = settings.sprockets
|
126
135
|
config.environment.context_class.class_variable_set(:@@base_url, @base_url)
|
@@ -131,6 +140,8 @@ module Precious
|
|
131
140
|
config.manifest = Sprockets::Manifest.new(settings.sprockets, @static_assets_path)
|
132
141
|
end
|
133
142
|
end
|
143
|
+
|
144
|
+
forbid unless @allow_editing || request.request_method == 'GET'
|
134
145
|
end
|
135
146
|
|
136
147
|
get '/' do
|
@@ -167,7 +178,9 @@ module Precious
|
|
167
178
|
content_type :json
|
168
179
|
if page = wiki_page(params[:path]).page
|
169
180
|
version = page.last_version
|
170
|
-
|
181
|
+
authored_date = version.authored_date
|
182
|
+
authored_date = authored_date.utc.iso8601 if @show_local_time
|
183
|
+
{:author => version.author.name, :date => authored_date}.to_json
|
171
184
|
end
|
172
185
|
end
|
173
186
|
|
@@ -208,7 +221,6 @@ module Precious
|
|
208
221
|
if page = wikip.page
|
209
222
|
@page = page
|
210
223
|
@content = page.text_data
|
211
|
-
@mathjax = wiki.mathjax
|
212
224
|
@etag = page.sha
|
213
225
|
mustache :edit
|
214
226
|
else
|
@@ -219,7 +231,7 @@ module Precious
|
|
219
231
|
|
220
232
|
# AJAX calls only
|
221
233
|
post '/upload_file' do
|
222
|
-
|
234
|
+
|
223
235
|
wiki = wiki_new
|
224
236
|
halt 405 unless wiki.allow_uploads
|
225
237
|
|
@@ -230,12 +242,12 @@ module Precious
|
|
230
242
|
halt 500 unless tempfile.is_a? Tempfile
|
231
243
|
|
232
244
|
if wiki.per_page_uploads
|
233
|
-
dir = request.referer.
|
245
|
+
dir = request.referer.match(/^https?:\/\/#{request.host_with_port}\/(.*)/)[1]
|
234
246
|
# remove base path if it is set
|
235
247
|
dir.sub!(/^#{wiki.base_path}/, '') if wiki.base_path
|
236
248
|
# remove base_url and gollum/* subpath if necessary
|
237
249
|
dir.sub!(/^\/gollum\/[-\w]+\//, '')
|
238
|
-
# remove file extension
|
250
|
+
# remove file extension
|
239
251
|
dir.sub!(/#{::File.extname(dir)}$/, '')
|
240
252
|
# revert escaped whitespaces
|
241
253
|
dir.gsub!(/%20/, ' ')
|
@@ -261,7 +273,7 @@ module Precious
|
|
261
273
|
options.merge! author
|
262
274
|
end
|
263
275
|
|
264
|
-
normalize = Gollum::Page.valid_extension?(fullname)
|
276
|
+
options[:normalize] = Gollum::Page.valid_extension?(fullname)
|
265
277
|
|
266
278
|
begin
|
267
279
|
wiki.write_file(reponame, contents, options)
|
@@ -317,7 +329,7 @@ module Precious
|
|
317
329
|
end
|
318
330
|
|
319
331
|
post '/edit/*' do
|
320
|
-
etag = params[:etag]
|
332
|
+
etag = params[:etag]
|
321
333
|
path = "/#{clean_url(sanitize_empty_params(params[:path]))}"
|
322
334
|
wiki = wiki_new
|
323
335
|
page = wiki.page(::File.join(path, params[:page]))
|
@@ -327,7 +339,7 @@ module Precious
|
|
327
339
|
# Signal edit collision and return the page's most recent version
|
328
340
|
halt 412, {etag: page.sha, text_data: page.text_data}.to_json
|
329
341
|
end
|
330
|
-
|
342
|
+
|
331
343
|
committer = Gollum::Committer.new(wiki, commit_message)
|
332
344
|
commit = { :committer => committer }
|
333
345
|
|
@@ -348,7 +360,7 @@ module Precious
|
|
348
360
|
commit[:message] = "Deleted #{filepath}"
|
349
361
|
wiki.delete_file(filepath, commit)
|
350
362
|
end
|
351
|
-
end
|
363
|
+
end
|
352
364
|
|
353
365
|
get '/create/*' do
|
354
366
|
forbid unless @allow_editing
|
@@ -356,7 +368,7 @@ module Precious
|
|
356
368
|
@name = wikip.name
|
357
369
|
@ext = wikip.ext
|
358
370
|
@path = wikip.path
|
359
|
-
@template_page = load_template(@path) if settings.wiki_options[:template_page]
|
371
|
+
@template_page = load_template(wikip, @path) if settings.wiki_options[:template_page]
|
360
372
|
@allow_uploads = wikip.wiki.allow_uploads
|
361
373
|
@upload_dest = find_upload_dest(wikip.fullpath)
|
362
374
|
|
@@ -430,23 +442,18 @@ module Precious
|
|
430
442
|
mustache :page
|
431
443
|
end
|
432
444
|
|
445
|
+
get %r{
|
446
|
+
/history/ # match any URL beginning with /history/
|
447
|
+
(.+?) # extract the full path (including any directories)
|
448
|
+
/
|
449
|
+
([0-9a-f]{40}) # match SHA
|
450
|
+
}x do |path, version|
|
451
|
+
wiki = wiki_new
|
452
|
+
show_history wiki_page(path, wiki.commit_for(version), wiki)
|
453
|
+
end
|
454
|
+
|
433
455
|
get '/history/*' do
|
434
|
-
|
435
|
-
@name = wikip.fullname
|
436
|
-
@page = wikip.page
|
437
|
-
@page_num = [params[:page_num].to_i, 1].max
|
438
|
-
@max_count = settings.wiki_options.fetch(:pagination_count, 10)
|
439
|
-
unless @page.nil?
|
440
|
-
@wiki = @page.wiki
|
441
|
-
@versions = @page.versions(
|
442
|
-
per_page: @max_count,
|
443
|
-
page_num: @page_num,
|
444
|
-
follow: settings.wiki_options.fetch(:follow_renames, true)
|
445
|
-
)
|
446
|
-
mustache :history
|
447
|
-
else
|
448
|
-
redirect to("/")
|
449
|
-
end
|
456
|
+
show_history wiki_page(params[:splat].first)
|
450
457
|
end
|
451
458
|
|
452
459
|
get '/latest_changes' do
|
@@ -593,6 +600,24 @@ module Precious
|
|
593
600
|
|
594
601
|
private
|
595
602
|
|
603
|
+
def show_history(wikip)
|
604
|
+
@name = wikip.fullname
|
605
|
+
@page = wikip.page
|
606
|
+
@page_num = [params[:page_num].to_i, 1].max
|
607
|
+
@max_count = settings.wiki_options.fetch(:pagination_count, 10)
|
608
|
+
unless @page.nil?
|
609
|
+
@wiki = @page.wiki
|
610
|
+
@versions = @page.versions(
|
611
|
+
per_page: @max_count,
|
612
|
+
page_num: @page_num,
|
613
|
+
follow: settings.wiki_options.fetch(:follow_renames, true)
|
614
|
+
)
|
615
|
+
mustache :history
|
616
|
+
else
|
617
|
+
redirect to("/")
|
618
|
+
end
|
619
|
+
end
|
620
|
+
|
596
621
|
def show_page_or_file(fullpath)
|
597
622
|
wiki = wiki_new
|
598
623
|
if page = wiki.page(fullpath)
|
@@ -604,7 +629,6 @@ module Precious
|
|
604
629
|
# Extensions and layout data
|
605
630
|
@editable = true
|
606
631
|
@toc_content = wiki.universal_toc ? @page.toc_data : nil
|
607
|
-
@mathjax = wiki.mathjax
|
608
632
|
@h1_title = wiki.h1_title
|
609
633
|
@bar_side = wiki.bar_side
|
610
634
|
@allow_uploads = wiki.allow_uploads
|
@@ -625,7 +649,7 @@ module Precious
|
|
625
649
|
end
|
626
650
|
end
|
627
651
|
end
|
628
|
-
|
652
|
+
|
629
653
|
def show_file(file)
|
630
654
|
return unless file
|
631
655
|
if file.on_disk?
|
@@ -636,9 +660,9 @@ module Precious
|
|
636
660
|
end
|
637
661
|
end
|
638
662
|
|
639
|
-
def load_template(path)
|
663
|
+
def load_template(wiki_page, path)
|
640
664
|
template_page = wiki_page(::File.join(path, '_Template')).page || wiki_page('/_Template').page
|
641
|
-
template_page ? Gollum::TemplateFilter.apply_filters(template_page.
|
665
|
+
template_page ? Gollum::TemplateFilter.apply_filters(wiki_page, template_page.text_data) : nil
|
642
666
|
end
|
643
667
|
|
644
668
|
def update_wiki_page(wiki, page, content, commit, name = nil, format = nil)
|
@@ -650,9 +674,9 @@ module Precious
|
|
650
674
|
wiki.update_page(page, name, format, content.to_s, commit)
|
651
675
|
end
|
652
676
|
|
653
|
-
def wiki_page(path, version = nil)
|
677
|
+
def wiki_page(path, version = nil, wiki = nil)
|
654
678
|
pathname = (Pathname.new('/') + path).cleanpath
|
655
|
-
wiki = wiki_new
|
679
|
+
wiki = wiki_new if wiki.nil?
|
656
680
|
OpenStruct.new(:wiki => wiki, :page => wiki.page(pathname.to_s, version = version),
|
657
681
|
:name => pathname.basename.sub_ext('').to_s, :path => pathname.dirname.to_s, :ext => pathname.extname, :fullname => pathname.basename.to_s, :fullpath => pathname.to_s)
|
658
682
|
end
|
@@ -683,4 +707,4 @@ module Precious
|
|
683
707
|
end
|
684
708
|
|
685
709
|
end
|
686
|
-
end
|
710
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"files":{"app-f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5.js":{"logical_path":"app.js","mtime":"2021-11-15T20:08:30-08:00","size":136040,"digest":"f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5","integrity":"sha256-8FQB7jdPDH9I/CvAjjC09NtwWGH9WJXtcJmGg7ODv7U="},"editor-9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a.js":{"logical_path":"editor.js","mtime":"2021-11-15T20:08:30-08:00","size":744886,"digest":"9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a","integrity":"sha256-mIHQx65mMpPw46fnJynux+lA+mExhcB2cJt20pL1cDo="},"app-309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5.css":{"logical_path":"app.css","mtime":"2021-11-15T20:08:30-08:00","size":396731,"digest":"309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5","integrity":"sha256-MJvgMjlueDsTpH31jzibfI4RwrLUJkBWC4dPZ3wl9uU="},"criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css":{"logical_path":"criticmarkup.css","mtime":"2021-08-22T15:24:51-07:00","size":646,"digest":"31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4","integrity":"sha256-Ma5dMoK7uOe3w8mRfp+2jjMVprSnXabOxI0huIRpBcQ="},"print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css":{"logical_path":"print.css","mtime":"2021-08-22T15:24:51-07:00","size":75,"digest":"512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb","integrity":"sha256-USSYw2i+DT+xuhBd+oQomuSDgOyfy++Ui9TiOwsJW/s="}},"assets":{"app.js":"app-f05401ee374f0c7f48fc2bc08e30b4f4db705861fd5895ed70998683b383bfb5.js","editor.js":"editor-9881d0c7ae663293f0e3a7e72729eec7e940fa613185c076709b76d292f5703a.js","app.css":"app-309be032396e783b13a47df58f389b7c8e11c2b2d42640560b874f677c25f6e5.css","criticmarkup.css":"criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css","print.css":"print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css"}}
|