usmu 0.2.1 → 0.2.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.
- checksums.yaml +4 -4
- data/.travis.yml +18 -22
- data/CHANGELOG.md +82 -0
- data/README.md +0 -8
- data/Rakefile +32 -0
- data/bin/usmu +1 -5
- data/lib/usmu.rb +5 -3
- data/lib/usmu/configuration.rb +13 -1
- data/lib/usmu/plugin/core.rb +35 -1
- data/lib/usmu/site_generator.rb +13 -13
- data/lib/usmu/template/helpers.rb +19 -0
- data/lib/usmu/template/include.rb +87 -0
- data/lib/usmu/template/layout.rb +198 -0
- data/lib/usmu/template/page.rb +22 -0
- data/lib/usmu/template/static_file.rb +50 -0
- data/lib/usmu/version.rb +1 -1
- data/share/init-site/.gitignore +2 -0
- data/share/init-site/Gemfile +6 -0
- data/share/init-site/layouts/html.slim +8 -0
- data/share/init-site/source/index.md +3 -0
- data/share/init-site/usmu.yml +3 -0
- data/test/expected-site/.dotfiletest.txt +1 -0
- data/test/expected-site/default.html +4 -0
- data/test/expected-site/embedded.html +7 -0
- data/test/expected-site/index.html +4 -0
- data/test/site/content/.dotfiletest.txt +1 -0
- data/test/site/includes/footer.meta.yml +2 -0
- data/test/site/includes/footer.slim +1 -0
- data/test/site/layouts/embedded.slim +2 -0
- data/test/site/layouts/html.slim +2 -0
- data/test/spec/acceptance/full_site_build.feature +7 -2
- data/test/spec/acceptance/steps/full_site_build_steps.rb +9 -4
- data/test/spec/configuration_spec.rb +35 -14
- data/test/spec/site_generator_spec.rb +2 -2
- data/test/spec/{layout_spec.rb → template/layout_spec.rb} +4 -4
- data/test/spec/{page_spec.rb → template/page_spec.rb} +4 -4
- data/test/spec/{static_file_spec.rb → template/static_file_spec.rb} +5 -5
- data/usmu-jruby.gemspec +1 -1
- data/usmu.gemspec +1 -1
- metadata +29 -13
- data/lib/usmu/layout.rb +0 -189
- data/lib/usmu/page.rb +0 -20
- data/lib/usmu/static_file.rb +0 -48
@@ -11,7 +11,7 @@ RSpec.describe Usmu::SiteGenerator do
|
|
11
11
|
|
12
12
|
it 'should have a list of renderable items' do
|
13
13
|
expect(generator.respond_to? :renderables).to eq(true)
|
14
|
-
expect(generator.renderables.map {|r| r.name}.sort).to eq(%w{default.md embedded.md index.md robots.txt})
|
14
|
+
expect(generator.renderables.map {|r| r.name}.sort).to eq(%w{.dotfiletest.txt default.md embedded.md index.md robots.txt})
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have pages' do
|
@@ -21,7 +21,7 @@ RSpec.describe Usmu::SiteGenerator do
|
|
21
21
|
|
22
22
|
it 'should have files' do
|
23
23
|
expect(generator.respond_to? :files).to eq(true)
|
24
|
-
expect(generator.files.map {|f| f.name}.sort).to eq(%w{robots.txt})
|
24
|
+
expect(generator.files.map {|f| f.name}.sort).to eq(%w{.dotfiletest.txt robots.txt})
|
25
25
|
end
|
26
26
|
|
27
27
|
it 'should be able to generate a site' do
|
@@ -1,18 +1,18 @@
|
|
1
1
|
require 'support/shared_layout'
|
2
|
-
require 'usmu/layout'
|
2
|
+
require 'usmu/template/layout'
|
3
3
|
|
4
|
-
RSpec.describe Usmu::Layout do
|
4
|
+
RSpec.describe Usmu::Template::Layout do
|
5
5
|
it_behaves_like 'an embeddable layout'
|
6
6
|
|
7
7
|
let(:configuration) { Usmu::Configuration.from_hash({}) }
|
8
8
|
|
9
9
|
it 'uses the \'layouts\' folder' do
|
10
|
-
layout = Usmu::Layout.new(configuration, 'html.slim', 'slim', "head\nbody", {})
|
10
|
+
layout = Usmu::Template::Layout.new(configuration, 'html.slim', 'slim', "head\nbody", {})
|
11
11
|
expect(layout.send :content_path).to eq('layouts')
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'has an input path' do
|
15
|
-
layout = Usmu::Layout.new(configuration, 'html.slim', 'slim', "head\nbody", {})
|
15
|
+
layout = Usmu::Template::Layout.new(configuration, 'html.slim', 'slim', "head\nbody", {})
|
16
16
|
expect(layout.respond_to? :input_path).to eq(true)
|
17
17
|
expect(layout.input_path).to eq('layouts/html.slim')
|
18
18
|
end
|
@@ -1,18 +1,18 @@
|
|
1
1
|
require 'support/shared_layout'
|
2
|
-
require 'usmu/page'
|
2
|
+
require 'usmu/template/page'
|
3
3
|
|
4
|
-
RSpec.describe Usmu::Page do
|
4
|
+
RSpec.describe Usmu::Template::Page do
|
5
5
|
it_behaves_like 'an embeddable layout'
|
6
6
|
|
7
7
|
let(:configuration) { Usmu::Configuration.from_hash({}) }
|
8
8
|
|
9
9
|
it 'uses the \'source\' folder' do
|
10
|
-
page = Usmu::Page.new(configuration, 'index.md', 'md', '# test', {})
|
10
|
+
page = Usmu::Template::Page.new(configuration, 'index.md', 'md', '# test', {})
|
11
11
|
expect(page.send :content_path).to eq('src')
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'has an input path' do
|
15
|
-
page = Usmu::Page.new(configuration, 'index.md', 'md', '# test', {})
|
15
|
+
page = Usmu::Template::Page.new(configuration, 'index.md', 'md', '# test', {})
|
16
16
|
expect(page.respond_to? :input_path).to eq(true)
|
17
17
|
expect(page.input_path).to eq('src/index.md')
|
18
18
|
end
|
@@ -1,26 +1,26 @@
|
|
1
1
|
require 'support/shared_layout'
|
2
|
-
require 'usmu/static_file'
|
2
|
+
require 'usmu/template/static_file'
|
3
3
|
|
4
|
-
RSpec.describe Usmu::StaticFile do
|
4
|
+
RSpec.describe Usmu::Template::StaticFile do
|
5
5
|
it_behaves_like 'a renderable file'
|
6
6
|
|
7
7
|
let(:configuration) { Usmu::Configuration.from_file('test/site/usmu.yml') }
|
8
8
|
|
9
9
|
it 'uses the \'source\' folder' do
|
10
|
-
file = Usmu::StaticFile.new(configuration, 'robots.txt')
|
10
|
+
file = Usmu::Template::StaticFile.new(configuration, 'robots.txt')
|
11
11
|
rendered = file.render
|
12
12
|
expect(rendered).to eq(File.read('test/expected-site/robots.txt'))
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'has an input path' do
|
16
16
|
configuration = Usmu::Configuration.from_hash({})
|
17
|
-
page = Usmu::StaticFile.new(configuration, 'robots.txt', 'txt', '', {})
|
17
|
+
page = Usmu::Template::StaticFile.new(configuration, 'robots.txt', 'txt', '', {})
|
18
18
|
expect(page.respond_to? :input_path).to eq(true)
|
19
19
|
expect(page.input_path).to eq('src/robots.txt')
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'has an output filename that matches input' do
|
23
|
-
file = Usmu::StaticFile.new(configuration, 'robots.txt')
|
23
|
+
file = Usmu::Template::StaticFile.new(configuration, 'robots.txt')
|
24
24
|
expect(file.output_filename).to eq('robots.txt')
|
25
25
|
end
|
26
26
|
end
|
data/usmu-jruby.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
-
spec.add_dependency 'slim', '~>
|
25
|
+
spec.add_dependency 'slim', '~> 3.0'
|
26
26
|
spec.add_dependency 'tilt', '~> 2.0'
|
27
27
|
spec.add_dependency 'kramdown', '~> 1.5'
|
28
28
|
spec.add_dependency 'deep_merge', '~> 1.0'
|
data/usmu.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
22
22
|
spec.require_paths = ['lib']
|
23
23
|
|
24
|
-
spec.add_dependency 'slim', '~>
|
24
|
+
spec.add_dependency 'slim', '~> 3.0'
|
25
25
|
spec.add_dependency 'tilt', '~> 2.0'
|
26
26
|
spec.add_dependency 'redcarpet', '~> 3.2', '>= 3.2.1'
|
27
27
|
spec.add_dependency 'deep_merge', '~> 1.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usmu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Scharley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: slim
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tilt
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,6 +242,7 @@ files:
|
|
242
242
|
- ".simplecov"
|
243
243
|
- ".travis.yml"
|
244
244
|
- ".yardopts"
|
245
|
+
- CHANGELOG.md
|
245
246
|
- CONTRIBUTING.md
|
246
247
|
- Gemfile
|
247
248
|
- Gemfile-jruby
|
@@ -253,25 +254,36 @@ files:
|
|
253
254
|
- cucumber.yml
|
254
255
|
- lib/usmu.rb
|
255
256
|
- lib/usmu/configuration.rb
|
256
|
-
- lib/usmu/layout.rb
|
257
|
-
- lib/usmu/page.rb
|
258
257
|
- lib/usmu/plugin.rb
|
259
258
|
- lib/usmu/plugin/core.rb
|
260
259
|
- lib/usmu/site_generator.rb
|
261
|
-
- lib/usmu/
|
260
|
+
- lib/usmu/template/helpers.rb
|
261
|
+
- lib/usmu/template/include.rb
|
262
|
+
- lib/usmu/template/layout.rb
|
263
|
+
- lib/usmu/template/page.rb
|
264
|
+
- lib/usmu/template/static_file.rb
|
262
265
|
- lib/usmu/ui.rb
|
263
266
|
- lib/usmu/ui/console.rb
|
264
267
|
- lib/usmu/version.rb
|
268
|
+
- share/init-site/.gitignore
|
269
|
+
- share/init-site/Gemfile
|
270
|
+
- share/init-site/layouts/html.slim
|
271
|
+
- share/init-site/source/index.md
|
272
|
+
- share/init-site/usmu.yml
|
273
|
+
- test/expected-site/.dotfiletest.txt
|
265
274
|
- test/expected-site/default.html
|
266
275
|
- test/expected-site/embedded.html
|
267
276
|
- test/expected-site/index.html
|
268
277
|
- test/expected-site/robots.txt
|
278
|
+
- test/site/content/.dotfiletest.txt
|
269
279
|
- test/site/content/default.md
|
270
280
|
- test/site/content/embedded.md
|
271
281
|
- test/site/content/embedded.meta.yml
|
272
282
|
- test/site/content/index.md
|
273
283
|
- test/site/content/index.meta.yml
|
274
284
|
- test/site/content/robots.txt
|
285
|
+
- test/site/includes/footer.meta.yml
|
286
|
+
- test/site/includes/footer.slim
|
275
287
|
- test/site/layouts/embedded.meta.yml
|
276
288
|
- test/site/layouts/embedded.slim
|
277
289
|
- test/site/layouts/html.meta.yml
|
@@ -280,15 +292,15 @@ files:
|
|
280
292
|
- test/spec/acceptance/full_site_build.feature
|
281
293
|
- test/spec/acceptance/steps/full_site_build_steps.rb
|
282
294
|
- test/spec/configuration_spec.rb
|
283
|
-
- test/spec/layout_spec.rb
|
284
295
|
- test/spec/mock/usmu/mock_plugin.rb
|
285
|
-
- test/spec/page_spec.rb
|
286
296
|
- test/spec/plugin/core_spec.rb
|
287
297
|
- test/spec/plugin_spec.rb
|
288
298
|
- test/spec/site_generator_spec.rb
|
289
299
|
- test/spec/spec_helper.rb
|
290
|
-
- test/spec/static_file_spec.rb
|
291
300
|
- test/spec/support/shared_layout.rb
|
301
|
+
- test/spec/template/layout_spec.rb
|
302
|
+
- test/spec/template/page_spec.rb
|
303
|
+
- test/spec/template/static_file_spec.rb
|
292
304
|
- test/spec/ui/console_spec.rb
|
293
305
|
- usmu-jruby.gemspec
|
294
306
|
- usmu.gemspec
|
@@ -317,16 +329,20 @@ signing_key:
|
|
317
329
|
specification_version: 4
|
318
330
|
summary: A static site generator with a web-based frontend for editing.
|
319
331
|
test_files:
|
332
|
+
- test/expected-site/.dotfiletest.txt
|
320
333
|
- test/expected-site/default.html
|
321
334
|
- test/expected-site/embedded.html
|
322
335
|
- test/expected-site/index.html
|
323
336
|
- test/expected-site/robots.txt
|
337
|
+
- test/site/content/.dotfiletest.txt
|
324
338
|
- test/site/content/default.md
|
325
339
|
- test/site/content/embedded.md
|
326
340
|
- test/site/content/embedded.meta.yml
|
327
341
|
- test/site/content/index.md
|
328
342
|
- test/site/content/index.meta.yml
|
329
343
|
- test/site/content/robots.txt
|
344
|
+
- test/site/includes/footer.meta.yml
|
345
|
+
- test/site/includes/footer.slim
|
330
346
|
- test/site/layouts/embedded.meta.yml
|
331
347
|
- test/site/layouts/embedded.slim
|
332
348
|
- test/site/layouts/html.meta.yml
|
@@ -335,14 +351,14 @@ test_files:
|
|
335
351
|
- test/spec/acceptance/full_site_build.feature
|
336
352
|
- test/spec/acceptance/steps/full_site_build_steps.rb
|
337
353
|
- test/spec/configuration_spec.rb
|
338
|
-
- test/spec/layout_spec.rb
|
339
354
|
- test/spec/mock/usmu/mock_plugin.rb
|
340
|
-
- test/spec/page_spec.rb
|
341
355
|
- test/spec/plugin/core_spec.rb
|
342
356
|
- test/spec/plugin_spec.rb
|
343
357
|
- test/spec/site_generator_spec.rb
|
344
358
|
- test/spec/spec_helper.rb
|
345
|
-
- test/spec/static_file_spec.rb
|
346
359
|
- test/spec/support/shared_layout.rb
|
360
|
+
- test/spec/template/layout_spec.rb
|
361
|
+
- test/spec/template/page_spec.rb
|
362
|
+
- test/spec/template/static_file_spec.rb
|
347
363
|
- test/spec/ui/console_spec.rb
|
348
364
|
has_rdoc:
|
data/lib/usmu/layout.rb
DELETED
@@ -1,189 +0,0 @@
|
|
1
|
-
require 'tilt'
|
2
|
-
require 'deep_merge'
|
3
|
-
require 'usmu/static_file'
|
4
|
-
|
5
|
-
module Usmu
|
6
|
-
# Class to represent files templated with a Tilt library. Most of the custom rendering logic is contained here.
|
7
|
-
class Layout < StaticFile
|
8
|
-
# @!attribute [r] type
|
9
|
-
# @return [String] the type of file this is. This is used to determine which template engine to use.
|
10
|
-
attr_reader :type
|
11
|
-
|
12
|
-
# @param configuration [Usmu::Configuration] The configuration for the website we're generating.
|
13
|
-
# @param name [String] The name of the file in the source directory.
|
14
|
-
# @param type [String] The type of template to use with the file. Used for testing purposes.
|
15
|
-
# @param content [String] The content of the file. Used for testing purposes.
|
16
|
-
# @param metadata [String] The metadata for the file. Used for testing purposes.
|
17
|
-
def initialize(configuration, name, type = nil, content = nil, metadata = nil)
|
18
|
-
super(configuration, name)
|
19
|
-
|
20
|
-
if type.nil?
|
21
|
-
type = name.split('.').last
|
22
|
-
unless ::Tilt.default_mapping[type]
|
23
|
-
raise "Templates of type '#{type}' aren't currently supported by Tilt. " +
|
24
|
-
'Do you have the required gem installed?'
|
25
|
-
end
|
26
|
-
end
|
27
|
-
@type = type
|
28
|
-
path = File.join("#{content_path}", "#{name[0, name.length - type.length - 1]}")
|
29
|
-
|
30
|
-
if content.nil?
|
31
|
-
content = File.read("#{path}.#{type}")
|
32
|
-
end
|
33
|
-
@content = content
|
34
|
-
|
35
|
-
if metadata.nil?
|
36
|
-
meta_file = "#{path}.meta.yml"
|
37
|
-
metadata = if File.exist? meta_file
|
38
|
-
YAML.load_file(meta_file)
|
39
|
-
else
|
40
|
-
{}
|
41
|
-
end
|
42
|
-
end
|
43
|
-
@metadata = metadata
|
44
|
-
|
45
|
-
@parent = nil
|
46
|
-
@parent = Layout.find_layout(configuration, self.metadata['layout'])
|
47
|
-
end
|
48
|
-
|
49
|
-
# @!attribute [r] metadata
|
50
|
-
# @return [Hash] the metadata associated with this layout.
|
51
|
-
#
|
52
|
-
# Returns the metadata associated with this layout.
|
53
|
-
#
|
54
|
-
# This will include any metadata from parent templates and default metadata
|
55
|
-
def metadata
|
56
|
-
if @parent.nil?
|
57
|
-
(@configuration['default meta'] || {}).dup.deep_merge!(@metadata)
|
58
|
-
else
|
59
|
-
@parent.metadata.deep_merge!(@metadata)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# Renders the file with any templating language required and returns the result
|
64
|
-
#
|
65
|
-
# @param variables [Hash] Variables to be used in the template.
|
66
|
-
# @return [String] The rendered file.
|
67
|
-
def render(variables = {})
|
68
|
-
content = template_class.new("#{@name}.#{@type}", 1, @configuration[provider_name]) { @content }.
|
69
|
-
render(nil, get_variables(variables))
|
70
|
-
has_cr = content.index("\r")
|
71
|
-
content += (has_cr ? "\r\n" : "\n") if content[-1] != "\n"
|
72
|
-
if @parent.nil?
|
73
|
-
content
|
74
|
-
else
|
75
|
-
@parent.render({'content' => content})
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
# @!attribute [r] input_path
|
80
|
-
# @return [String] the full path to the file in the source directory
|
81
|
-
def input_path
|
82
|
-
File.join(content_path, @name)
|
83
|
-
end
|
84
|
-
|
85
|
-
# @!attribute [r] output_extension
|
86
|
-
# @return [String] the extension to use with the output file.
|
87
|
-
def output_extension
|
88
|
-
case @type
|
89
|
-
when 'erb', 'rhtml', 'erubis', 'liquid'
|
90
|
-
nil
|
91
|
-
when 'coffee'
|
92
|
-
'js'
|
93
|
-
when 'less', 'sass', 'scss'
|
94
|
-
'css'
|
95
|
-
else
|
96
|
-
'html'
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
# @!attribute [r] output_filename
|
101
|
-
# @return [String] the filename to use in the output directory.
|
102
|
-
#
|
103
|
-
# Returns the filename to use for the output directory with any modifications to the input filename required.
|
104
|
-
def output_filename
|
105
|
-
if output_extension
|
106
|
-
@name[0..@name.rindex('.')] + output_extension
|
107
|
-
else
|
108
|
-
@name[0..@name.rindex('.') - 1]
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
# Static method to create a layout for a given configuration by it's name if it exists. This differs from
|
113
|
-
# `#initialise` in that it allows different types of values to be supplied as the name and will not fail if name
|
114
|
-
# is nil
|
115
|
-
#
|
116
|
-
# @param configuration [Usmu::Configuration] The configuration to use for the search
|
117
|
-
# @param name [String]
|
118
|
-
# If name is a string then search for a template with that name. Name here should not include
|
119
|
-
# file extension, eg. body not body.slim. If name is not a string then it will be returned verbatim. This means
|
120
|
-
# that name is nilable and can also be passed in as an Usmu::Layout already for testing purposes.
|
121
|
-
# @return [Usmu::Layout]
|
122
|
-
def self.find_layout(configuration, name)
|
123
|
-
if name === 'none'
|
124
|
-
nil
|
125
|
-
elsif name.class.name == 'String'
|
126
|
-
Dir["#{configuration.layouts_path}/#{name}.*"].each do |f|
|
127
|
-
filename = File.basename(f)
|
128
|
-
if filename != "#{name}.meta.yml"
|
129
|
-
return new(configuration, f[(configuration.layouts_path.length + 1)..f.length])
|
130
|
-
end
|
131
|
-
end
|
132
|
-
nil
|
133
|
-
else
|
134
|
-
name
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
# Tests if a given file is a valid Tilt template based on the filename.
|
139
|
-
#
|
140
|
-
# @param folder_type [String]
|
141
|
-
# One of `"source"` or `"layout"` depending on where the template is in the source tree.
|
142
|
-
# Not used by Usmu::Layout directly but intended to be available for future API.
|
143
|
-
# @param name [String] The filename to be tested.
|
144
|
-
# @return [Boolean]
|
145
|
-
def self.is_valid_file?(folder_type, name)
|
146
|
-
type = name.split('.').last
|
147
|
-
::Tilt.default_mapping[type] ? true : false
|
148
|
-
end
|
149
|
-
|
150
|
-
protected
|
151
|
-
|
152
|
-
# @!attribute [r] template_class
|
153
|
-
# @return [Tilt::Template] the Tilt template engine for this layout
|
154
|
-
def template_class
|
155
|
-
@template_class ||= ::Tilt.default_mapping[@type]
|
156
|
-
end
|
157
|
-
|
158
|
-
# @!attribute [r] provider_name
|
159
|
-
# @return [String] the Tilt template engine's name for this layout
|
160
|
-
#
|
161
|
-
# Returns the Tilt template engine's name for this layout.
|
162
|
-
#
|
163
|
-
# This is used to determine which settings to use from the configuration file.
|
164
|
-
def provider_name
|
165
|
-
Tilt.default_mapping.lazy_map[@type].select {|x| x[0] == template_class.name }.first[1].split('/').last
|
166
|
-
end
|
167
|
-
|
168
|
-
# @!attribute [r] content_path
|
169
|
-
# @return [string] the base path to the files used by this class.
|
170
|
-
#
|
171
|
-
# Returns the base path to the files used by this class.
|
172
|
-
#
|
173
|
-
# This folder should be the parent folder for the file named by the name attribute.
|
174
|
-
#
|
175
|
-
# @see #name
|
176
|
-
def content_path
|
177
|
-
@configuration.layouts_path
|
178
|
-
end
|
179
|
-
|
180
|
-
private
|
181
|
-
|
182
|
-
# Utility function which collates variables to pass to the template engine.
|
183
|
-
#
|
184
|
-
# @return [Hash]
|
185
|
-
def get_variables(variables)
|
186
|
-
{site: @configuration}.deep_merge!(metadata).deep_merge!(variables)
|
187
|
-
end
|
188
|
-
end
|
189
|
-
end
|
data/lib/usmu/page.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'usmu/layout'
|
2
|
-
|
3
|
-
module Usmu
|
4
|
-
# Represents a page in the source directory of the website.
|
5
|
-
class Page < Layout
|
6
|
-
protected
|
7
|
-
|
8
|
-
# @!attribute [r] content_path
|
9
|
-
# @return [string] the base path to the files used by this class.
|
10
|
-
#
|
11
|
-
# Returns the base path to the files used by this class.
|
12
|
-
#
|
13
|
-
# This folder should be the parent folder for the file named by the name attribute.
|
14
|
-
#
|
15
|
-
# @see #name
|
16
|
-
def content_path
|
17
|
-
@configuration.source_path
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|