From 3c014cde4c3b533c045e6440fb509243582a3ac9 Mon Sep 17 00:00:00 2001 From: Benjamin Ragheb Date: Sat, 5 Nov 2022 13:14:19 -0400 Subject: Accomodate titles in newer GNU make versions @lshprung identified that newer versions of GNU make docs have titles with a suffix of "(GNU make)" instead of a prefix of "GNU make:". This change extracts any HTML title, and then removes either prefix or suffix, if found. --- src/index.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/index.rb b/src/index.rb index ec861a5..da58535 100755 --- a/src/index.rb +++ b/src/index.rb @@ -9,7 +9,7 @@ INSERT_SQL = %Q[ INSERT INTO searchIndex(name, type, path) VALUES ('%s','%s','%s'); ] -PATTERN = %r[GNU make: (.+)] +PATTERN = %r[(.+)] def quote(s) s.gsub(/&/, '&').gsub(/'/, "\\'") @@ -19,7 +19,10 @@ ARGV.each do |arg| Pathname.glob(arg) do |path| match = path.each_line.lazy.map { |line| PATTERN.match(line) }.find { |m| m } if match - printf INSERT_SQL, quote(match[1]), 'Guide', path.basename + title = match[1] + title.delete_prefix!('GNU make: ') # older docs + title.delete_suffix!(' (GNU make)') # newer docs + printf INSERT_SQL, quote(title), 'Guide', path.basename else $stderr.puts "#{path}: no title found" end -- cgit