jekyll-maps 1.1.6 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +6 -0
- data/lib/jekyll-maps.rb +1 -0
- data/lib/jekyll-maps/location_finder.rb +33 -4
- data/lib/jekyll-maps/options_parser.rb +1 -2
- data/lib/jekyll-maps/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff712952d8af10379eb6c0b661849966afda5d95
|
4
|
+
data.tar.gz: 7c177d50a81d48be0231d9b3f408d0b893d5143b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b08891aa61f5a8206265a7eb89cb744f7e9762c71bc82442be66725104654dd0b883fe8b6498d223bcfe5d65eeca8ef4066c0ed8d2f1845f46cb89d642f62b30
|
7
|
+
data.tar.gz: 4e2253c2dfa01023e861b5b75ccf8258e1b81904f35a43b085350a82af7bb251c06e51ba9cc204841a5aafd08e7cea27fbd584165593bcfb6e1f24ea961a5829
|
data/History.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## 2.0.0 / 2016-11-06
|
2
|
+
|
3
|
+
* change default behaviour to load location from current page
|
4
|
+
* removed on-page flag
|
5
|
+
* change attributes syntax to HTML-style
|
6
|
+
|
1
7
|
## 1.1.6 / 2016-09-07
|
2
8
|
* fix #15 - broken page if there is <header> tag used
|
3
9
|
* allow setting custom zoom level with `zoom:10` attribute
|
data/lib/jekyll-maps.rb
CHANGED
@@ -7,16 +7,40 @@ module Jekyll
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def find(site, page)
|
10
|
-
if @options[:
|
10
|
+
if @options[:filters].empty?
|
11
11
|
@documents << page if location?(page)
|
12
12
|
else
|
13
13
|
site.collections.each { |_, collection| filter(collection.docs) }
|
14
|
-
site.
|
14
|
+
site_data(site).each { |_, items| traverse(items) }
|
15
15
|
end
|
16
16
|
|
17
17
|
convert
|
18
18
|
end
|
19
19
|
|
20
|
+
private
|
21
|
+
def site_data(site)
|
22
|
+
return {} unless data_source?
|
23
|
+
|
24
|
+
path = @options[:filters]["src"].scan(%r!_data\/([^\/]+)!).join(".")
|
25
|
+
return site.data if path.empty?
|
26
|
+
|
27
|
+
data = OpenStruct.new(site.data)
|
28
|
+
data[path]
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
def data_source?
|
33
|
+
filters = @options[:filters]
|
34
|
+
filters.key?("src") && filters["src"].start_with?("_data")
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
def traverse(items)
|
39
|
+
return filter(items) if items.is_a?(Array)
|
40
|
+
|
41
|
+
items.each { |_, children| traverse(children) } if items.is_a?(Hash)
|
42
|
+
end
|
43
|
+
|
20
44
|
private
|
21
45
|
def filter(docs)
|
22
46
|
docs.each do |doc|
|
@@ -31,8 +55,13 @@ module Jekyll
|
|
31
55
|
|
32
56
|
private
|
33
57
|
def match_filters?(doc)
|
34
|
-
@options[:filters].each do |
|
35
|
-
|
58
|
+
@options[:filters].each do |filter, value|
|
59
|
+
if filter == "src"
|
60
|
+
return true unless doc.respond_to?(:relative_path)
|
61
|
+
return false unless doc.relative_path.start_with?(value)
|
62
|
+
elsif doc[filter].nil? || doc[filter] != value
|
63
|
+
return false
|
64
|
+
end
|
36
65
|
end
|
37
66
|
end
|
38
67
|
|
data/lib/jekyll-maps/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-maps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anatoliy Yastreb
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|