Ian Jackson writes ("Re: [PATCH for-4.11 v3 0/11] Provide support matrix
generator"):
> For 8-11 I'm awaiting any opinions about the output and in particular
> whether to include
> > + 11/11] docs/parse-support-md: Identical [*]: only use extra
> > table cell if necessary
AFter IRL discussions with Lars and George I have dropped 11/11.
I have also amended 10/11 to drop the `}' in the multi-row [*]
cells. v4 is below, and I am about to push it and its two
predecessors.
FAOD, these three do not want to go to 4.10.
Thanks,
Ian.
From 6bd34dc33a237df1af0b4bfec212b5c9e8705745 Mon Sep 17 00:00:00 2001
From: Ian Jackson
Date: Thu, 12 Apr 2018 12:59:24 +0100
Subject: [PATCH v4 3/3] docs/parse-support-md: Unify identical [*] in footnotes
A section in the SUPPORT.md may mention multiple
Status, something: Supported
and then have some text. The text is linked to from [*] footnotes
in the table. But, this means that each bit of text needs to
apply to multiple rows.
Before this commit this was a separate [*] after each applicable item.
But multiple apparently-different links to the same thing are annoying
for the reader.
So, in this commit we combine them. Formatting the result is not
entirely trivial.
Signed-off-by: Ian Jackson
Release-acked-by: Juergen Gross
---
v3: New patch
v3.1: Drop `}' in multi-row [*] notes. I put this in to help work
around firefox bugs eg
https://bugzilla.mozilla.org/show_bug.cgi?id=244135
but I have been convinced it is not generally wanted.
Signed-off-by: Ian Jackson
---
docs/parse-support-md | 32 +---
1 file changed, 25 insertions(+), 7 deletions(-)
diff --git a/docs/parse-support-md b/docs/parse-support-md
index 83768cf..decda33 100755
--- a/docs/parse-support-md
+++ b/docs/parse-support-md
@@ -17,6 +17,7 @@ use Tie::IxHash;
use IO::File;
use CGI qw(escapeHTML);
use Data::Dumper;
+use POSIX;
#-- accumulating input/output --
@@ -285,9 +286,14 @@ sub count_rows_sectnode ($) {
$rows++ if $sectnode->{Status};
$rows += count_rows_sectlist $sectnode->{Children};
$sectnode->{Rows} = $rows;
+$sectnode->{RealSect}{Rows} = $rows;
return $rows;
}
+# Now we have
+# $sectnode->{Rows}
+# $sectnode->{RealSect}{Rows}
+
sub count_rows_sectlist ($) {
my ($sectlist) = @_;
my $rows = 0;
@@ -349,22 +355,34 @@ sub write_output_row ($) {
}
for (my $i=0; $i<@version_urls; $i++) {
my $st = $sectnode->{Status}[$i];
+
+my $colspan = $sectnode->{RealSect}{ColSpan}[$i];
+my $nextcell = '';
+if (!defined $colspan) { # first row of this RealSect
+$colspan= ' colspan="2"';
+if ($sectnode->{RealSect}{HasText}[$i] && $st
+&& $sectnode->{RealSect}{Anchor}) {
+my $rows = $sectnode->{RealSect}{Rows};
+$nextcell = sprintf '', $rows;
+$nextcell .= sprintf '[*]',
+$version_urls[$i], $sectnode->{RealSect}{Anchor};
+$nextcell .= '';
+$colspan = '';
+}
+$sectnode->{RealSect}{ColSpan}[$i] = $colspan;
+}
+
$st //= '-';
-o('');
+o("");
my $end_a = '';
if ($sectnode->{Key} eq 'release-support--xen-version') {
o(sprintf '', $version_urls[$i]);
$end_a = '';
}
o(escapeHTML($st));
-if ($sectnode->{RealSect}{HasText}[$i]
-&& $sectnode->{Status}[$i]
-&& $sectnode->{RealSect}{Anchor}) {
-o(sprintf '[*]',
- $version_urls[$i], $sectnode->{RealSect}{Anchor});
-}
o($end_a);
o('');
+o($nextcell);
}
o("\n");
}
--
2.1.4
___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel