SOLR-14024 Invalid html generated by changes2html.pl (#31)

This commit is contained in:
András Salamon 2021-03-22 22:35:32 +01:00 committed by GitHub
parent 246c4beb22
commit 2678d68be8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 15 deletions

View File

@ -254,7 +254,8 @@ print<<"__HTML_HEADER__";
* limitations under the License. * limitations under the License.
**************************************************************************** ****************************************************************************
--> -->
<html> <!DOCTYPE html>
<html lang="en">
<head> <head>
<title>$title</title> <title>$title</title>
<link rel="stylesheet" href="ChangesFancyStyle.css" title="Fancy"> <link rel="stylesheet" href="ChangesFancyStyle.css" title="Fancy">
@ -290,6 +291,8 @@ print<<"__HTML_HEADER__";
var orderedLists = document.getElementsByTagName("ol"); var orderedLists = document.getElementsByTagName("ol");
for (var i = 0; i < orderedLists.length; i++) for (var i = 0; i < orderedLists.length; i++)
orderedLists[i].style.display = "none"; orderedLists[i].style.display = "none";
var olderList = document.getElementById("older.list");
olderList.style.display = "none";
var anchors = document.getElementsByTagName("a"); var anchors = document.getElementsByTagName("a");
for (var i = 0 ; i < anchors.length; i++) { for (var i = 0 ; i < anchors.length; i++) {
if (anchors[i].id != '') if (anchors[i].id != '')
@ -308,6 +311,8 @@ print<<"__HTML_HEADER__";
var orderedLists = document.getElementsByTagName("ol"); var orderedLists = document.getElementsByTagName("ol");
for (var i = 0; i < orderedLists.length; i++) for (var i = 0; i < orderedLists.length; i++)
orderedLists[i].style.display = "block"; orderedLists[i].style.display = "block";
var olderList = document.getElementById("older.list");
olderList.style.display = "block";
var anchors = document.getElementsByTagName("a"); var anchors = document.getElementsByTagName("a");
for (var i = 0 ; i < anchors.length; i++) { for (var i = 0 ; i < anchors.length; i++) {
if (anchors[i].id != '') if (anchors[i].id != '')
@ -368,6 +373,8 @@ print<<"__HTML_HEADER__";
list.style.display = "none"; list.style.display = "none";
} }
} }
var olderList = document.getElementById("older.list");
olderList.style.display = "none";
/* Add "Click to collapse/expand" tooltips to the release/section headings */ /* Add "Click to collapse/expand" tooltips to the release/section headings */
var anchors = document.getElementsByTagName("a"); var anchors = document.getElementsByTagName("a");
for (var i = 0 ; i < anchors.length; i++) { for (var i = 0 ; i < anchors.length; i++) {
@ -418,7 +425,7 @@ for my $rel (@releases) {
print "<h2><a id=\"older\" href=\"javascript:toggleList('older')\">"; print "<h2><a id=\"older\" href=\"javascript:toggleList('older')\">";
print "Older Releases"; print "Older Releases";
print "</a></h2>\n"; print "</a></h2>\n";
print "<ul id=\"older.list\">\n" print "<div id=\"older.list\">\n"
} }
($release, $reldate, $relinfo, $sections) = @$rel; ($release, $reldate, $relinfo, $sections) = @$rel;
@ -442,6 +449,7 @@ for my $rel (@releases) {
if ($has_release_sections); if ($has_release_sections);
} }
my $licnt = 0;
for my $section (@$sections) { for my $section (@$sections) {
($heading, $items) = @$section; ($heading, $items) = @$section;
(my $sectid = lc($heading)) =~ s/\s+/_/g; (my $sectid = lc($heading)) =~ s/\s+/_/g;
@ -451,12 +459,13 @@ for my $rel (@releases) {
if ($release) { if ($release) {
if ($heading) { if ($heading) {
if ($heading eq 'Detailed Change List') { if ($heading eq 'Detailed Change List') {
print " <$subheader>$heading</$subheader>\n"; print " <li style='list-style-type:none;'><$subheader>$heading</$subheader></li>\n";
next; next;
} elsif ($has_release_sections) { } elsif ($has_release_sections) {
print " <li><a id=\"$relid.$sectid\"", print " <li><a id=\"$relid.$sectid\"",
" href=\"javascript:toggleList('$relid.$sectid')\">$heading</a>", " href=\"javascript:toggleList('$relid.$sectid')\">$heading</a>",
"&nbsp;&nbsp;&nbsp;$numItemsStr\n" "&nbsp;&nbsp;&nbsp;$numItemsStr\n";
++$licnt;
} }
} }
} else { # $release is not defined } else { # $release is not defined
@ -480,7 +489,7 @@ for my $rel (@releases) {
my $prefix = $1; my $prefix = $1;
my $code = $2; my $code = $2;
$code =~ s/\s+$//; $code =~ s/\s+$//;
"$prefix<code><pre>$code</pre></code>" "$prefix<pre><code>$code></code></pre>"
}gise; }gise;
$item = markup_trailing_attribution($item) unless ($item =~ /\n[ ]*-/); $item = markup_trailing_attribution($item) unless ($item =~ /\n[ ]*-/);
@ -551,7 +560,9 @@ for my $rel (@releases) {
} }
}sge; }sge;
$item =~ s:\n{2,}:\n<p/>\n:g; # Keep paragraph breaks $item =~ s:\n{2,}:\n<p>\n:g; # Keep paragraph breaks
$item =~ s:</li>\n<p>\n<li:</li>\n<li\n:g;
$item =~ s:</li>\n<p>\n(.*)\n:</li></ul><p>\n$1\n<ul>:g;
# Link LUCENE-XXX, SOLR-XXX and INFRA-XXX to JIRA # Link LUCENE-XXX, SOLR-XXX and INFRA-XXX to JIRA
$item =~ s{(?:${jira_url_prefix})?((?:LUCENE|SOLR|INFRA)-\d+)} $item =~ s{(?:${jira_url_prefix})?((?:LUCENE|SOLR|INFRA)-\d+)}
{<a href="${jira_url_prefix}$1">$1</a>}g; {<a href="${jira_url_prefix}$1">$1</a>}g;
@ -600,18 +611,22 @@ for my $rel (@releases) {
} }
# Linkify URLs, except Bugzilla links, which don't work anymore # Linkify URLs, except Bugzilla links, which don't work anymore
$item =~ s~(?<![">])(https?://(?!(?:nagoya|issues)\.apache\.org/bugzilla)[^\s\)]+)~<a href="$1">$1</a>~g; # also ignore localhost, ..., $SOLR_PORT, 127.0.0.1
$item =~ s~(?<![">])(https?://(?!(?:nagoya|issues)\.apache\.org/bugzilla|localhost|\.\.\.|\$SOLR_HOST|127\.0\.0\.1)[^\s\)]+)~<a href="$1">$1</a>~g;
$item =~ s~</ul>\s+<p/>\s+<br\s*/>~</ul>~; $item =~ s~</ul>\s+<p>\s+<br\s*/>~</ul>~;
print " <$list_item>$item</$list_item>\n"; print " <$list_item>$item</$list_item>\n";
} }
print " </$list>\n" unless (not $release or ($has_release_sections and not $heading)); print " </$list>\n" unless (not $release or ($has_release_sections and not $heading));
print " </li>\n" if ($release and $has_release_sections); if ($release and $has_release_sections and $licnt>0) {
print " </li>\n";
--$licnt;
}
} }
print "</ul>\n" if ($release and $has_release_sections); print "</ul>\n" if ($release and $has_release_sections);
} }
print "</ul>\n" if ($relcnt > 3); print "</div>\n" if ($relcnt > 3);
print "</body>\n</html>\n"; print "</body>\n</html>\n";
@ -708,7 +723,6 @@ sub markup_trailing_attribution {
sub has_release_sections { sub has_release_sections {
my $sections = shift; my $sections = shift;
my $has_release_sections = 0; my $has_release_sections = 0;
my $first_titled_section_num = -1;
for my $section_num (0 .. $#{$sections}) { for my $section_num (0 .. $#{$sections}) {
if ($sections->[$section_num][0]) { if ($sections->[$section_num][0]) {
$has_release_sections = 1; $has_release_sections = 1;

View File

@ -1347,8 +1347,6 @@ Other
* LUCENE-8886: Fix TestMutablePointsReaderUtils tests. (Ignacio Vera) * LUCENE-8886: Fix TestMutablePointsReaderUtils tests. (Ignacio Vera)
======================= Lucene 8.1.1 ======================= ======================= Lucene 8.1.1 =======================
(No Changes)
Improvements Improvements
* LUCENE-8781: FST lookup performance has been improved in many cases by * LUCENE-8781: FST lookup performance has been improved in many cases by
@ -10303,7 +10301,7 @@ Changes in backwards compatibility policy
To prevent this slowdown, use oal.index.IndexUpgrader To prevent this slowdown, use oal.index.IndexUpgrader
to upgrade your indexes to latest file format (LUCENE-3082). to upgrade your indexes to latest file format (LUCENE-3082).
Mixed flex/pre-flex indexes are perfectly fine -- the two - Mixed flex/pre-flex indexes are perfectly fine -- the two
emulation layers (flex API on pre-flex index, and pre-flex API on emulation layers (flex API on pre-flex index, and pre-flex API on
flex index) will remap the access as required. So on upgrading to flex index) will remap the access as required. So on upgrading to
4.0 you can start indexing new documents into an existing index. 4.0 you can start indexing new documents into an existing index.