jekyll-frontadder 0.0.1 → 0.0.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/lib/jekyll-frontadder.rb +31 -21
- data/lib/jekyll_frontadder/version.rb +1 -1
- metadata +56 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff62bd252c1a60d98dcca8095edf14f0f38bbf60
|
4
|
+
data.tar.gz: 4d2c7f0db75d2b018c6c37bcd769a71c2ab9f72c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cea23a390ed7076f1df8e791419b8b5db56175c60411fa803234dcb3663ab849605ff2c719b6adbae8d217bbdf01faf2f846a880ae4a8b7afc342312c985b3cc
|
7
|
+
data.tar.gz: 80f0883ca158e5c7be905861535a39971d7c722a4646e2eba54996fb4cca9be7b0555e9ef5fde8ea98a56f7b09bce6eb835d64862d62162524d61738456561e9
|
data/lib/jekyll-frontadder.rb
CHANGED
@@ -1,33 +1,43 @@
|
|
1
|
-
# This plugin
|
2
|
-
#
|
3
|
-
|
4
|
-
# V1 only handles hour summary
|
5
|
-
#
|
6
|
-
# TODO: Extend to process multiple types of efforts
|
7
|
-
module JekyllFrontAdder
|
1
|
+
# This Jekyll Generator plugin looks for specified hashes in a post's front matter and adds them up.
|
2
|
+
# The final result is stored into the site's data tree for use in layouts
|
3
|
+
module Jekyll
|
8
4
|
# Here's our work horse class
|
9
5
|
class JekyllFrontAdderGen < Jekyll::Generator
|
10
|
-
|
11
|
-
@hours = { 'total' => 0 }
|
12
|
-
@parts = { 'total' => 0 }
|
13
|
-
@types = { 'total' => 0 }
|
14
|
-
@hours.default = 0
|
15
|
-
@parts.default = 0
|
16
|
-
@types.default = 0
|
17
|
-
end
|
18
|
-
|
6
|
+
# Called by Jekyll to run our plugin
|
19
7
|
def generate(site)
|
8
|
+
# Pickup array of frontmatter things to add up
|
9
|
+
frontadd = site.config["frontadder"]
|
10
|
+
if frontadd.nil?
|
11
|
+
Jekyll.logger.warn 'Frontadder: frontadder not defined in _config.yml, skipping'
|
12
|
+
return
|
13
|
+
end
|
14
|
+
Jekyll.logger.debug 'Frontadder: Will add listed hashes: ', frontadd
|
15
|
+
|
16
|
+
# Initialize hashes for each hash to add
|
17
|
+
frontadd.each do |addme|
|
18
|
+
site.data[addme] ||= {}
|
19
|
+
end
|
20
|
+
|
21
|
+
# For each post, loop through the list of hashes to add and do it.
|
20
22
|
site.posts.docs.each do |post|
|
21
|
-
next if post.data['layout'] != 'buildlog'
|
22
23
|
Jekyll.logger.debug 'Processing: ', post.url
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
frontadd.each do |addme|
|
25
|
+
next unless post.data[addme].respond_to?(:merge)
|
26
|
+
site.data[addme] = addhashes(site.data[addme], post.data[addme])
|
27
|
+
post.data[addme]['runtotal'] = site.data[addme]
|
28
|
+
end
|
26
29
|
end
|
27
30
|
end
|
28
31
|
|
29
|
-
|
32
|
+
private
|
33
|
+
|
34
|
+
# This will add two hases together and return the result - recursive
|
30
35
|
def addhashes(h1, h2)
|
36
|
+
if h1.respond_to?(:merge) && h2.respond_to?(:merge)
|
37
|
+
return h1.merge(h2) { |_key, old, new| addhashes(old, new) }
|
38
|
+
else
|
39
|
+
return h1 + h2
|
40
|
+
end
|
31
41
|
end
|
32
42
|
end
|
33
43
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-frontadder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nitehawk
|
@@ -11,33 +11,81 @@ cert_chain: []
|
|
11
11
|
date: 2016-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: jekyll
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.1.6
|
20
|
+
- - <
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.2.0
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
29
|
+
version: 3.1.6
|
30
|
+
- - <
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.2.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
34
|
+
name: bundler
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ~>
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.6'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.6'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '10'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '10'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rspec
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ~>
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '3.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rubocop
|
29
77
|
requirement: !ruby/object:Gem::Requirement
|
30
78
|
requirements:
|
31
79
|
- - '>='
|
32
80
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
type: :
|
81
|
+
version: '0'
|
82
|
+
type: :development
|
35
83
|
prerelease: false
|
36
84
|
version_requirements: !ruby/object:Gem::Requirement
|
37
85
|
requirements:
|
38
86
|
- - '>='
|
39
87
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
88
|
+
version: '0'
|
41
89
|
description: Jekyll generator to sum frontmatter elements
|
42
90
|
email:
|
43
91
|
- nite97m@gmail.com
|