blob: bc59bc956af583d2c47393b76d80d23791d22f98 [file] [log] [blame]
#!/usr/bin/env ruby
#
# Copyright (c) 2019 Baldur Karlsson
#
# SPDX-License-Identifier: Apache-2.0
require 'pp'
require 'json'
data = []
ARGV.each do |file|
curdata = nil
extappendix = false
curext = ""
File.readlines(file).each do |line|
text = line.gsub(/<\/?[^>]*>/, "")
# Special case - set up high quality results for given structs
if line =~ /div id="([vV][kK][^"]*)"/ then
id = $1
data << { :id => File.basename(file) + "#" + id, :title => id, :body => id }
end
if line =~ /h[0-9]\s*id="([^"]*)"/ then
id = $1
if curdata != nil then
data << curdata
end
if text =~ /Appendix.*Extensions/ then
extappendix = true
end
if extappendix and text =~ /^VK_.*/ then
curext = text
elsif curext != "" then
text = "#{curext.strip} - #{text}"
end
curdata = { :id => File.basename(file) + "#" + id, :title => text, :body => "" }
elsif curdata != nil then
curdata[:body] += " " + text
end
end
if curdata != nil then
data << curdata
end
end
puts JSON.generate(data)