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: 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).