Fix analyzer script and update graph JSON

This commit is contained in:
Danila Fedorin 2022-04-09 03:24:15 -07:00
parent e6129dd01d
commit 20be96253c
2 changed files with 63 additions and 62 deletions

View File

@ -41,6 +41,7 @@ files.each do |file|
tags = [] tags = []
group = 1 group = 1
draft = false draft = false
next unless File.exists?(file)
value = File.size(file) value = File.size(file)
url = file.gsub(/^content/, "https://danilafe.com").delete_suffix("/index.md").delete_suffix(".md") url = file.gsub(/^content/, "https://danilafe.com").delete_suffix("/index.md").delete_suffix(".md")
File.readlines(file).each do |l| File.readlines(file).each do |l|

View File

@ -269,10 +269,10 @@ export const nodes = [
], ],
"url": "https://danilafe.com/blog/_index", "url": "https://danilafe.com/blog/_index",
"value": 23 "value": 383
}, },
{ {
"id": 24, "id": 26,
"name": "Rendering Mathematics On The Back End", "name": "Rendering Mathematics On The Back End",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -285,7 +285,7 @@ export const nodes = [
"value": 13994 "value": 13994
}, },
{ {
"id": 25, "id": 27,
"name": "Math Rendering is Wrong", "name": "Math Rendering is Wrong",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -295,7 +295,7 @@ export const nodes = [
"value": 10313 "value": 10313
}, },
{ {
"id": 26, "id": 28,
"name": "Thoughts on Better Explanations", "name": "Thoughts on Better Explanations",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -305,7 +305,7 @@ export const nodes = [
"value": 5815 "value": 5815
}, },
{ {
"id": 28, "id": 30,
"name": "Rendering Mathematics On The Back End", "name": "Rendering Mathematics On The Back End",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -318,7 +318,7 @@ export const nodes = [
"value": 13994 "value": 13994
}, },
{ {
"id": 29, "id": 31,
"name": "How Many Values Does a Boolean Have?", "name": "How Many Values Does a Boolean Have?",
"group": 5, "group": 5,
"tags": [ "tags": [
@ -330,7 +330,7 @@ export const nodes = [
"value": 12955 "value": 12955
}, },
{ {
"id": 30, "id": 32,
"name": "Pleasant Code Includes with Hugo", "name": "Pleasant Code Includes with Hugo",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -340,7 +340,7 @@ export const nodes = [
"value": 11846 "value": 11846
}, },
{ {
"id": 31, "id": 33,
"name": "Formalizing Dawn in Coq", "name": "Formalizing Dawn in Coq",
"group": 3, "group": 3,
"tags": [ "tags": [
@ -352,7 +352,7 @@ export const nodes = [
"value": 20615 "value": 20615
}, },
{ {
"id": 32, "id": 34,
"name": "A Verified Evaluator for the Untyped Concatenative Calculus", "name": "A Verified Evaluator for the Untyped Concatenative Calculus",
"group": 3, "group": 3,
"tags": [ "tags": [
@ -364,7 +364,7 @@ export const nodes = [
"value": 31852 "value": 31852
}, },
{ {
"id": 33, "id": 35,
"name": "Formalizing Dawn in Coq", "name": "Formalizing Dawn in Coq",
"group": 3, "group": 3,
"tags": [ "tags": [
@ -376,7 +376,7 @@ export const nodes = [
"value": 20615 "value": 20615
}, },
{ {
"id": 35, "id": 37,
"name": "Proof of Inductive Palindrome Definition in Coq", "name": "Proof of Inductive Palindrome Definition in Coq",
"group": 3, "group": 3,
"tags": [ "tags": [
@ -386,7 +386,7 @@ export const nodes = [
"value": 8177 "value": 8177
}, },
{ {
"id": 36, "id": 38,
"name": "Building a Basic Crystal Project with Nix", "name": "Building a Basic Crystal Project with Nix",
"group": 6, "group": 6,
"tags": [ "tags": [
@ -397,7 +397,7 @@ export const nodes = [
"value": 5981 "value": 5981
}, },
{ {
"id": 37, "id": 39,
"name": "Building a Crystal Project with Nix, Revisited", "name": "Building a Crystal Project with Nix, Revisited",
"group": 6, "group": 6,
"tags": [ "tags": [
@ -408,7 +408,7 @@ export const nodes = [
"value": 9141 "value": 9141
}, },
{ {
"id": 38, "id": 40,
"name": "Setting Up Crystal on ARM", "name": "Setting Up Crystal on ARM",
"group": 6, "group": 6,
"tags": [ "tags": [
@ -419,7 +419,7 @@ export const nodes = [
"value": 5414 "value": 5414
}, },
{ {
"id": 39, "id": 41,
"name": "DELL Is A Horrible Company And You Should Avoid Them At All Costs", "name": "DELL Is A Horrible Company And You Should Avoid Them At All Costs",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -429,7 +429,7 @@ export const nodes = [
"value": 21686 "value": 21686
}, },
{ {
"id": 40, "id": 42,
"name": "Haskell Error Checking and Autocompletion With LSP", "name": "Haskell Error Checking and Autocompletion With LSP",
"group": 5, "group": 5,
"tags": [ "tags": [
@ -440,7 +440,7 @@ export const nodes = [
"value": 10468 "value": 10468
}, },
{ {
"id": 41, "id": 43,
"name": "Using GHC IDE for Haskell Error Checking and Autocompletion", "name": "Using GHC IDE for Haskell Error Checking and Autocompletion",
"group": 5, "group": 5,
"tags": [ "tags": [
@ -451,7 +451,7 @@ export const nodes = [
"value": 4758 "value": 4758
}, },
{ {
"id": 42, "id": 44,
"name": "Time Traveling In Haskell: How It Works And How To Use It", "name": "Time Traveling In Haskell: How It Works And How To Use It",
"group": 5, "group": 5,
"tags": [ "tags": [
@ -461,7 +461,7 @@ export const nodes = [
"value": 25280 "value": 25280
}, },
{ {
"id": 43, "id": 45,
"name": "Approximating Custom Functions in Hugo", "name": "Approximating Custom Functions in Hugo",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -471,7 +471,7 @@ export const nodes = [
"value": 4034 "value": 4034
}, },
{ {
"id": 44, "id": 46,
"name": "Introducing Matrix Highlight", "name": "Introducing Matrix Highlight",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -483,7 +483,7 @@ export const nodes = [
"value": 7481 "value": 7481
}, },
{ {
"id": 45, "id": 47,
"name": "Local Development Environment for JOS and CS 444", "name": "Local Development Environment for JOS and CS 444",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -494,7 +494,7 @@ export const nodes = [
"value": 4839 "value": 4839
}, },
{ {
"id": 46, "id": 48,
"name": "Lambda Calculus and Church Encoded Integers", "name": "Lambda Calculus and Church Encoded Integers",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -504,7 +504,7 @@ export const nodes = [
"value": 10351 "value": 10351
}, },
{ {
"id": 47, "id": 49,
"name": "Digit Sum Patterns and Modular Arithmetic", "name": "Digit Sum Patterns and Modular Arithmetic",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -515,7 +515,7 @@ export const nodes = [
"value": 39663 "value": 39663
}, },
{ {
"id": 48, "id": 50,
"name": "New Look, New Features!", "name": "New Look, New Features!",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -525,7 +525,7 @@ export const nodes = [
"value": 727 "value": 727
}, },
{ {
"id": 50, "id": 52,
"name": "JavaScript-Free Sidenotes in Hugo", "name": "JavaScript-Free Sidenotes in Hugo",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -537,7 +537,7 @@ export const nodes = [
"value": 7762 "value": 7762
}, },
{ {
"id": 51, "id": 53,
"name": "Creating Recursive Functions in a Stack Based Language", "name": "Creating Recursive Functions in a Stack Based Language",
"group": 4, "group": 4,
"tags": [ "tags": [
@ -547,7 +547,7 @@ export const nodes = [
"value": 15694 "value": 15694
}, },
{ {
"id": 52, "id": 54,
"name": "A Look Into Starbound's File Formats", "name": "A Look Into Starbound's File Formats",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -557,7 +557,7 @@ export const nodes = [
"value": 11817 "value": 11817
}, },
{ {
"id": 53, "id": 55,
"name": "Switching to a Static Site Generator", "name": "Switching to a Static Site Generator",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -567,7 +567,7 @@ export const nodes = [
"value": 3402 "value": 3402
}, },
{ {
"id": 55, "id": 57,
"name": "A Typesafe Representation of an Imperative Language", "name": "A Typesafe Representation of an Imperative Language",
"group": 4, "group": 4,
"tags": [ "tags": [
@ -578,7 +578,7 @@ export const nodes = [
"value": 20619 "value": 20619
}, },
{ {
"id": 56, "id": 58,
"name": "Meaningfully Typechecking a Language in Idris", "name": "Meaningfully Typechecking a Language in Idris",
"group": 4, "group": 4,
"tags": [ "tags": [
@ -590,7 +590,7 @@ export const nodes = [
"value": 13655 "value": 13655
}, },
{ {
"id": 57, "id": 59,
"name": "Meaningfully Typechecking a Language in Idris, Revisited", "name": "Meaningfully Typechecking a Language in Idris, Revisited",
"group": 4, "group": 4,
"tags": [ "tags": [
@ -601,7 +601,7 @@ export const nodes = [
"value": 16100 "value": 16100
}, },
{ {
"id": 58, "id": 60,
"name": "Meaningfully Typechecking a Language in Idris, With Tuples", "name": "Meaningfully Typechecking a Language in Idris, With Tuples",
"group": 4, "group": 4,
"tags": [ "tags": [
@ -612,7 +612,7 @@ export const nodes = [
"value": 10235 "value": 10235
}, },
{ {
"id": 59, "id": 61,
"name": "Type-Safe Event Emitter in TypeScript", "name": "Type-Safe Event Emitter in TypeScript",
"group": 1, "group": 1,
"tags": [ "tags": [
@ -780,47 +780,47 @@ export const edges = [
"to": 19 "to": 19
}, },
{ {
"from": 24, "from": 26,
"to": 2 "to": 2
}, },
{ {
"from": 24, "from": 26,
"to": 25 "to": 27
},
{
"from": 30,
"to": 2
}, },
{ {
"from": 32, "from": 32,
"to": 33
},
{
"from": 37,
"to": 36
},
{
"from": 41,
"to": 40
},
{
"from": 43,
"to": 30
},
{
"from": 50,
"to": 2 "to": 2
}, },
{ {
"from": 57, "from": 34,
"to": 56 "to": 35
}, },
{ {
"from": 58, "from": 39,
"to": 56 "to": 38
}, },
{ {
"from": 58, "from": 43,
"to": 57 "to": 42
},
{
"from": 45,
"to": 32
},
{
"from": 52,
"to": 2
},
{
"from": 59,
"to": 58
},
{
"from": 60,
"to": 58
},
{
"from": 60,
"to": 59
} }
]; ];