Page MenuHomeFreeBSD

D56646.id176575.diff
No OneTemporary

D56646.id176575.diff

diff --git a/website/tools/hardware-notes-processor.rb b/website/tools/hardware-notes-processor.rb
--- a/website/tools/hardware-notes-processor.rb
+++ b/website/tools/hardware-notes-processor.rb
@@ -26,9 +26,36 @@
manualPage = line.gsub("&hwlist.", "").gsub(";", "").gsub("\n", "")
if(File.exist?("tmp/share/man/man4/" + manualPage + ".4"))
- cmd = "mandoc -Tmarkdown tmp/share/man/man4/" + manualPage + ".4 | sed -n '/# HARDWARE/,/#/{/#/!p;}' "
+ cmd = "mandoc -Tmarkdown tmp/share/man/man4/" + manualPage + ".4 | sed -n '/^# HARDWARE/,/^# /{ /^# /d; p; }'"
mandocOut, err, s = Open3::capture3(cmd)
if s.success?
+ #replace \_ to _ in drivers name and description
+ mandocOut.gsub!(/\\_/, '_')
+
+ # extract Nm (real driver name)
+ nm_cmd = "grep -m1 '^\\.Nm' tmp/share/man/man4/#{manualPage}.4"
+ nmOut, err2, s2 = Open3.capture3(nm_cmd)
+
+ if s2.success?
+
+ nm = nmOut.split[1]
+
+ if nm && !nm.empty?
+ driverName = File.basename(manualPage)
+
+ if nm != driverName
+ # f.e man ar40xx has driver name ar40xx_switch
+ man_link = "link:https://man.freebsd.org/cgi/man.cgi?query=#{driverName}&apropos=&&sektion=4&format=html[#{nm}]"
+ else
+ man_link = "man:#{driverName}[4]"
+ end
+ # replace only first occurrence, preserving markdown formatting
+ mandocOut.sub!(/[*_]*#{nm}[*_]*/) do
+ man_link
+ end
+ end
+ end
+
hardwareNotesContent << mandocOut
end
else

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 28, 9:29 PM (14 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37441566
Default Alt Text
D56646.id176575.diff (1 KB)

Event Timeline