From d2807917d2aee73ea7df22a8a613c2bdb190938d Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Thu, 30 May 2024 20:52:14 -0700 Subject: [PATCH] Insert sequential links for series in analyze.rb Signed-off-by: Danila Fedorin --- analyze.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/analyze.rb b/analyze.rb index 2d87a45..6d0150e 100644 --- a/analyze.rb +++ b/analyze.rb @@ -35,6 +35,7 @@ end data = {} id = 0 +series = {} files.each do |file| id += 1 name = file @@ -49,6 +50,12 @@ files.each do |file| name = $~[1].delete_prefix('"').delete_suffix('"') elsif l =~ /^draft: true$/ draft = true + elsif l =~ /^series: (.+)$/ + this_series = $~[1] + series_list = series.fetch(this_series) do + series[this_series] = [] + end + series_list << file elsif l =~ /^tags: (.+)$/ tags = $~[1].delete_prefix("[").delete_suffix("]").split(/,\s?/).map { |it| it.gsub('"', '') } if tags.include? "Compilers" @@ -86,6 +93,14 @@ files.each do |file1| edges << { :from => data[file1][:id], :to => data[ref][:id] } end end +series.each do |series, files| + files.sort.each_cons(2) do |file1, file2| + next unless data[file1] + next unless data[file2] + edges << { :from => data[file1][:id], :to => data[file2][:id] } + edges << { :from => data[file2][:id], :to => data[file1][:id] } + end +end edges.uniq # edges.filter! { |e| e[:from] < e[:to] }