jekyll-graph 0.0.5 → 0.0.8
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 +4 -4
- data/CHANGELOG.md +14 -2
- data/Gemfile +1 -1
- data/README.md +23 -4
- data/jekyll-graph.gemspec +2 -2
- data/lib/jekyll-graph/jekyll-graph.js +16 -14
- data/lib/jekyll-graph/{context.rb → patch/context.rb} +0 -0
- data/lib/jekyll-graph/{page.rb → patch/page.rb} +0 -0
- data/lib/jekyll-graph/version.rb +1 -1
- data/lib/jekyll-graph.rb +2 -2
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66875092a5dcc753a34bb074f399ec0e5de3cbaa9a25fa154fc585420bce6007
|
4
|
+
data.tar.gz: '0423681fcf78d2fc0487d318c02d52b8cfe9f93d4be79747bfa72b7a3ae00be5'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2439f89e5287ab1c298e9e4e42563b43961debe93200b69c2cf9f2768bb70ce97c9084c58c34f14ad331e1f3f414d07b54f66688047ff8764cebccba846addb
|
7
|
+
data.tar.gz: 4b9eec6d0e335d670714fb128736f2883d53d38d2c066acb3f2901fb3ba002d854276778c35ab18b4c707ae7ef74c34eaa66e47f667fb887c3c5127a7f29082e
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,24 @@
|
|
1
|
+
## [0.0.8] - 2022-03-03
|
2
|
+
### Change
|
3
|
+
- Update javascript setup instructions in README.
|
4
|
+
### Fix
|
5
|
+
- Check 'visited' localstorage variable is not null.
|
6
|
+
## [0.0.7] - 2022-01-27
|
7
|
+
### Change
|
8
|
+
- Bump jekyll-wikilinks version number (0.0.11).
|
9
|
+
## [0.0.6] - 2022-01-24
|
10
|
+
### Change
|
11
|
+
- Move jekyll patch files to patch/ dir.
|
12
|
+
- Bump jekyll-wikilinks version number (0.0.10).
|
1
13
|
## [0.0.5] - 2021-11-23
|
2
14
|
### Change
|
3
15
|
- 'relatives' -> 'lineage' for tree nodes.
|
4
16
|
|
5
|
-
## [0.0.4] 2021-11-22
|
17
|
+
## [0.0.4] - 2021-11-22
|
6
18
|
### Fix
|
7
19
|
- Custom path config related fix in scripts.
|
8
20
|
|
9
|
-
## [0.0.3] 2021-11-22
|
21
|
+
## [0.0.3] - 2021-11-22
|
10
22
|
### Change
|
11
23
|
- Fix javascript inheritance.
|
12
24
|
- Decrement missing node log messages from 'warn' to 'debug'.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
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).
|
8
8
|
|
9
|
-
This gem is part of the [jekyll-bonsai](https://
|
9
|
+
This gem is part of the [jekyll-bonsai](https://jekyll-bonsai.netlify.app/) project. 🎋
|
10
10
|
|
11
11
|
## Installation
|
12
12
|
|
@@ -37,20 +37,39 @@ Follow the instructions for installing a [jekyll plugin](https://jekyllrb.com/do
|
|
37
37
|
```javascript
|
38
38
|
import JekyllGraph from './jekyll-graph.js';
|
39
39
|
|
40
|
-
|
40
|
+
class JekyllGraphSubClass extends JekyllGraph {
|
41
41
|
|
42
42
|
constructor() {
|
43
43
|
super();
|
44
|
+
// access graph with 'this.graph'
|
44
45
|
// access graph div with 'this.graphDiv'
|
45
46
|
}
|
46
47
|
|
47
48
|
// ...
|
48
49
|
}
|
49
50
|
```
|
50
|
-
Call `this.drawNetWeb()` and `this.drawTree()` to actually draw the graph. You could do this simply on initialization or on a button click, etc.
|
51
51
|
|
52
|
-
Unless otherwise
|
52
|
+
The import should point to the `jekyll-graph.js` javascript file generated by the plugin. Unless otherwise configured (see `path` vars below), the `jekyll-graph.js` file will be generated into `_site/assets/js/`. The sample javascript snippet above is presumed to be generated into `_site/assets/js/` as well.
|
53
53
|
|
54
|
+
4. Create a class instance:
|
55
|
+
|
56
|
+
```javascript
|
57
|
+
var graph = new JekyllGraphSubClass();
|
58
|
+
```
|
59
|
+
|
60
|
+
5. Call `drawNetWeb()` and/or `drawTree()` to actually draw the graph. You could do this simply on initialization or on a button click, etc.
|
61
|
+
|
62
|
+
```javascript
|
63
|
+
// on page load
|
64
|
+
(() => {
|
65
|
+
graph.drawNetWeb();
|
66
|
+
});
|
67
|
+
|
68
|
+
// on button click
|
69
|
+
this.graphBtn.addEventListener('click', () => {
|
70
|
+
graph.drawTree();
|
71
|
+
});
|
72
|
+
```
|
54
73
|
## Configuration
|
55
74
|
|
56
75
|
Default configs look like this:
|
data/jekyll-graph.gemspec
CHANGED
@@ -30,11 +30,11 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.require_paths = ["lib"]
|
31
31
|
|
32
32
|
# Uncomment to register a new dependency of your gem
|
33
|
-
|
33
|
+
spec.add_dependency "jekyll", "~> 4.2.0"
|
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
37
|
|
38
38
|
spec.add_runtime_dependency "jekyll-namespaces", "~> 0.0.3"
|
39
|
-
spec.add_runtime_dependency "jekyll-wikilinks", "~> 0.0.
|
39
|
+
spec.add_runtime_dependency "jekyll-wikilinks", "~> 0.0.11"
|
40
40
|
end
|
@@ -14,12 +14,12 @@ export default class JekyllGraph {
|
|
14
14
|
// neighbors: replace ids with full object
|
15
15
|
data.nodes.forEach(node => {
|
16
16
|
let neighborNodes = [];
|
17
|
-
node.neighbors.nodes.forEach(
|
18
|
-
neighborNodes.push(data.nodes.find(node => node.id ===
|
17
|
+
node.neighbors.nodes.forEach(nodeId => {
|
18
|
+
neighborNodes.push(data.nodes.find(node => node.id === nodeId));
|
19
19
|
});
|
20
20
|
let neighborLinks = [];
|
21
|
-
node.neighbors.links.forEach(
|
22
|
-
neighborLinks.push(data.links.find(link => link.source ===
|
21
|
+
node.neighbors.links.forEach(linkIds => {
|
22
|
+
neighborLinks.push(data.links.find(link => link.source === linkIds.source && link.target === linkIds.target));
|
23
23
|
});
|
24
24
|
node.neighbors.nodes = neighborNodes;
|
25
25
|
node.neighbors.links = neighborLinks;
|
@@ -130,16 +130,16 @@ export default class JekyllGraph {
|
|
130
130
|
// lineage: replace ids with full objects
|
131
131
|
data.nodes.forEach(node => {
|
132
132
|
// lineage
|
133
|
-
let
|
134
|
-
node.lineage.nodes.forEach(
|
135
|
-
|
133
|
+
let lineageNodes = [];
|
134
|
+
node.lineage.nodes.forEach(nodeId => {
|
135
|
+
lineageNodes.push(data.nodes.find(node => node.id === nodeId));
|
136
136
|
});
|
137
|
-
let
|
138
|
-
node.lineage.links.forEach(
|
139
|
-
|
137
|
+
let lineageLinks = [];
|
138
|
+
node.lineage.links.forEach(linkIds => {
|
139
|
+
lineageLinks.push(data.links.find(link => link.source === linkIds.source && link.target === linkIds.target));
|
140
140
|
});
|
141
|
-
node.lineage.nodes =
|
142
|
-
node.lineage.links =
|
141
|
+
node.lineage.nodes = lineageNodes;
|
142
|
+
node.lineage.links = lineageLinks;
|
143
143
|
// siblings
|
144
144
|
this.numSiblingsLeft[node.parent] = node.siblings.length;
|
145
145
|
});
|
@@ -338,8 +338,10 @@ export default class JekyllGraph {
|
|
338
338
|
isVisitedPage(node) {
|
339
339
|
if (!this.isMissingPage(node)) {
|
340
340
|
var visited = JSON.parse(localStorage.getItem('visited'));
|
341
|
-
|
342
|
-
|
341
|
+
if (visited !== null) {
|
342
|
+
for (let i = 0; i < visited.length; i++) {
|
343
|
+
if (visited[i]['url'] === node.url) return true;
|
344
|
+
}
|
343
345
|
}
|
344
346
|
}
|
345
347
|
return false;
|
File without changes
|
File without changes
|
data/lib/jekyll-graph/version.rb
CHANGED
data/lib/jekyll-graph.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require "jekyll"
|
3
3
|
|
4
|
-
require_relative "jekyll-graph/context"
|
5
|
-
require_relative "jekyll-graph/page"
|
4
|
+
require_relative "jekyll-graph/patch/context"
|
5
|
+
require_relative "jekyll-graph/patch/page"
|
6
6
|
require_relative "jekyll-graph/version"
|
7
7
|
|
8
8
|
# setup config
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
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.8
|
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: 2022-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jekyll
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 4.2.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 4.2.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: jekyll-namespaces
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,14 +44,14 @@ dependencies:
|
|
30
44
|
requirements:
|
31
45
|
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.0.
|
47
|
+
version: 0.0.11
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.0.
|
54
|
+
version: 0.0.11
|
41
55
|
description:
|
42
56
|
email:
|
43
57
|
- manunamz@pm.me
|
@@ -59,9 +73,9 @@ files:
|
|
59
73
|
- jekyll-graph.gemspec
|
60
74
|
- lib/jekyll-graph.rb
|
61
75
|
- lib/jekyll-graph/config.rb
|
62
|
-
- lib/jekyll-graph/context.rb
|
63
76
|
- lib/jekyll-graph/jekyll-graph.js
|
64
|
-
- lib/jekyll-graph/
|
77
|
+
- lib/jekyll-graph/patch/context.rb
|
78
|
+
- lib/jekyll-graph/patch/page.rb
|
65
79
|
- lib/jekyll-graph/tags.rb
|
66
80
|
- lib/jekyll-graph/version.rb
|
67
81
|
homepage: https://github.com/manunamz/jekyll-graph
|