dimples 6.0.3 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dimples +0 -7
- data/lib/dimples.rb +0 -1
- data/lib/dimples/site.rb +14 -53
- data/lib/dimples/version.rb +1 -1
- metadata +2 -3
- data/lib/dimples/plugin.rb +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92e195459728e28b5120a92a4282b2dbf7fe169f
|
4
|
+
data.tar.gz: ff63f1c065662ccc3dd8b64ca66e5a28fa78d398
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2bbd4a0f7e1165e4d2e3d2e8411d3ebe14a105cac745bc363d7638babecb673a3b6bc79c073a1c41c3ce99f9405302163f1fc30e1797fb9a6545d19570e3b63
|
7
|
+
data.tar.gz: e63c7504d58398086e15a4f42c3df8b281e59e50964aa28dd8467215b14a1c7a43e135acc79d1535988de4063e73cae5af012d2a1a0212cbfc7c7af434b3007c
|
data/bin/dimples
CHANGED
@@ -44,7 +44,6 @@ source_path = if options[:source]
|
|
44
44
|
Dir.pwd
|
45
45
|
end
|
46
46
|
|
47
|
-
plugins_path = File.join(source_path, 'plugins')
|
48
47
|
config_path = options[:config] || File.join(source_path, 'config.json')
|
49
48
|
|
50
49
|
if File.exist?(config_path)
|
@@ -60,12 +59,6 @@ else
|
|
60
59
|
Optimist.die "Unable to find config file (#{config_path})"
|
61
60
|
end
|
62
61
|
|
63
|
-
if Dir.exist?(plugins_path)
|
64
|
-
Dir.glob(File.join(plugins_path, '**', '*.rb')) do |path|
|
65
|
-
require path
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
62
|
config[:source] = source_path
|
70
63
|
|
71
64
|
if options[:destination]
|
data/lib/dimples.rb
CHANGED
data/lib/dimples/site.rb
CHANGED
@@ -30,10 +30,18 @@ module Dimples
|
|
30
30
|
|
31
31
|
def generate
|
32
32
|
prepare
|
33
|
-
|
33
|
+
|
34
|
+
read_templates
|
35
|
+
read_posts
|
36
|
+
read_pages
|
37
|
+
|
34
38
|
create_output_directory
|
35
39
|
copy_static_assets
|
36
|
-
|
40
|
+
|
41
|
+
publish_posts
|
42
|
+
publish_pages
|
43
|
+
publish_archives if @config.generation.year_archives
|
44
|
+
publish_categories if @config.generation.categories
|
37
45
|
rescue PublishingError, RenderingError, GenerationError => error
|
38
46
|
@errors << error
|
39
47
|
end
|
@@ -61,16 +69,6 @@ module Dimples
|
|
61
69
|
@latest_post = nil
|
62
70
|
end
|
63
71
|
|
64
|
-
def scan_sources
|
65
|
-
trigger_event(:before_file_scanning)
|
66
|
-
|
67
|
-
read_templates
|
68
|
-
read_posts
|
69
|
-
read_pages
|
70
|
-
|
71
|
-
trigger_event(:after_file_scanning)
|
72
|
-
end
|
73
|
-
|
74
72
|
def read_templates
|
75
73
|
@templates = {}
|
76
74
|
template_glob = File.join(@paths[:templates], '**', '*.*')
|
@@ -125,7 +123,7 @@ module Dimples
|
|
125
123
|
FileUtils.remove_dir(@paths[:destination])
|
126
124
|
end
|
127
125
|
|
128
|
-
|
126
|
+
FileUtils.mkdir_p(@paths[:destination])
|
129
127
|
rescue StandardError => e
|
130
128
|
message = "Couldn't prepare the output directory (#{e.message})"
|
131
129
|
raise GenerationError, message
|
@@ -138,21 +136,8 @@ module Dimples
|
|
138
136
|
raise GenerationError, "Failed to copy site assets (#{e.message})"
|
139
137
|
end
|
140
138
|
|
141
|
-
def publish_files
|
142
|
-
trigger_event(:before_publishing)
|
143
|
-
|
144
|
-
publish_posts
|
145
|
-
publish_pages
|
146
|
-
publish_archives if @config.generation.year_archives
|
147
|
-
publish_categories if @config.generation.categories
|
148
|
-
|
149
|
-
trigger_event(:after_publishing)
|
150
|
-
end
|
151
|
-
|
152
139
|
def publish_posts
|
153
140
|
@posts.each do |post|
|
154
|
-
trigger_event(:before_post_write, post)
|
155
|
-
|
156
141
|
path = File.join(
|
157
142
|
@paths[:destination],
|
158
143
|
post.date.strftime(@config.paths.posts),
|
@@ -160,8 +145,6 @@ module Dimples
|
|
160
145
|
)
|
161
146
|
|
162
147
|
post.write(path)
|
163
|
-
|
164
|
-
trigger_event(:after_post_write, post)
|
165
148
|
end
|
166
149
|
|
167
150
|
if @config.generation.main_feed
|
@@ -179,8 +162,6 @@ module Dimples
|
|
179
162
|
|
180
163
|
def publish_pages
|
181
164
|
@pages.each do |page|
|
182
|
-
trigger_event(:before_page_write, page)
|
183
|
-
|
184
165
|
path = if page.path
|
185
166
|
File.dirname(page.path).sub(
|
186
167
|
@paths[:pages],
|
@@ -191,8 +172,6 @@ module Dimples
|
|
191
172
|
end
|
192
173
|
|
193
174
|
page.write(path)
|
194
|
-
|
195
|
-
trigger_event(:after_page_write, page)
|
196
175
|
end
|
197
176
|
end
|
198
177
|
|
@@ -312,33 +291,15 @@ module Dimples
|
|
312
291
|
end
|
313
292
|
|
314
293
|
def archive_year(year)
|
315
|
-
@archives[:year][year.to_s] ||= {
|
316
|
-
month: {},
|
317
|
-
posts: []
|
318
|
-
}
|
294
|
+
@archives[:year][year.to_s] ||= { month: {}, posts: [] }
|
319
295
|
end
|
320
296
|
|
321
297
|
def archive_month(year, month)
|
322
|
-
archive_year(year)[:month][month.to_s] ||= {
|
323
|
-
day: {},
|
324
|
-
posts: []
|
325
|
-
}
|
298
|
+
archive_year(year)[:month][month.to_s] ||= { day: {}, posts: [] }
|
326
299
|
end
|
327
300
|
|
328
301
|
def archive_day(year, month, day)
|
329
|
-
archive_month(year, month)[:day][day.to_s] ||= {
|
330
|
-
posts: []
|
331
|
-
}
|
332
|
-
end
|
333
|
-
|
334
|
-
def plugins
|
335
|
-
@plugins ||= Plugin.subclasses&.map { |subclass| subclass.new(self) }
|
336
|
-
end
|
337
|
-
|
338
|
-
def trigger_event(event, item = nil)
|
339
|
-
plugins&.each do |plugin|
|
340
|
-
plugin.process(event, item) if plugin.supports_event?(event)
|
341
|
-
end
|
302
|
+
archive_month(year, month)[:day][day.to_s] ||= { posts: [] }
|
342
303
|
end
|
343
304
|
end
|
344
305
|
end
|
data/lib/dimples/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dimples
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0
|
4
|
+
version: 6.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Bogan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
@@ -184,7 +184,6 @@ files:
|
|
184
184
|
- lib/dimples/frontable.rb
|
185
185
|
- lib/dimples/page.rb
|
186
186
|
- lib/dimples/pager.rb
|
187
|
-
- lib/dimples/plugin.rb
|
188
187
|
- lib/dimples/post.rb
|
189
188
|
- lib/dimples/renderer.rb
|
190
189
|
- lib/dimples/site.rb
|
data/lib/dimples/plugin.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Dimples
|
4
|
-
# A Ruby class that can receive events from Dimples as a site is processed.
|
5
|
-
class Plugin
|
6
|
-
EVENTS = %i[
|
7
|
-
before_file_scanning
|
8
|
-
after_file_scanning
|
9
|
-
before_publishing
|
10
|
-
after_publishing
|
11
|
-
before_post_write
|
12
|
-
before_page_write
|
13
|
-
after_post_write
|
14
|
-
after_page_write
|
15
|
-
].freeze
|
16
|
-
|
17
|
-
class << self
|
18
|
-
attr_reader :subclasses
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.inherited(subclass)
|
22
|
-
(@subclasses ||= []) << subclass
|
23
|
-
end
|
24
|
-
|
25
|
-
def initialize(site)
|
26
|
-
@site = site
|
27
|
-
end
|
28
|
-
|
29
|
-
def process(event, item); end
|
30
|
-
|
31
|
-
def supported_events
|
32
|
-
[]
|
33
|
-
end
|
34
|
-
|
35
|
-
def supports_event?(event)
|
36
|
-
supported_events.include?(event)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|