dimples 1.2.7 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a73dc6ff33514291145038bf268afb9accc0850
4
- data.tar.gz: 2322912a45d40638953802426d010f94b4f244bf
3
+ metadata.gz: 6137fed4c04eb60b2980b23535eaa6f2896b29a7
4
+ data.tar.gz: d067089b92d87469f81dc41f8e746cce3be5981f
5
5
  SHA512:
6
- metadata.gz: 9c3e1148fc8dd3c9145cfb89e0dacaeb3dddadfc906625bae5f9a8407f6466cf408133af07a50cbc4f0809a5173c988855e843883928b743f71ea2b26ff141bc
7
- data.tar.gz: b5d15cac9bcb4a3a9bf51e9c4916ceef8d7020060be89d07dbc123fbd59866a05423213bf558e244e834f2620a4964035dc339abb6e08b1d5a24c61c30d4555b
6
+ metadata.gz: d936bbfb627af7aec7f603cfa62084e5cfb6734e53c5f1a61211175f18a728cba3f55165caacd68624505724949be075c73853f2a49d22aba0619853334251bb
7
+ data.tar.gz: 71e5fd671cadeeb9ba4543577d0a562aa190c2dfede666f23aabebbeca2ba66f8d623ba75555f333af2039acc56efb1421fe76f6f9aed35efe1df37a95ff512d
@@ -3,16 +3,12 @@ module Dimples
3
3
  include Frontable
4
4
 
5
5
  attr_accessor :slug
6
- attr_accessor :path
7
6
  attr_accessor :name
8
7
  attr_accessor :posts
9
8
 
10
- def initialize(slug, path)
9
+ def initialize(slug, name = nil)
11
10
  @slug = slug
12
- @path = path
13
- @name = @slug.capitalize
14
-
15
- read_with_yaml(path)
11
+ @name = name || @slug.capitalize
16
12
 
17
13
  @posts = []
18
14
  end
@@ -65,7 +65,10 @@ module Dimples
65
65
  'year' => '%Y',
66
66
  'month' => '%Y-%m',
67
67
  'day' => '%Y-%m-%d',
68
- }
68
+ },
69
+
70
+ 'categories' => [
71
+ ]
69
72
  }
70
73
  end
71
74
  end
data/lib/dimples/post.rb CHANGED
@@ -50,8 +50,10 @@ module Dimples
50
50
  @categories = {}
51
51
 
52
52
  slugs.each do |slug|
53
+ @site.categories[slug] ||= Dimples::Category.new(slug)
53
54
  @site.categories[slug].posts << self
54
- @categories[slug] = @site.categories[slug]
55
+
56
+ @categories[slug] ||= @site.categories[slug]
55
57
  end
56
58
  end
57
59
 
data/lib/dimples/site.rb CHANGED
@@ -32,7 +32,7 @@ module Dimples
32
32
  @source_paths[:root] = File.expand_path(@config['source_path'])
33
33
  @output_paths[:site] = File.expand_path(@config['destination_path'])
34
34
 
35
- %w{categories pages posts public templates}.each do |path|
35
+ %w{pages posts public templates}.each do |path|
36
36
  @source_paths[path.to_sym] = File.join(@source_paths[:root], path)
37
37
  end
38
38
 
@@ -41,6 +41,7 @@ module Dimples
41
41
 
42
42
  def generate
43
43
  prepare_site
44
+ prepare_categories
44
45
  scan_files
45
46
  generate_files
46
47
  copy_assets
@@ -62,9 +63,14 @@ module Dimples
62
63
  end
63
64
  end
64
65
 
66
+ def prepare_categories
67
+ @config["categories"].each do |category|
68
+ @categories[category["slug"]] = Dimples::Category.new(category["slug"], category["name"])
69
+ end
70
+ end
71
+
65
72
  def scan_files
66
73
  scan_templates
67
- scan_categories
68
74
  scan_pages
69
75
  scan_posts
70
76
  end
@@ -76,15 +82,6 @@ module Dimples
76
82
  end
77
83
  end
78
84
 
79
- def scan_categories
80
- Dir.glob(File.join(@source_paths[:categories], '*.*')).each do |path|
81
- slug = File.basename(path, File.extname(path))
82
- category = Dimples::Category.new(slug, path)
83
-
84
- @categories[category.slug] = category
85
- end
86
- end
87
-
88
85
  def scan_pages
89
86
  Dir.glob(File.join(@source_paths[:pages], '**', '*.*')).each do |path|
90
87
  @pages << @page_class.new(self, path)
@@ -1,3 +1,3 @@
1
1
  module Dimples
2
- VERSION = "1.2.7"
2
+ VERSION = "1.3.0"
3
3
  end
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: 1.2.7
4
+ version: 1.3.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: 2015-06-09 00:00:00.000000000 Z
11
+ date: 2015-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tilt
@@ -62,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  version: '0'
63
63
  requirements: []
64
64
  rubyforge_project:
65
- rubygems_version: 2.2.2
65
+ rubygems_version: 2.4.5
66
66
  signing_key:
67
67
  specification_version: 4
68
68
  summary: A basic static site generator