Add a graph visualization page based on the analyze script

This commit is contained in:
2022-03-15 17:10:00 -07:00
parent a658286776
commit a490514079
5 changed files with 913 additions and 1 deletions

View File

@@ -40,11 +40,14 @@ files.each do |file|
name = file
tags = []
group = 1
draft = false
value = File.size(file)
url = file.gsub(/^content/, "https://danilafe.com").delete_suffix("/index.md").delete_suffix(".md")
File.readlines(file).each do |l|
if l =~ /^title: (.+)$/
name = $~[1].delete_prefix('"').delete_suffix('"')
elsif l =~ /^draft: true$/
draft = true
elsif l =~ /^tags: (.+)$/
tags = $~[1].delete_prefix("[").delete_suffix("]").split(/,\s?/).map { |it| it.gsub('"', '') }
if tags.include? "Compilers"
@@ -60,7 +63,8 @@ files.each do |file|
end
end
end
data[file] = { :id => id, :label => name, :group => group, :tags => tags, :url => url, :value => value }
next if draft
data[file] = { :id => id, :name => name, :group => group, :tags => tags, :url => url, :value => value }
end
edges = []
@@ -72,6 +76,8 @@ files.each do |file1|
# end
next unless frefs = refs[file1]
frefs.each do |ref|
next unless data[file1]
next unless data[ref]
edges << { :from => data[file1][:id], :to => data[ref][:id] }
end
end