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