[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: * tp/Texinfo/Convert/HTML.pm (nodes_tree): use fi
From: |
Patrice Dumas |
Subject: |
branch master updated: * tp/Texinfo/Convert/HTML.pm (nodes_tree): use first non Top node for Top node next if there is no menu information. |
Date: |
Sun, 21 Feb 2021 07:43:13 -0500 |
This is an automated email from the git hooks/post-receive script.
pertusus pushed a commit to branch master
in repository texinfo.
The following commit(s) were added to refs/heads/master by this push:
new 76f560c * tp/Texinfo/Convert/HTML.pm (nodes_tree): use first non Top
node for Top node next if there is no menu information.
76f560c is described below
commit 76f560cd234366d025234c715ec63d4957e3be89
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Feb 21 13:43:00 2021 +0100
* tp/Texinfo/Convert/HTML.pm (nodes_tree): use first non Top node
for Top node next if there is no menu information.
---
ChangeLog | 5 ++
tp/Texinfo/Structuring.pm | 17 ++++--
.../sectioning/character_and_spaces_in_node.pl | 56 +++++++++++++++++--
tp/t/results/sectioning/no_menu.pl | 65 ++++++++++++++++++++--
4 files changed, 127 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 80ec4fe..d118fd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2021-02-21 Patrice Dumas <pertusus@free.fr>
+ * tp/Texinfo/Convert/HTML.pm (nodes_tree): use first non Top node
+ for Top node next if there is no menu information.
+
+2021-02-21 Patrice Dumas <pertusus@free.fr>
+
use first section in file direction for footer if split at section or
chapter
diff --git a/tp/Texinfo/Structuring.pm b/tp/Texinfo/Structuring.pm
index 4798431..eba90da 100644
--- a/tp/Texinfo/Structuring.pm
+++ b/tp/Texinfo/Structuring.pm
@@ -463,9 +463,6 @@ sub nodes_tree($)
# differently; at least, there are no error messages for them.
#
foreach my $node (@{$self->{'nodes'}}) {
- if ($node->{'extra'}->{'normalized'} eq 'Top') {
- $top_node = $node;
- }
if ($node->{'menus'}) {
if (@{$node->{'menus'}} > 1) {
foreach my $menu (@{$node->{'menus'}}[1 .. $#{$node->{'menus'}}]) {
@@ -535,8 +532,10 @@ sub nodes_tree($)
}
# Go through all the nodes and set directions.
- $top_node = $self->{'nodes'}->[0] if (!$top_node);
foreach my $node (@{$self->{'nodes'}}) {
+ if ($node->{'extra'}->{'normalized'} eq 'Top') {
+ $top_node = $node;
+ }
my $automatic_directions =
(scalar(@{$node->{'extra'}->{'nodes_manuals'}}) == 1);
@@ -617,6 +616,13 @@ sub nodes_tree($)
if (!$node->{'menu_child'}->{'extra'}->{'manual_content'}) {
$node->{'menu_child'}->{'node_prev'} = $node;
}
+ } else {
+ foreach my $first_non_top_node (@{$self->{'nodes'}}) {
+ if ($first_non_top_node ne $node) {
+ $node->{'node_next'} = $first_non_top_node;
+ last;
+ }
+ }
}
}
} else { # explicit directions
@@ -709,10 +715,11 @@ sub nodes_tree($)
# FIXME check that node_up is not an external node (except for Top)?
}
}
+ $top_node = $self->{'nodes'}->[0] if (!$top_node);
+ $self->{'structuring'}->{'top_node'} = $top_node;
if ($self->get_conf('FORMAT_MENU') ne 'sectiontoc') {
_check_referenced_nodes($self, $top_node);
}
- $self->{'structuring'}->{'top_node'} = $top_node;
return $top_node;
}
diff --git a/tp/t/results/sectioning/character_and_spaces_in_node.pl
b/tp/t/results/sectioning/character_and_spaces_in_node.pl
index 27579ff..a4ffb1a 100644
--- a/tp/t/results/sectioning/character_and_spaces_in_node.pl
+++ b/tp/t/results/sectioning/character_and_spaces_in_node.pl
@@ -505,8 +505,52 @@ $result_nodes{'character_and_spaces_in_node'} = {
'extra' => {
'normalized' => 'Top',
'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'other-nodes',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'_002f_003b_003c_003d_003e_003f_005b_005c_005d_005e_005f_0060_007c_007e',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'local-node',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
}
};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_next'}{'node_next'}{'node_prev'}
=
$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_next'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_next'}{'node_next'}{'node_up'}
= $result_nodes{'character_and_spaces_in_node'}{'node_next'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_next'}{'node_prev'}
= $result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_next'}{'node_up'}
= $result_nodes{'character_and_spaces_in_node'}{'node_next'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_prev'}
= $result_nodes{'character_and_spaces_in_node'}{'node_next'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_next'}{'node_up'}
= $result_nodes{'character_and_spaces_in_node'}{'node_next'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_prev'} =
$result_nodes{'character_and_spaces_in_node'};
+$result_nodes{'character_and_spaces_in_node'}{'node_next'}{'node_up'} =
$result_nodes{'character_and_spaces_in_node'};
$result_menus{'character_and_spaces_in_node'} = {
'cmdname' => 'node',
@@ -526,7 +570,7 @@ $result_floats{'character_and_spaces_in_node'} = {};
$result_converted{'info'}->{'character_and_spaces_in_node'} = 'This is ,
produced from .
-File: , Node: Top, Up: (dir)
+File: , Node: Top, Next: other nodes, Up: (dir)
File: , Node: other nodes, Next: !_"#$%&\'()*+-., Prev: Top, Up: Top
@@ -544,10 +588,10 @@ File: , Node: local node, Prev: /;<=>?[\\]^_`|~, Up:
other nodes
Tag Table:
Node: Top27
-Node: other nodes61
-Node: !_"#$%&\'()*+-.136
-Node: /;<=>?[\\]^_`|~230
-Node: local node323
+Node: other nodes81
+Node: !_"#$%&\'()*+-.156
+Node: /;<=>?[\\]^_`|~250
+Node: local node343
End Tag Table
@@ -599,7 +643,7 @@ ul.no-bullet {list-style: none}
<span id="Top"></span><div class="header">
<p>
- </p>
+Next: <a href="#other-nodes" accesskey="n" rel="next">other nodes</a>
</p>
</div>
<h1 class="node-heading">Top</h1>
<hr>
diff --git a/tp/t/results/sectioning/no_menu.pl
b/tp/t/results/sectioning/no_menu.pl
index 125a905..34baebd 100644
--- a/tp/t/results/sectioning/no_menu.pl
+++ b/tp/t/results/sectioning/no_menu.pl
@@ -477,8 +477,63 @@ $result_nodes{'no_menu'} = {
},
'normalized' => 'Top',
'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'level' => 1,
+ 'number' => 1
+ },
+ 'normalized' => 'c1',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'level' => 1,
+ 'number' => 2
+ },
+ 'normalized' => 'c2',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'level' => 1,
+ 'number' => 3
+ },
+ 'normalized' => 'c3',
+ 'spaces_before_argument' => ' '
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ },
+ 'node_up' => {}
}
};
+$result_nodes{'no_menu'}{'node_next'}{'node_next'}{'node_next'}{'node_prev'} =
$result_nodes{'no_menu'}{'node_next'}{'node_next'};
+$result_nodes{'no_menu'}{'node_next'}{'node_next'}{'node_next'}{'node_up'} =
$result_nodes{'no_menu'};
+$result_nodes{'no_menu'}{'node_next'}{'node_next'}{'node_prev'} =
$result_nodes{'no_menu'}{'node_next'};
+$result_nodes{'no_menu'}{'node_next'}{'node_next'}{'node_up'} =
$result_nodes{'no_menu'};
+$result_nodes{'no_menu'}{'node_next'}{'node_up'} = $result_nodes{'no_menu'};
$result_menus{'no_menu'} = {
'cmdname' => 'node',
@@ -498,7 +553,7 @@ $result_floats{'no_menu'} = {};
$result_converted{'info'}->{'no_menu'} = 'This is , produced from .
-File: , Node: Top, Up: (dir)
+File: , Node: Top, Next: c1, Up: (dir)
* Menu:
@@ -528,9 +583,9 @@ File: , Node: c3, Prev: c2, Up: Top
Tag Table:
Node: Top27
-Node: c192
-Node: c2145
-Node: c3209
+Node: c1103
+Node: c2156
+Node: c3220
End Tag Table
@@ -582,7 +637,7 @@ ul.no-bullet {list-style: none}
<div class="top" id="Top">
<div class="header">
<p>
- </p>
+Next: <a href="#c1" accesskey="n" rel="next">c1</a> </p>
</div>
<span id="SEC_Top"></span>
<ul class="section-toc">
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: * tp/Texinfo/Convert/HTML.pm (nodes_tree): use first non Top node for Top node next if there is no menu information.,
Patrice Dumas <=