X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Flilypond-texi2html.init;h=edd22bf1611317919aeebcb5385fcc6ee4dc11c7;hb=7bdfb30230922720b6bffe45c14ac84963d28d1a;hp=eed32d698ee3e20ab1eee07f749b1a8057421cb8;hpb=6af050a9a628b55a1c6e78e14a9681833acf6ef1;p=lilypond.git diff --git a/Documentation/lilypond-texi2html.init b/Documentation/lilypond-texi2html.init index eed32d698e..edd22bf161 100644 --- a/Documentation/lilypond-texi2html.init +++ b/Documentation/lilypond-texi2html.init @@ -5,7 +5,7 @@ ### Author: Reinhold Kainhofer , 2008. ### Some code parts copied from texi2html and adapted. These functions ### were written mainly by Patrice Dumas -### License: GPLv2+ +### License: GPLv3+ ### ### ### Features implemented here: @@ -91,8 +91,280 @@ $LY_LANGUAGES->{'hu'} = { 'Back to Documentation Index' => 'Vissza a dokumentációk jegyzékéhez', }; -# FIXME: request translation and send it to texi2html/texinfo devs -$LANGUAGES->{'hu'} = $LANGUAGES->{'en'}; +$LY_LANGUAGES->{'it'} = { + 'Back to Documentation Index' => 'Torna all\'indice della documentazione', +}; + +# FIXME: request the translations below then send them to texi2html/texinfo devs +$LANGUAGES->{'it'} = { + ' The buttons in the navigation panels have the following meaning:' => ' I bottoni nei pannelli di navigazione hanno il seguente significato:', + ' where the @strong{ Example } assumes that the current position is at @strong{ Subsubsection One-Two-Three } of a document of the following structure:' => ' dove @strong{ Esempio } assume che l\'attuale posizione è alla @strong{ Sottosottosezione Uno-Due-Tre } di un documento che ha la seguente struttura:', + ' Up ' => ' Su ', + '(outside of any element)' => '(fuori da qualsiasi elemento)', + '(outside of any node)' => '(fuori da qualsiasi nodo)', + '@b{{quotation_arg}:} ' => '@b{{quotation_arg}:} ', + '@cite{{book}}' => '@cite{{book}}', + '@{No value for `{value}\'@}' => '@{Nessun valore per `{value}\'@}', + 'About' => 'Informazioni', + 'About (help)' => 'Informazioni (aiuto)', + 'About This Document' => 'Informazioni su questo documento', + 'April' => 'Aprile', + 'August' => 'Agosto', + 'Back' => 'Indietro', + 'Back section in previous file' => '', + 'Beginning of this chapter or previous chapter' => 'Inizio di questo capitolo o capitolo precedente', + 'Button' => 'Bottone', + 'Contents' => 'Contenuti', + 'Cover (top) of document' => 'Copertina (inizio) del documento', + 'Current' => 'Attuale', + 'Current Position' => 'Posizione Attuale', + 'Current section' => 'Sezione attuale', + 'December' => 'Dicembre', + 'FastBack' => 'Indietro veloce', + 'FastForward' => 'Avanti veloce', + 'February' => 'Febbraio', + 'First' => 'Primo', + 'First section in reading order' => 'Prima sezione in ordine di lettura', + 'Following' => 'Seguente', + 'Following node' => 'Nodo seguente', + 'Footnotes' => 'Note a piè di pagina', + 'Forward' => 'Avanti', + 'Forward section in next file' => 'Sezione successiva nel prossimo file', + 'From 1.2.3 go to' => 'Da 1.2.3 vai a', + 'Go to' => 'Vai a', + 'Index' => 'Indice', + 'Index Entry' => 'Voce dell\'indice', + 'January' => 'Gennaio', + 'July' => 'Luglio', + 'Jump to' => 'Salta a', + 'June' => 'Giugno', + 'Last' => 'Ultimo', + 'Last section in reading order' => 'Ultima sezione in ordine di lettura', + 'March' => 'Marzo', + 'May' => 'Maggio', + 'Menu:' => 'Menu', + 'Name' => 'Nome', + 'Next' => 'Successivo', + 'Next chapter' => 'Capitolo successivo', + 'Next file' => 'File successivo', + 'Next node' => 'Nodo successivo', + 'Next section in reading order' => 'Sezione successiva in ordine di lettura', + 'Next section on same level' => 'Sezione successiva sullo stesso livello', + 'NextFile' => 'File successivo', + 'Node following in node reading order' => 'Nodo seguente in ordine di lettura', + 'Node up' => 'Nodo superiore', + 'NodeNext' => 'Nodo successivo', + 'NodePrev' => 'Nodo precedente', + 'NodeUp' => 'Nodo superiore', + 'November' => 'Novembre', + 'October' => 'Ottobre', + 'Overview' => 'Panoramica', + 'Prev' => 'Prec.', + 'PrevFile' => 'File precedente', + 'Previous' => 'Precedente', + 'Previous file' => 'File precedente', + 'Previous node' => 'Nodo precedente', + 'Previous section in reading order' => 'Sezione precedente in ordine di lettura', + 'Previous section on same level' => 'Sezione precedente sullo stesso livello', + 'Section' => 'Sezione', + 'Section One' => 'Sezione uno', + 'See ' => 'Vedi', + 'See @cite{{book}}' => 'Vedi @cite{{book}}', + 'See section `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}' => 'Vedi la sezione `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}', + 'See section `{section}\' in @cite{{book}}' => 'Vedi la sezione `{section}\' in @cite{{book}}', + 'See section {reference_name}' => 'Vedi la sezione {reference_name}', + 'See {node_file_href}' => 'Vedi {node_file_href}', + 'See {node_file_href} @cite{{book}}' => 'Vedi {node_file_href} @cite{{book}}', + 'See {node_file_href} section `{section}\' in @cite{{book}}' => 'Vedi {node_file_href} nella sezione `{section}\' in @cite{{book}}', + 'See {reference_name}' => 'Vedi {reference_name}', + 'See {ref}' => 'Vedi {ref}', + 'See {title_ref}' => 'Vedi {title_ref}', + 'September' => 'Settembre', + 'Short Table of Contents' => 'Indice breve', + 'Short table of contents' => 'Indice breve', + 'Subsection One-Four' => 'Sottosezione Uno-Quattro', + 'Subsection One-One' => 'Sottosezione Uno-Uno', + 'Subsection One-Three' => 'Sottosezione Uno-Tre', + 'Subsection One-Two' => 'Sottosezione Uno-Due', + 'Subsubsection One-Two-Four' => 'Sottosottosezione Uno-Due-Quattro', + 'Subsubsection One-Two-One' => 'Sottosottosezione Uno-Due-Uno', + 'Subsubsection One-Two-Three' => 'Sottosottosezione Uno-Due-Tre', + 'Subsubsection One-Two-Two' => 'Sottosottosezione Uno-Due-Due', + 'T2H_today' => '%s, %d %d', + 'Table of Contents' => 'Indice', + 'Table of contents' => 'Indice', + 'The node you are looking for is at {href}.' => 'Il nodo che stai cercando è {href}', + 'This' => 'Questo', + 'This document was generated on @i{{date}} using @uref{{program_homepage}, @i{{program}}}.' => 'Questo documento è stato generato il @i{{date}} con @uref{{program_homepage}, @i{{program}}}.', + 'This document was generated using @uref{{program_homepage}, @emph{{program}}}.' => 'Questo documento è stato generato con @uref{{program_homepage}, @emph{{program}}}.', + 'Top' => 'Inizio', + 'Untitled Document' => 'Documento senza titolo', + 'Up' => 'Su', + 'Up node' => 'Nodo superiore', + 'Up section' => 'Sezione superiore', + 'current' => 'attuale', + 'on @emph{{date}}' => 'il @emph{{date}}', + 'section `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}' => 'sezione `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}', + 'section `{section}\' in @cite{{book}}' => 'sezione `{section}\' in @cite{{book}}', + 'see ' => 'vedi ', + 'see @cite{{book}}' => 'vedi @cite{{book}}', + 'see section `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}' => 'vedi la sezione `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}', + 'see section `{section}\' in @cite{{book}}' => 'vedi la sezione `{section}\' in @cite{{book}}', + 'see section {reference_name}' => 'vedi la sezione {reference_name}', + 'see {node_file_href}' => 'vedi {node_file_href}', + 'see {node_file_href} @cite{{book}}' => 'vedi {node_file_href} @cite{{book}}', + 'see {node_file_href} section `{section}\' in @cite{{book}}' => 'vedi {node_file_href} nella sezione `{section}\' in @cite{{book}}', + 'see {reference_name}' => 'vedi {reference_name}', + 'see {ref}' => 'vedi {ref}', + 'see {title_ref}' => 'vedi {title_ref}', + '{acronym_like} ({explanation})' => '{acronym_like} ({explanation})', + '{name} of {class}' => '{name} di {class}', + '{name} on {class}' => '{name} in {class}', + '{node_file_href}' => '{node_file_href}', + '{node_file_href} @cite{{book}}' => '{node_file_href} @cite{{book}}', + '{node_file_href} section `{section}\' in @cite{{book}}' => '{node_file_href} nella sezione `{section}\' in @cite{{book}}', + '{reference_name}' => '{reference_name}', + '{ref}' => '{ref}', + '{style} {number}' => '{style} {number}', + '{style}: {caption_first_line}' => '{style}: {caption_first_line}', + '{style}: {shortcaption_first_line}' => '{style}: {shortcaption_first_line}', + '{title_ref}' => '{title_ref}' + }; + +$LANGUAGES->{'hu'} = { + ' The buttons in the navigation panels have the following meaning:' => ' A navigációs panelen levő gombok jelentése a következő:', + ' where the @strong{ Example } assumes that the current position is at @strong{ Subsubsection One-Two-Three } of a document of the following structure:' => ' @strong{ Példánkban } az aktuális pozíció az @strong{ 1.2.3 alalszakasz } egy olyan dokumentumban, melynek szerkezete a következő:', + ' Up ' => 'Fel', + '(outside of any element)' => '(bármelyik elemen kívül)', + '(outside of any node)' => '(bármelyik csomóponton kívül)', + '@b{{quotation_arg}:} ' => '@b{{quotation_arg}:} ', + '@cite{{book}}' => '@cite{{book}}', + '@{No value for `{value}\'@}' => '@{Nincs értéke ennek: `{value}\'@}', + 'About' => 'Súgó', + 'About (help)' => 'Segítség a navigációhoz', + 'About This Document' => 'A navigációs panel használata', + 'April' => 'április', + 'August' => 'augusztus', + 'Back' => 'Vissza', + 'Back section in previous file' => 'Előző fájl hátsó szakasza', + 'Beginning of this chapter or previous chapter' => 'Fejezet eleje vagy előző fejezet', + 'Button' => 'Gomb', + 'Contents' => 'Tartalom', + 'Cover (top) of document' => 'Dokumentum címoldala', + 'Current' => 'Aktuális', + 'Current Position' => 'Aktuális pozíció', + 'Current section' => 'Aktuális szakasz', + 'December' => 'december', + 'FastBack' => 'Visszaugrás', + 'FastForward' => 'Előreugrás', + 'February' => 'február', + 'First' => 'Első', + 'First section in reading order' => 'Első szakasz az olvasási sorrendben', + 'Following' => 'Következő', + 'Following node' => 'Következő csomópont', + 'Footnotes' => 'Lábjegyzet', + 'Forward' => 'Előre', + 'Forward section in next file' => 'Következő fájl elülső szakasza', + 'From 1.2.3 go to' => '1.2.3-ból ide jutunk', + 'Go to' => 'Cél', + 'Index' => 'Tárgymutató', + 'Index Entry' => 'Tárgymutató-bejegyzés', + 'January' => 'január', + 'July' => 'július', + 'Jump to' => 'Ugorj ide', + 'June' => 'június', + 'Last' => 'Utolsó', + 'Last section in reading order' => 'Utolsó szakasz az olvasási sorrendben', + 'March' => 'március', + 'May' => 'május', + 'Menu:' => 'Menü:', + 'Name' => 'Név', + 'Next' => 'Következő', + 'Next chapter' => 'Következő fejezet', + 'Next file' => 'Következő fájl', + 'Next node' => 'Következő csomópont', + 'Next section in reading order' => 'Következő szakasz az olvasási sorrendben', + 'Next section on same level' => 'Következő szakasz ugyanazon a szinten', + 'NextFile' => 'KövetkezőFájl', + 'Node following in node reading order' => 'Következő csomópont az olvasási sorrendben', + 'Node up' => 'Szülő csomópont', + 'NodeNext' => 'KövetkezőCsomópont', + 'NodePrev' => 'ElőzőCsomópont', + 'NodeUp' => 'SzülőCsomópont', + 'November' => 'november', + 'October' => 'október', + 'Overview' => 'Áttekintés', + 'Prev' => 'Előző', + 'PrevFile' => 'ElőzőFájl', + 'Previous' => 'Előző', + 'Previous file' => 'Előző fájl', + 'Previous node' => 'Előző csomópont', + 'Previous section in reading order' => 'Előző szakasz az olvasási sorrendben', + 'Previous section on same level' => 'Előző szakasz ugyanazon a szinten', + 'Section' => 'Szakasz', + 'Section One' => 'szakasz', + 'See ' => 'Ld. ', + 'See @cite{{book}}' => 'Ld. @cite{{book}}', + 'See section `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}' => 'Ld. ezt a szakaszt: `@asis{}`{section_name}\'@asis{}\' itt: @cite{{book}}', + 'See section `{section}\' in @cite{{book}}' => 'Ld. ezt a szakaszt: `{section}\' itt: @cite{{book}}', + 'See section {reference_name}' => 'Ld. ezt a szakaszt: {reference_name}', + 'See {node_file_href}' => 'Ld. {node_file_href}', + 'See {node_file_href} @cite{{book}}' => 'See {node_file_href} @cite{{book}}', + 'See {node_file_href} section `{section}\' in @cite{{book}}' => 'Ld. {node_file_href} ezt a szakaszt: `{section}\' itt: @cite{{book}}', + 'See {reference_name}' => 'Ld. {reference_name}', + 'See {ref}' => 'Ld. {ref}', + 'See {title_ref}' => 'Ld. {title_ref}', + 'September' => 'szeptember', + 'Short Table of Contents' => 'Rövid tartalomjegyzék', + 'Short table of contents' => 'Rövid tartalomjegyzék', + 'Subsection One-Four' => 'alszakasz', + 'Subsection One-One' => 'alszakasz', + 'Subsection One-Three' => 'alszakasz', + 'Subsection One-Two' => 'alszakasz', + 'Subsubsection One-Two-Four' => 'alalszakasz', + 'Subsubsection One-Two-One' => 'alalszakasz', + 'Subsubsection One-Two-Three' => 'alalszakasz', + 'Subsubsection One-Two-Two' => 'alalszakasz', + 'T2H_today' => '%s, %d %d', + 'Table of Contents' => 'Tartalomjegyzék', + 'Table of contents' => 'Tartalomjegyzék', + 'The node you are looking for is at {href}.' => 'A keresett csomópont itt található: {href}.', + 'This' => 'Ez a(z)', + 'This document was generated on @i{{date}} using @uref{{program_homepage}, @i{{program}}}.' => 'Ezt a dokumentumot @i{{date}} napon generálta a(z) @uref{{program_homepage}, @i{{program}}}.', + 'This document was generated using @uref{{program_homepage}, @emph{{program}}}.' => 'Ezt a dokumentumot a(z) @uref{{program_homepage}, @emph{{program}}} generálta.', + 'Top' => 'Címoldal', + 'Untitled Document' => 'Névtelen dokumentum', + 'Up' => 'Fel', + 'Up node' => 'Szülő csomópont', + 'Up section' => 'Szülő szakasz', + 'current' => 'aktuális', + 'on @emph{{date}}' => 'ekkor: @emph{{date}}', + 'section `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}' => 'szakasz: `@asis{}`{section_name}\'@asis{}\' itt: @cite{{book}}', + 'section `{section}\' in @cite{{book}}' => 'szakasz: `{section}\' itt: @cite{{book}}', + 'see ' => 'ld. ', + 'see @cite{{book}}' => 'ld. @cite{{book}}', + 'see section `@asis{}`{section_name}\'@asis{}\' in @cite{{book}}' => 'ld. ezt a szakaszt: `@asis{}`{section_name}\'@asis{}\' itt: @cite{{book}}', + 'see section `{section}\' in @cite{{book}}' => 'ld. ezt a szakaszt: `{section}\' itt: @cite{{book}}', + 'see section {reference_name}' => 'ld. ezt a szakaszt: {reference_name}', + 'see {node_file_href}' => 'ld. {node_file_href}', + 'see {node_file_href} @cite{{book}}' => 'ld. {node_file_href} @cite{{book}}', + 'see {node_file_href} section `{section}\' in @cite{{book}}' => 'ld. {node_file_href} ezt a szakaszt: `{section}\' itt: @cite{{book}}', + 'see {reference_name}' => 'ld. {reference_name}', + 'see {ref}' => 'ld. {ref}', + 'see {title_ref}' => 'ld. {title_ref}', + '{acronym_like} ({explanation})' => '{acronym_like} ({explanation})', + '{name} of {class}' => '{name} típusa: {class}', + '{name} on {class}' => '{name} ezen: {class}', + '{node_file_href}' => '{node_file_href}', + '{node_file_href} @cite{{book}}' => '{node_file_href} @cite{{book}}', + '{node_file_href} section `{section}\' in @cite{{book}}' => '{node_file_href} szakasz: `{section}\' itt: @cite{{book}}', + '{reference_name}' => '{reference_name}', + '{ref}' => '{ref}', + '{style} {number}' => '{style} {number}', + '{style}: {caption_first_line}' => '{style}: {caption_first_line}', + '{style}: {shortcaption_first_line}' => '{style}: {shortcaption_first_line}', + '{title_ref}' => '{title_ref}' + }; sub ly_get_string () { my $lang = $Texi2HTML::THISDOC{current_lang}; @@ -109,17 +381,7 @@ sub ly_get_string () { ### FUNCTIONALITY FOR MAIN WEB PAGES ############################################################################# -my $web_manual = 0; -sub lilypond_init_web_manual () -{ - if (exists($main::value{'web_manual'})) - { - print STDERR "Initializing settings for web site\n"; - $web_manual = 1; - web_settings(); - } -} -push @Texi2HTML::Config::command_handler_process, \&lilypond_init_web_manual; +our $web_manual; ############################################################################# ### SETTINGS FOR TEXI2HTML @@ -128,21 +390,28 @@ push @Texi2HTML::Config::command_handler_process, \&lilypond_init_web_manual; # Validation fix for texi2html<=1.82 $Texi2HTML::Config::DOCTYPE = ''; -sub web_settings() { - if ($web_manual) { - @Texi2HTML::Config::CSS_REFS = ( - {FILENAME => "lilypond-web.css", TITLE => "Default style"} - ); - } else { - @Texi2HTML::Config::CSS_REFS = ( - {FILENAME => "lilypond-mccarty.css", TITLE => "Patrick McCarty's design"} +@Texi2HTML::Config::CSS_REFS = ( + {FILENAME => "lilypond-mccarty.css", TITLE => "Default style"} ); - } -} @Texi2HTML::Config::ALT_CSS_REFS = ( {FILENAME => "lilypond.css", TITLE => "Andrew Hawryluk's design" }, {FILENAME => "lilypond-blue.css", TITLE => "Kurt Kroon's blue design" }, ); + +sub web_settings() { + print STDERR "Initializing settings for web site\n"; + $Texi2HTML::Config::BODYTEXT = ""; + @Texi2HTML::Config::CSS_REFS = ( + {FILENAME => "lilypond-web.css", TITLE => "Patrick McCarty's design"} + ); + @Texi2HTML::Config::ALT_CSS_REFS = ( + {FILENAME => "lilypond-web-alt1.css", TITLE => "Alternate style 1"}, + {FILENAME => "lilypond-web-alt2.css", TITLE => "Alternate style 2"}, + ); +} + +# web_settings() if (exists($main::value{'web_manual'})); + $Texi2HTML::Config::USE_ACCESSKEY = 1; $Texi2HTML::Config::USE_LINKS = 1; $Texi2HTML::Config::USE_REL_REV = 1; @@ -150,7 +419,7 @@ $Texi2HTML::Config::SPLIT_INDEX = 0; $Texi2HTML::Config::SEPARATED_FOOTNOTES = 0; # Print footnotes on same page, not separated if ($Texi2HTML::Config::SPLIT eq 'section' or - $Texi2HTML::Config::SPLIT eq 'subsubsection') { + $Texi2HTML::Config::SPLIT eq 'node') { $Texi2HTML::Config::element_file_name = \&lilypond_element_file_name; } @@ -266,17 +535,20 @@ sub load_map_file ($) # '<:encoding(utf8)', but decoding from UTF-8 line by line works. -jm if (open(XREFFILE,'<', $mapfile)) { my $line; + # print STDERR "*** PRINTING MAP FILE LINES ***\n"; while ( $line = decode ('UTF-8', ) ) { # parse the tab-separated entries and insert them into the map: chomp($line); my @entries = split(/\t/, $line); if (scalar (@entries) == 3) { $node_map->{$entries[0]} = [$entries[1], $entries[2]]; + $, = " "; + # print STDERR @entries; + # print STDERR "\n"; } else { print STDERR "Invalid entry in the node file $mapfile: $line\n"; } } - # print STDERR %{$node_map}; close (XREFFILE); } else { print STDERR "WARNING: Unable to load the map file $mapfile\n"; @@ -384,10 +656,12 @@ sub lilypond_element_file_name($$$) if (exists ($node_to_filename_map->{$node_name})) { (my $filename, my $anchor) = @{$node_to_filename_map->{$node_name}}; $filename .= ".$docu_ext" if (defined($docu_ext)); + $filename = lc($filename); # unnumbered sections (except those at top-level!) always go to the same # file as the previous numbered section - if (not ($element->{number}) and not ($lastfilename eq '') and ($element->{level} > 1)) { + if (not $docu_name == "web" and not ($element->{number}) + and not ($lastfilename eq '') and ($element->{level} > 1)) { $filename = $lastfilename; } if (($filename eq $lastfilename)) { @@ -397,8 +671,8 @@ sub lilypond_element_file_name($$$) $$element{doc_nr} = $docnr; $lastfilename = $filename; } - # print STDERR "File name: $filename\n"; - return lc($filename); + print STDERR "Output file name: $filename\n"; + return $filename; } elsif ($type eq "top" or $type eq "toc" or $type eq "doc" or $type eq "stoc" or $type eq "foot" or $type eq "about") { return; @@ -416,15 +690,17 @@ sub lilypond_element_file_name($$$) } my $filename = texinfo_file_name($node_name); $filename .= ".$docu_ext" if (defined($docu_ext)); + $filename = lc($filename); $docnr += 1; $$element{doc_nr} = $docnr; $lastfilename = $filename; print STDERR "File name: $filename\n"; - return lc($filename); + return $filename; } else { $$element{doc_nr} = $docnr; + $filename = lc ($filename); print STDERR "File name: $filename\n"; - return lc($filename); + return $filename; } } @@ -471,6 +747,10 @@ sub lilypond_init_map () my $map_filename = main::locate_include_file ("${docu_name}.$Texi2HTML::THISDOC{current_lang}.xref-map") || main::locate_include_file ("${docu_name}.xref-map"); print STDERR "Map filename is: $map_filename\nDocu name is $docu_name\n"; + if ($docu_name eq 'web') { + $web_manual = 1; + web_settings(); + } $node_to_filename_map = load_map_file ($map_filename); } push @Texi2HTML::Config::command_handler_init, \&lilypond_init_map; @@ -616,23 +896,25 @@ my @default_toc = []; # Initialize the toc_depth to 1 if the command-line option -D=short_toc is given sub lilypond_init_toc_depth () { - if (exists($main::value{'short_toc'}) and not exists($main::value{'bigpage'})) { + if (exists($main::value{'short_toc'}) and not exists($main::value{'bigpage'}) + and not $web_manual) { $page_toc_depth = 1; } } -# Set the TOC-depth (depending on a texinfo variable short_toc) in a +# Set the TOC-depth (depending on a texinfo variable short_toc) in a # command-handler, so we have them available when creating the pages push @Texi2HTML::Config::command_handler_process, \&lilypond_init_toc_depth; + # recursively generate the TOC entries for the element and its children (which # are only shown up to maxlevel. All ancestors of the current element are also # shown with their immediate children, irrespective of their level. -# Unnumbered entries are only printed out if they are at top-level or 2nd level +# Unnumbered entries are only printed out if they are at top-level or 2nd level # or their parent element is an ancestor of the currently viewed node. # The conditions to call this method to print the entry for a child node is: # -) the parent is an ancestor of the current page node -# -) the parent is a numbered element at top-level toplevel (i.e. show numbered +# -) the parent is a numbered element at top-level toplevel (i.e. show numbered # and unnumbered 2nd-level children of numbered nodes) # -) the child element is a numbered node below level maxlevel sub generate_ly_toc_entries($$$) @@ -671,11 +953,11 @@ sub generate_ly_toc_entries($$$) my @color_3 = ( "Productions", "Testimonials", "Source", "Old downloads", - "FAQ", "Changes", "Extend", "Internals", + "Web", "FAQ", "Changes", "Extend", "Internals", "Publications", "Old news" ); my @color_4 = ( - "Text input", "Alternate input", + "Text input", "Easier editing", "GPL", "Translated", "All", "FDL" ); @@ -726,9 +1008,8 @@ sub generate_ly_toc_entries($$$) push (@result, "\n$ind\n"); if ($web_manual) { push (@result, "$ind" . &$anchor ($element->{'tocid'}, "$element->{'file'}#$element->{'target'}","(main)")); - } else { - push (@result, @child_result); } + push (@result, @child_result); push (@result, "$ind\n"); } } @@ -762,7 +1043,7 @@ sub lilypond_generate_page_toc_body($) # Create the toc entries recursively my @toc_entries = ""; if ($web_manual) { - push (@toc_entries, "\n"); + @toc_entries = "\n"; # FIXME: add link to main page, really hackily. if ($element->{'sectionup'}) { # it's not the top element @@ -779,19 +1060,20 @@ sub lilypond_generate_page_toc_body($) push (@toc_entries, generate_ly_toc_entries($_, \%parentelements, $page_toc_depth)); } # search box + local $/=undef; + my $name = "search-box.html"; + open FILE, "$ENV{TOP_SRC_DIR}/Documentation/$name" or die "no such file: $name: $!"; + my $search_string = ; + $search_string = "
  • \n" . $search_string . "
  • \n"; + push (@toc_entries, $search_string); + close FILE; + + push (@toc_entries, "\n"); if ($web_manual) { - # WTF, perl needs 6 lines of magic to do: ' ' + open ('file-name').read ()? - local $/=undef; - my $name = "search-box.html"; - open FILE, "$ENV{SRC_DIR}/$name" or open FILE, "$ENV{SRC_DIR}/../$name" or die die "no such file: $name: $!"; - - my $string = ; - $string = "
  • \n" . $string . "
  • \n"; - push (@toc_entries, $string); - close FILE; + push (@toc_entries, "\n"); + } else { + push (@toc_entries, "\n"); } - push (@toc_entries, "\n"); - push (@toc_entries, "\n"); return @toc_entries; } @@ -803,13 +1085,13 @@ sub lilypond_print_toc_div ($$) # use default TOC if no custom lines have been generated @lines = @default_toc if (not @lines); if (@lines) { - + print $fh "\n\n
    \n"; - + # Remove the leading "GNU LilyPond --- " from the manual title my $topname = $Texi2HTML::NAME{'Top'}; $topname =~ s/^GNU LilyPond(:| &[mn]dash;) //; - + # construct the top-level Docs index (relative path and including language!) my $lang = $Texi2HTML::THISDOC{current_lang}; if ($lang and $lang ne "en") { @@ -821,9 +1103,8 @@ sub lilypond_print_toc_div ($$) $reldir = "../" if ($Texi2HTML::Config::SPLIT eq 'section'); my $uplink = $reldir."web/manuals.${lang}html"; - if ($web_manual) { - } else { - print $fh "

    << " . &ly_get_string ('Back to Documentation Index') . "

    \n"; @@ -978,7 +1259,7 @@ sub lilypond_print_navigation my $text = $button->[1]; my $button_href = $button->[0]; # verify that $button_href is simple text and text is a reference - if (defined($button_href) and !ref($button_href) + if (defined($button_href) and !ref($button_href) and defined($text) and (ref($text) eq 'SCALAR') and defined($$text)) { # use given text if ($Texi2HTML::HREF{$button_href}) @@ -1007,7 +1288,7 @@ sub lilypond_print_navigation } elsif ($button eq ' ') { # handle space button - $result .= + $result .= ($ICONS && $ACTIVE_ICONS{' '}) ? &$button_icon_img($BUTTONS_NAME{$button}, $ACTIVE_ICONS{' '}) : $NAVIGATION_TEXT{' '}; @@ -1038,7 +1319,7 @@ sub lilypond_print_navigation } else { # use text - $result .= + $result .= '[' . &$anchor('', $Texi2HTML::HREF{$button}, @@ -1050,7 +1331,7 @@ sub lilypond_print_navigation } else { # button is passive - $result .= + $result .= $ICONS && $PASSIVE_ICONS{$button} ? &$button_icon_img($BUTTONS_NAME{$button}, $PASSIVE_ICONS{$button}, @@ -1243,13 +1524,10 @@ sub makeinfo_like_paragraph ($$$$$$$$$$$$$) ############################################################################# # For split pages, use index.html as start page! -if ($Texi2HTML::Config::SPLIT eq 'section') { +if ($Texi2HTML::Config::SPLIT eq 'section' or + $Texi2HTML::Config::SPLIT eq 'node') { $Texi2HTML::Config::TOP_FILE = 'index.html'; } -if ($web_node) { -} else { - push @Texi2HTML::Config::command_handler_process, \&lilypond_init_toc_depth; -} return 1;