jekyll-graph 0.0.5 → 0.0.8

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: 16fc54d9f258c71e879a2b65b3d642e2c6ba0a30efaec85fb036941bffdf5c49
4
- data.tar.gz: 052f0d8c7c64150116e7205f66f8d0052433713f0f012eac3ce229f9f48001fd
3
+ metadata.gz: 66875092a5dcc753a34bb074f399ec0e5de3cbaa9a25fa154fc585420bce6007
4
+ data.tar.gz: '0423681fcf78d2fc0487d318c02d52b8cfe9f93d4be79747bfa72b7a3ae00be5'
5
5
  SHA512:
6
- metadata.gz: 1a4e8ea1b69e907907d5d384f7352dc4bc7f9cc1511c0e3a731cea9f43138074aa24f17691bc740a09979c34605add2838334b1ddf6ce8d96066597386c4ea70
7
- data.tar.gz: 7ca4c585d6f999fb4a4dbf24801b7165fee27b67f01334e9d3dc66eb06f638889fc0276feeef71a5d632424c51a23c62445f667be74abbb255902936c63f7b2c
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
@@ -7,7 +7,7 @@ gemspec
7
7
 
8
8
  gem "jekyll", "~> 4.2.0"
9
9
  gem "jekyll-namespaces", "~> 0.0.3"
10
- gem "jekyll-wikilinks", "~> 0.0.8"
10
+ gem "jekyll-wikilinks", "~> 0.0.11"
11
11
 
12
12
  gem "rake", "~> 13.0.3"
13
13
  gem "rspec", "~> 3.10"
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://manunamz.github.io/jekyll-bonsai/) project. 🎋
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
- export default class JekyllGraphSubClass extends JekyllGraph {
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 defined, the `jekyll-graph.js` file will be generated into `_site/assets/js/`.
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
- # spec.add_dependency "example-gem", "~> 1.0"
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.8"
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(nNodeId => {
18
- neighborNodes.push(data.nodes.find(node => node.id === nNodeId));
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(nLink => {
22
- neighborLinks.push(data.links.find(link => link.source === nLink.source && link.target === nLink.target));
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 relativeNodes = [];
134
- node.lineage.nodes.forEach(nNodeId => {
135
- relativeNodes.push(data.nodes.find(node => node.id === nNodeId));
133
+ let lineageNodes = [];
134
+ node.lineage.nodes.forEach(nodeId => {
135
+ lineageNodes.push(data.nodes.find(node => node.id === nodeId));
136
136
  });
137
- let relativeLinks = [];
138
- node.lineage.links.forEach(nLink => {
139
- relativeLinks.push(data.links.find(link => link.source === nLink.source && link.target === nLink.target));
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 = relativeNodes;
142
- node.lineage.links = relativeLinks;
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
- for (let i = 0; i < visited.length; i++) {
342
- if (visited[i]['url'] === node.url) return true;
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
@@ -3,7 +3,7 @@
3
3
  module Jekyll
4
4
  module Graph
5
5
 
6
- VERSION = "0.0.5"
6
+ VERSION = "0.0.8"
7
7
 
8
8
  end
9
9
  end
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.5
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: 2021-11-23 00:00:00.000000000 Z
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.8
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.8
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/page.rb
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