+###
+### Launch the modules navbar reworking
+###
+handle_page($top,-1);# skip roots (we have 2 roots) in level counting
+
+###
+### Add the modules navbar reworking to the modules.html file
+###
+sub add_tabs_to_module_html {
+ my $found_div_tabs=0;
+ my $module_tabs = "<div class=\"tabs2\">\n<ul class=\"tablist\">\n";
+ foreach my $entry (@{$top->{'down'}}) {
+ $module_tabs .= " <li> <a href=\"$entry->{'file'}\"><span>$entry->{'label'}</span></a></li>\n";
+ }
+ $module_tabs .= " </ul></div>\n";
+
+ my $oldname = "html/modules.html";
+ open FROM,$oldname || die;
+ my $newname=$oldname;
+ $newname =~ s/.html/.handlepage.html/;
+ open TO,">$newname" || die;
+ while (<FROM>) {
+ $found_div_tabs=1 if m/div.*class="tabs"/;
+ print TO "$_";
+ last if ((m|</div>|)&&($found_div_tabs));
+ }
+
+ print TO "\n<!-- POST-PROCESSED TABS -->\n";
+ print TO $module_tabs;
+ print TO "\n<!-- END OF POST-PROCESSED TABS -->\n";
+
+ while (<FROM>) {
+ print TO "$_";
+ }
+ close FROM;
+ close TO;
+ rename($newname, $oldname) unless $debug{'rename'};
+
+ # die;
+}
+
+add_tabs_to_module_html;
+
+###
+### Post-processsing common to all pages
+###
+map {push @allfiles,$_} @extra_files;
+print "All files: ".(join(", ",@allfiles))."\n" if $debug{'parse'};
+my $tabs;
+
+foreach my $file (@allfiles) {
+ $file =~ s/.html/.handlepage.html/ if $debug{'rename'}; # Take right name if debugging
+
+ open FROM,"$file" || die;
+ my $outfile = "$file";
+ $outfile =~ s/.(html|php)$/.new.$1/;
+ open TO,">$outfile" || die;
+# print "POSTPROCESSING $file (tmp=$outfile)\n";
+ while (<FROM>) {
+ # Add the simgrid css, just in case
+ print TO '<link href="simgrid.css" rel="stylesheet" type="text/css">'."\n"
+ if (m|</head>|);
+
+ if($tabs){
+ if($file =~ /^html\/index\..*/){
+ $_ =~ s/<li class="current">/<li>/g;
+ $_ =~ s/<li><a href="index.html">/<li class="current"><a href="index.html">/g;
+ }
+ $_ =~ s/<li class="current"><a href="pages.html">/<li><a href="pages.html">/g;
+
+ if($file =~ /^html\/pages\..*/){
+ $_ =~ s/<li><a href="pages.html">/<li class="current"><a href="pages.html">/g;
+ }
+ }
+
+ if($file =~ /^html\/publis.*/){
+ $_ =~ s/<div class="header">/<div>/g;
+ $_ =~ s/<div class="headertitle">/<div>/g;
+ }
+
+ # Add the FAQ PUBLIS PEOPLE HISTORY and CONTRIB to the top navbar.
+ if( $_ =~ /<div.*class="tabs">/){
+ $tabs = 1;
+ }
+ if( $_ =~ /<\/div>/){
+ $tabs = 0;
+ }
+ if( $_ =~ /<\/ul>/ && $tabs){
+ my $tmp_buff="";
+ $tmp_buff .= ' <li><a href="use.html"><span>Using SimGrid</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="http://gforge.inria.fr/projects/simgrid"><span>Forge</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="http://simgrid.gforge.inria.fr/"><span>Website</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="pages.html"><span>Documentation index</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="FAQ.html"><span>FAQ</span></a></li>'."\n";
+ $tmp_buff .= $_;
+ $tabs = 0;
+
+ # Rework the navbar and add menu for use.html
+ # Fix the current "button" of buggy Doxygen tabs
+ if($file =~ /^html\/use.*/
+ || $file =~ /^html\/install.*/
+ || $file =~ /^html\/options.*/
+ || $file =~ /^html\/tracing.*/
+ || $file =~ /^html\/bindings.*/
+ || $file =~ /^html\/pls.*/
+ || $file =~ /^html\/modules.*/
+ || $file =~ /^html\/annotated.*/
+ || $file =~ /^html\/group__.*/
+ || $file =~ /^html\/functions.*/)
+ {
+ $tmp_buff .= ' <div class="tabs_group_use">'."\n";
+ $tmp_buff .= ' <ul class="tablist">'."\n";
+ $tmp_buff .= ' <li><a href="install.html"><span>Install SimGrid</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="modules.html"><span>Modules API</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="annotated.html"><span>Data Structures</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="options.html"><span>Options & configurations</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="tracing.html"><span>Tracing Simulations</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="bindings.html"><span>Bindings</span></a></li>'."\n";
+ $tmp_buff .= ' <li><a href="pls.html"><span>Packet level simulation</span></a></li>'."\n";
+ $tmp_buff .= ' </ul></div>'."\n";
+ $tmp_buff .= ' </div>'."\n";
+
+ my $filename = $file;
+ $filename =~ s/html\///g;
+ $filename =~ s/\.html//g;
+ $filename =~ s/publis_.*/publis/g;
+ $tmp_buff =~ s/<li class="current">/<li>/g;
+ $tmp_buff =~ s/<li><a href="$filename.html">/<li class="current"><a href="$filename.html">/g;
+ $tmp_buff =~ s/<li><a href="use.html">/<li class="current"><a href="use.html">/g;
+
+ }
+
+ # Rework the navbar
+ # Fix the current "button" of buggy Doxygen tabs
+ if($file =~ /^html\/pages.*/
+ || $file =~ /^html\/FAQ.*/)
+ {
+ my $filename = $file;
+ $filename =~ s/html\///g;
+ $filename =~ s/\.html//g;
+ $tmp_buff =~ s/<li class="current">/<li>/g;
+ $tmp_buff =~ s/<li><a href="$filename.html">/<li class="current"><a href="$filename.html">/g;
+ }
+ if($file =~ /^html\/group__.*/)
+ {
+ $tmp_buff =~ s/<li><a href="modules.html">/<li class="current"><a href="modules.html">/g;
+ }
+ if($file =~ /^html\/functions.*/)
+ {
+ $tmp_buff =~ s/<li><a href="annotated.html">/<li class="current"><a href="annotated.html">/g;
+ }
+
+
+ print TO $tmp_buff;
+ next;
+ }
+ s|<span>Modules</span>|<span>Modules API</span>|g;
+ s|<li.*><a href="pages.html"><span>Related Pages</span></a></li>\n||g;
+ s|<li class="current"><a href="modules.html"><span>Modules API</span></a></li>\n||g;
+ s|<li class="current"><a href="modules.html"><span>Modules API</span></a></li>\n||g;
+ if($file =~ /^html\/group__.*/)
+ {
+ s|<li><a href="use.html">|<li class="current"><a href="use.html">|g;
+ s|<li><a href="modules.html"><span>Modules API</span></a></li>\n|<li class="current"><a href="modules.html"><span>Modules API</span></a></li>\n|g;
+ }
+ else
+ {
+ s|<li><a href="modules.html"><span>Modules API</span></a></li>\n||g;
+ }
+ s|<li><a href="annotated.html"><span>Data Structures</span></a></li>\n||g;
+ s|<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>\n||g;
+ s|Related Pages<|Documentation index<|g;
+
+ print TO $_;
+ }
+ close FROM;
+ close TO;
+ rename("$outfile", "$file") unless $debug{'rename'};
+}
+
+
+