jekyll-graph 0.0.8 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -2
- data/jekyll-graph.gemspec +0 -3
- data/lib/jekyll-graph/jekyll-graph.js +1 -1
- data/lib/jekyll-graph/version.rb +1 -1
- data/lib/jekyll-graph.rb +20 -9
- metadata +3 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c8e8d2c47a467d671a541f0383514514ce1dc661b547384badcf7ff127a7f48
|
4
|
+
data.tar.gz: b71d501a8c8b3eabcc7f5c54534d299bcb31b15459281ec57ee54a72275ddb07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc3bb48999037c60980546dbec3192ae9c857b11f73cc36d947370535f0a81e7420b2273af8bbd1ee24fb0fa637354f0dfca8658c5dcae521b78525c928cdf3c
|
7
|
+
data.tar.gz: a397d40e8f56f1968780bc0fcf8573471365746ff59a1ad6f4a2685e09dfb0a5756df1eaaf0141721a6caa9dec78ec91290926f3f7eed504319691656d5a22e7
|
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
# Jekyll-Graph
|
2
2
|
|
3
|
+
[![A WikiBonsai Project](https://img.shields.io/badge/%F0%9F%8E%8B-A%20WikiBonsai%20Project-brightgreen)](https://github.com/wikibonsai/wikibonsai)
|
4
|
+
[![Ruby Gem](https://img.shields.io/gem/v/jekyll-graph)](https://rubygems.org/gems/jekyll-graph)
|
5
|
+
|
3
6
|
⚠️ This is gem is under active development! ⚠️
|
4
7
|
|
5
8
|
⚠️ Expect breaking changes and surprises until otherwise noted (likely by v0.1.0 or v1.0.0). ⚠️
|
6
9
|
|
7
|
-
Jekyll-Graph generates data and renders a graph that allows visitors to navigate a jekyll site by clicking nodes in the graph. Nodes are generated from the site's markdown files. Links for the tree graph are generated from [`jekyll-namespaces`](https://github.com/manunamz/jekyll-namespaces) and links for the net-web graph from [`jekyll-wikilinks`](https://github.com/manunamz/jekyll-wikilinks).
|
10
|
+
Jekyll-Graph generates data and renders a graph that allows visitors to navigate a jekyll site by clicking nodes in the graph. Nodes are generated from the site's markdown files. Links for the tree graph are generated from [`jekyll-semtree`](https://github.com/wikibonsai/jekyll-semtree) or [`jekyll-namespaces`](https://github.com/manunamz/jekyll-namespaces) and links for the net-web graph from [`jekyll-wikirefs`](https://github.com/wikibonsai/jekyll-wikirefs) [`jekyll-wikilinks`](https://github.com/manunamz/jekyll-wikilinks).
|
8
11
|
|
9
|
-
|
12
|
+
🏡 Build and maintain a treehouze to play in in your [WikiBonsai](https://github.com/wikibonsai/wikibonsai) digital garden.
|
10
13
|
|
11
14
|
## Installation
|
12
15
|
|
@@ -144,6 +147,8 @@ No configurations are strictly necessary for plugin defaults to work.
|
|
144
147
|
Graph colors are determined by css variables which may be defined like so -- any valid css color works (hex, rgba, etc.):
|
145
148
|
|
146
149
|
```CSS
|
150
|
+
/* make sure color vars are attached to the root of the html document */
|
151
|
+
html {
|
147
152
|
/* nodes */
|
148
153
|
/* glow */
|
149
154
|
--graph-node-current-glow: yellow;
|
@@ -159,6 +164,7 @@ Graph colors are determined by css variables which may be defined like so -- any
|
|
159
164
|
--graph-particles-color: grey;
|
160
165
|
/* label text */
|
161
166
|
--graph-text-color: black;
|
167
|
+
}
|
162
168
|
```
|
163
169
|
|
164
170
|
## Data
|
data/jekyll-graph.gemspec
CHANGED
@@ -34,7 +34,4 @@ Gem::Specification.new do |spec|
|
|
34
34
|
|
35
35
|
# For more information and examples about making a new gem, checkout our
|
36
36
|
# guide at: https://bundler.io/guides/creating_gem.html
|
37
|
-
|
38
|
-
spec.add_runtime_dependency "jekyll-namespaces", "~> 0.0.3"
|
39
|
-
spec.add_runtime_dependency "jekyll-wikilinks", "~> 0.0.11"
|
40
37
|
end
|
@@ -227,7 +227,7 @@ export default class JekyllGraph {
|
|
227
227
|
// draw helpers
|
228
228
|
|
229
229
|
shiftNodeHeight(node) {
|
230
|
-
if (node.namespace !== 'root' && !this.shifted.includes(node)) {
|
230
|
+
if ((node.namespace !== 'root') && (node.namespace !== 'i.bonsai') && !this.shifted.includes(node)) {
|
231
231
|
const padding = 5;
|
232
232
|
let areSiblingsLeftEven = (this.numSiblingsLeft[node.parent] % 2) === 1;
|
233
233
|
let altrntr = areSiblingsLeftEven ? 1 : -1;
|
data/lib/jekyll-graph/version.rb
CHANGED
data/lib/jekyll-graph.rb
CHANGED
@@ -37,7 +37,7 @@ module Jekyll
|
|
37
37
|
return
|
38
38
|
end
|
39
39
|
if !$graph_conf.disabled_tree? && !site.respond_to?(:tree)
|
40
|
-
Jekyll.logger.error("Jekyll-Graph: To generate the tree graph, please either add and enable the 'jekyll-namespaces' plugin
|
40
|
+
Jekyll.logger.error("Jekyll-Graph: To generate the tree graph, please either add and enable the 'jekyll-semtree' or 'jekyll-namespaces' plugin, or disable the tree in the jekyll-graph config")
|
41
41
|
return
|
42
42
|
end
|
43
43
|
|
@@ -173,7 +173,7 @@ module Jekyll
|
|
173
173
|
#
|
174
174
|
@site.link_index.index[doc.url].missing.each do |missing_link_name|
|
175
175
|
if net_web_nodes.none? { |node| node[:id] == missing_link_name }
|
176
|
-
Jekyll.logger.warn("Jekyll-Graph: Net-Web node missing: #{missing_link_name}, in: #{doc.
|
176
|
+
Jekyll.logger.warn("Jekyll-Graph: Net-Web node missing: #{missing_link_name}, in: #{File.basename(doc.basename, File.extname(doc.basename))}")
|
177
177
|
net_web_nodes << {
|
178
178
|
id: missing_link_name, # an id is necessary for link targets
|
179
179
|
url: '',
|
@@ -242,18 +242,24 @@ module Jekyll
|
|
242
242
|
return net_web_nodes, net_web_links
|
243
243
|
end
|
244
244
|
|
245
|
+
# used for both plugins:
|
246
|
+
# jekyll-semtree
|
247
|
+
# jekyll-namespace
|
245
248
|
def generate_json_tree(node, json_parent="", tree_nodes=[], tree_links=[], level=0)
|
249
|
+
node = node.is_a?(String) ? @site.tree.nodes.detect { |n| n.text == node } : node
|
246
250
|
#
|
247
251
|
# missing nodes
|
248
252
|
#
|
249
253
|
if node.missing
|
250
|
-
|
254
|
+
missing_text = node.namespace ? node.namespace : node.text
|
255
|
+
Jekyll.logger.warn("Jekyll-Graph: Tree node missing: ", missing_text)
|
251
256
|
|
252
|
-
|
257
|
+
if node.namespace
|
258
|
+
leaf = node.namespace.split('.').pop()
|
259
|
+
end
|
253
260
|
missing_node = {
|
254
|
-
id: node.namespace,
|
255
|
-
label: leaf.gsub('-', ' '),
|
256
|
-
namespace: node.namespace,
|
261
|
+
id: node.namespace ? node.namespace : node.text,
|
262
|
+
label: node.namespace ? leaf.gsub('-', ' ') : node.text,
|
257
263
|
url: "",
|
258
264
|
level: level,
|
259
265
|
lineage: {
|
@@ -262,12 +268,15 @@ module Jekyll
|
|
262
268
|
},
|
263
269
|
siblings: [],
|
264
270
|
}
|
271
|
+
if node.namespace
|
272
|
+
missing_node['namespace'] = node.namespace
|
273
|
+
end
|
265
274
|
# non-root handling
|
266
275
|
if !json_parent.empty?
|
267
276
|
missing_node[:parent] = json_parent[:id]
|
268
277
|
tree_links << {
|
269
278
|
source: json_parent[:id],
|
270
|
-
target: node.namespace,
|
279
|
+
target: node.namespace ? node.namespace : node.text,
|
271
280
|
}
|
272
281
|
end
|
273
282
|
tree_nodes << missing_node
|
@@ -279,7 +288,6 @@ module Jekyll
|
|
279
288
|
existing_node = {
|
280
289
|
id: node.url,
|
281
290
|
label: node.title,
|
282
|
-
namespace: node.namespace,
|
283
291
|
url: relative_url(node.url),
|
284
292
|
level: level,
|
285
293
|
lineage: {
|
@@ -288,6 +296,9 @@ module Jekyll
|
|
288
296
|
},
|
289
297
|
siblings: [],
|
290
298
|
}
|
299
|
+
if node.namespace
|
300
|
+
existing_node['namespace'] = node.namespace
|
301
|
+
end
|
291
302
|
# non-root handling
|
292
303
|
if !json_parent.empty?
|
293
304
|
existing_node[:parent] = json_parent[:id]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-graph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- manunamz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -24,34 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 4.2.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: jekyll-namespaces
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.0.3
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.0.3
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: jekyll-wikilinks
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.0.11
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.0.11
|
55
27
|
description:
|
56
28
|
email:
|
57
29
|
- manunamz@pm.me
|
@@ -100,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
72
|
- !ruby/object:Gem::Version
|
101
73
|
version: '0'
|
102
74
|
requirements: []
|
103
|
-
rubygems_version: 3.
|
75
|
+
rubygems_version: 3.4.10
|
104
76
|
signing_key:
|
105
77
|
specification_version: 4
|
106
78
|
summary: Add d3 graph generation to jekyll.
|