jekyll-namespaces 0.0.2 → 0.0.3
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65ad7b1dd59a4c7ba4c74ede8dcc430aaa775e8b11827b3525fe22d529764d36
|
4
|
+
data.tar.gz: 4268a0a5d2eeec0c8997fbfcfd22e4794c22df851766a0f2620d4d2dda40d506
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2371310d132f8ba3bcaddb09e5e99a2997224cf457987fa1b12dbc954ab86526d4c9c6634141acb239694c11feb0c3718440442b22cb54779b87f773ea176d32
|
7
|
+
data.tar.gz: 2629b35bd44d2f72a3508f4b4edafe8e43b2baa6a1e20a9373afe0cceb35c1957ad2ac7d83f5f0a2eb32aa84f11bdea67be3f53b61663d105b229675e1f679cd
|
File without changes
|
File without changes
|
@@ -26,7 +26,7 @@ module Jekyll
|
|
26
26
|
# add unique path for the given doc to tree (node-class).
|
27
27
|
def add_path(doc, node=nil, depth=1)
|
28
28
|
node = @root if depth == 1
|
29
|
-
Jekyll.logger.error("Incorrect node in tree.add_path") if node == nil
|
29
|
+
Jekyll.logger.error("Jekyll-Namespaces: Incorrect node in tree.add_path") if node == nil
|
30
30
|
levels = doc.data['slug'].split(/\s|\./)
|
31
31
|
# handle doc if the given node was not root and we are at depth
|
32
32
|
if depth == levels.length
|
@@ -58,7 +58,7 @@ module Jekyll
|
|
58
58
|
self.add_path(doc, new_node, depth + 1)
|
59
59
|
end
|
60
60
|
|
61
|
-
def
|
61
|
+
def get_all_lineage_ids(target_node_id, node=@root, ancestors=[], descendents=[], found=false)
|
62
62
|
# found target node, stop adding ancestors and build descendents
|
63
63
|
if target_node_id == node.url || target_node_id == node.namespace || found
|
64
64
|
node.children.each do |child_node|
|
@@ -68,7 +68,7 @@ module Jekyll
|
|
68
68
|
else
|
69
69
|
descendents << child_node.doc.url
|
70
70
|
end
|
71
|
-
self.
|
71
|
+
self.get_all_lineage_ids(target_node_id, child_node, ancestors.clone, descendents, found=true)
|
72
72
|
end
|
73
73
|
return ancestors, descendents
|
74
74
|
# target node not yet found, build ancestors
|
@@ -81,17 +81,31 @@ module Jekyll
|
|
81
81
|
end
|
82
82
|
results = []
|
83
83
|
node.children.each do |child_node|
|
84
|
-
results.concat(self.
|
84
|
+
results.concat(self.get_all_lineage_ids(target_node_id, child_node, ancestors.clone))
|
85
85
|
end
|
86
86
|
return results.select { |r| !r.nil? }
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
+
|
91
|
+
def get_sibling_ids(target_node_id, node=@root, parent=nil)
|
92
|
+
return [] if target_node_id === @root.url
|
93
|
+
# found target node
|
94
|
+
if target_node_id == node.url || target_node_id == node.namespace
|
95
|
+
return parent.children.select { |c| c.id }
|
96
|
+
# target node not yet found
|
97
|
+
else
|
98
|
+
node.children.each do |child_node|
|
99
|
+
self.get_sibling_ids(target_node_id, child_node, node)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
90
104
|
# find the parent and children of the 'target_doc'.
|
91
105
|
# ('node' as in the current node, which first is root.)
|
92
|
-
def
|
106
|
+
def find_doc_ancestors_and_children_metadata(target_doc, node=nil, ancestors=[])
|
93
107
|
node = @root if ancestors == []
|
94
|
-
Jekyll.logger.error("Incorrect node in tree.
|
108
|
+
Jekyll.logger.error("Jekyll-Namespaces: Incorrect node in tree.find_doc_immediate_lineages") if node == nil
|
95
109
|
if target_doc == node.doc
|
96
110
|
children = []
|
97
111
|
node.children.each do |child|
|
@@ -112,7 +126,7 @@ module Jekyll
|
|
112
126
|
end
|
113
127
|
results = []
|
114
128
|
node.children.each do |child_node|
|
115
|
-
results.concat(self.
|
129
|
+
results.concat(self.find_doc_ancestors_and_children_metadata(target_doc, child_node, ancestors.clone))
|
116
130
|
end
|
117
131
|
return results.select { |r| !r.nil? }
|
118
132
|
end
|
@@ -120,9 +134,8 @@ module Jekyll
|
|
120
134
|
|
121
135
|
# ...for debugging
|
122
136
|
def print_tree(node, ancestors=[])
|
123
|
-
Jekyll.logger.warn
|
124
|
-
Jekyll.logger.warn node
|
125
|
-
Jekyll.logger.warn "Children: ", node.children
|
137
|
+
Jekyll.logger.warn("Jekyll-Namespaces: ")
|
138
|
+
Jekyll.logger.warn("Ancestors: #{ancestors.length}; #{node}; Children: #{node.children}")
|
126
139
|
ancestors.append(node.id)
|
127
140
|
node.children.each do |child_node|
|
128
141
|
self.print_tree(child_node, ancestors.clone)
|
data/lib/jekyll-namespaces.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require "jekyll"
|
3
3
|
|
4
|
-
require_relative "jekyll-namespaces/context"
|
5
|
-
require_relative "jekyll-namespaces/site"
|
4
|
+
require_relative "jekyll-namespaces/patch/context"
|
5
|
+
require_relative "jekyll-namespaces/patch/site"
|
6
6
|
require_relative "jekyll-namespaces/tree"
|
7
7
|
require_relative "jekyll-namespaces/version"
|
8
8
|
|
@@ -37,20 +37,20 @@ module Jekyll
|
|
37
37
|
docs += @site.docs_to_write.filter { |d| !excluded?(d.type) }
|
38
38
|
@md_docs = docs.filter { |doc| markdown_extension?(doc.extname) }
|
39
39
|
if @md_docs.empty?
|
40
|
-
Jekyll.logger.
|
40
|
+
Jekyll.logger.warn("Jekyll-Namespaces: No documents to process.")
|
41
41
|
end
|
42
42
|
|
43
43
|
# tree setup
|
44
44
|
root_doc = @md_docs.detect { |d| d.data['slug'] == 'root' }
|
45
45
|
if root_doc.nil?
|
46
|
-
Jekyll.logger.
|
46
|
+
Jekyll.logger.error("Jekyll-Namespaces: No root.md detected.")
|
47
47
|
end
|
48
48
|
@site.tree = Tree.new(root_doc, @md_docs)
|
49
49
|
|
50
50
|
# generate metadata
|
51
51
|
@md_docs.each do |doc|
|
52
52
|
doc.data['namespace'] = doc.data['slug']
|
53
|
-
doc.data['ancestors'], doc.data['children'] = @site.tree.
|
53
|
+
doc.data['ancestors'], doc.data['children'] = @site.tree.find_doc_ancestors_and_children_metadata(doc)
|
54
54
|
end
|
55
55
|
|
56
56
|
end
|
@@ -86,10 +86,10 @@ module Jekyll
|
|
86
86
|
|
87
87
|
def old_config_warn()
|
88
88
|
if @config.include?("d3_graph_data")
|
89
|
-
Jekyll.logger.warn
|
89
|
+
Jekyll.logger.warn("Jekyll-Namespaces: As of 0.0.2, 'd3_graph_data' should now be 'd3' and requires the 'jekyll-graph' plugin.")
|
90
90
|
end
|
91
91
|
if option_exist?("include")
|
92
|
-
Jekyll.logger.warn
|
92
|
+
Jekyll.logger.warn("Jekyll-Namespaces: As of 0.0.2, all markdown files are processed by default. Use 'exclude' config to exclude document types.")
|
93
93
|
end
|
94
94
|
end
|
95
95
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-namespaces
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- manunamz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -18,8 +18,8 @@ extensions: []
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- lib/jekyll-namespaces.rb
|
21
|
-
- lib/jekyll-namespaces/context.rb
|
22
|
-
- lib/jekyll-namespaces/site.rb
|
21
|
+
- lib/jekyll-namespaces/patch/context.rb
|
22
|
+
- lib/jekyll-namespaces/patch/site.rb
|
23
23
|
- lib/jekyll-namespaces/tree.rb
|
24
24
|
- lib/jekyll-namespaces/version.rb
|
25
25
|
homepage: https://github.com/manunamz/jekyll-namespaces
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
46
|
requirements: []
|
47
|
-
rubygems_version: 3.2.
|
47
|
+
rubygems_version: 3.2.27
|
48
48
|
signing_key:
|
49
49
|
specification_version: 4
|
50
50
|
summary: Add jekyll support for namespaced.filenames (in markdown files).
|