jekyll-namespaces 0.0.2 → 0.0.3

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
  SHA256:
3
- metadata.gz: 6a486b2fb9c89ac6247a8650948f1111e81836bb374afe532cb08e254dccd831
4
- data.tar.gz: 94e8c5b5404a1f4550fe2cc6fc06f40df372f61c7ba65a901bda40b4cca6766c
3
+ metadata.gz: 65ad7b1dd59a4c7ba4c74ede8dcc430aaa775e8b11827b3525fe22d529764d36
4
+ data.tar.gz: 4268a0a5d2eeec0c8997fbfcfd22e4794c22df851766a0f2620d4d2dda40d506
5
5
  SHA512:
6
- metadata.gz: c214a76c788e7fe52bc27ec85977546237f714be562973c433fa94f94764c8c88fdf0202a595f9845b85a43b8549c23b9707b05b33176d2f13014395d0da03cb
7
- data.tar.gz: e0a73b6a22a2c80d32f8142152d46da831f32e73989daa0271766c894cd1debe5245bf36d6aa750556a494ec6560248a98b3144af3edccbd4fa1bfec7ee7c962
6
+ metadata.gz: 2371310d132f8ba3bcaddb09e5e99a2997224cf457987fa1b12dbc954ab86526d4c9c6634141acb239694c11feb0c3718440442b22cb54779b87f773ea176d32
7
+ data.tar.gz: 2629b35bd44d2f72a3508f4b4edafe8e43b2baa6a1e20a9373afe0cceb35c1957ad2ac7d83f5f0a2eb32aa84f11bdea67be3f53b61663d105b229675e1f679cd
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 get_all_relative_ids(target_node_id, node=@root, ancestors=[], descendents=[], found=false)
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.get_all_relative_ids(target_node_id, child_node, ancestors.clone, descendents, found=true)
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.get_all_relative_ids(target_node_id, child_node, ancestors.clone))
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 find_doc_immediate_relatives(target_doc, node=nil, ancestors=[])
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.find_doc_immediate_relatives") if node == nil
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.find_doc_immediate_relatives(target_doc, child_node, ancestors.clone))
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 "Ancestors: ", ancestors.length
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)
@@ -3,7 +3,7 @@
3
3
  module Jekyll
4
4
  module Namespaces
5
5
 
6
- VERSION = "0.0.2"
7
-
6
+ VERSION = "0.0.3"
7
+
8
8
  end
9
9
  end
@@ -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.debug("No documents to process.")
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.debug("No root.md detected.")
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.find_doc_immediate_relatives(doc)
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 "As of 0.0.2, 'd3_graph_data' should now be 'd3' and requires the 'jekyll-d3' plugin."
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 "As of 0.0.2, all markdown files are processed by default. Use 'exclude' config to exclude document types."
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.2
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-09-17 00:00:00.000000000 Z
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.17
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).