From a398cb2b73918a9132eb692e7540e7b8c48f49bd Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer Date: Fri, 9 May 2008 20:29:04 +0200 Subject: [PATCH] texi2html: Some attempts to make it work in IE -) New style sheet, used only by IE to work around non-support of IE for position:fixed; in CSS -) Add
around the main contents to allow for "proper" (i.e. not-as-much-broken-as-before) positioning in IE -) Don't generate the default CSS lines in the file. --- Documentation/lilypond-ie-fixes.css | 13 +++++++++++ Documentation/lilypond.css | 18 +++++++++++++-- lilypond-texi2html.init | 33 ++++++++++++++++++++++++---- make/doclang-rules.make | 4 ++-- stepmake/stepmake/texinfo-rules.make | 6 ++--- 5 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 Documentation/lilypond-ie-fixes.css diff --git a/Documentation/lilypond-ie-fixes.css b/Documentation/lilypond-ie-fixes.css new file mode 100644 index 0000000000..0a27395519 --- /dev/null +++ b/Documentation/lilypond-ie-fixes.css @@ -0,0 +1,13 @@ +/***********************************************************/ +/* TOC SIDEBAR */ +/***********************************************************/ +body { + height: 100%; + overflow: hidden; + font-size: 100%; +} +div#main { + width: 100%; + height: 100%; + overflow: auto; +} diff --git a/Documentation/lilypond.css b/Documentation/lilypond.css index 93df57770d..d646401803 100644 --- a/Documentation/lilypond.css +++ b/Documentation/lilypond.css @@ -85,8 +85,11 @@ table.cartouche td { body { padding-left: 27%; /* To create space for the sidebar! */ } +div#main { +} div#tocframe { - position: fixed; +/* position: fixed; */ + position: absolute; top: 0; left: 0; margin: 0em; @@ -97,7 +100,18 @@ div#tocframe { background-color: #FFFACD; z-index:100; list-style-type: none; -} + +/* float: left; */ +/* clear: both; */ +} + +@media screen + { + body>div#tocframe + { + position: fixed; + } + } #tocframe .contents { width: 100%; diff --git a/lilypond-texi2html.init b/lilypond-texi2html.init index 953839cec8..64d42e8880 100644 --- a/lilypond-texi2html.init +++ b/lilypond-texi2html.init @@ -226,7 +226,25 @@ sub lilypond_toc_body($) } - +sub lilypond_css_lines ($$) +{ + my $import_lines = shift; + my $rule_lines = shift; + return if (defined($CSS_LINES)); +# return if (!@$rule_lines and !@$import_lines and (! keys(%css_map))); + if (@$rule_lines or @$import_lines) + { + $CSS_LINES = "\n"; + } + foreach my $ref (@CSS_REFS) + { + $CSS_LINES .= "\n"; + } + $CSS_LINES .= "\n"; +} @@ -239,11 +257,15 @@ sub lilypond_toc_body($) sub print_lilypond_page_foot($) { my $fh = shift; + my $program_string = &$program_string(); + print $fh "

$program_string
$PRE_BODY_CLOSE

\n"; + + # Print the TOC frame: my @lines = @this_page_toc; # use default TOC if no custom lines have been generated @lines = @default_toc if (not @lines); if (@lines) { - print $fh "
"; + print $fh "\n\n
"; print $fh '

' . $Texi2HTML::NAME{'Contents'} . "

\n"; foreach my $line (@lines) { print $fh $line; @@ -251,7 +273,9 @@ sub print_lilypond_page_foot($) print $fh "
"; @this_page_toc = (); } - T2H_DEFAULT_print_page_foot($fh); + + # Close the page: + print $fh "\n\n"; } @@ -465,6 +489,7 @@ $Texi2HTML::Config::print_page_foot = \&print_lilypond_page_foot; $Texi2HTML::Config::print_navigation = \&lilypond_print_navigation; $Texi2HTML::Config::external_ref = \&lilypond_external_ref; $Texi2HTML::Config::toc_body = \&lilypond_toc_body; +$Texi2HTML::Config::css_lines = \&lilypond_css_lines; # For split pages, use index(.lang).html as start page! @@ -508,6 +533,6 @@ sub lilypond_unknown($$$$$) } $Texi2HTML::Config::unknown = \&lilypond_unknown; - +%css_map=(); return 1; diff --git a/make/doclang-rules.make b/make/doclang-rules.make index 33101c46b9..0b8f359f9c 100644 --- a/make/doclang-rules.make +++ b/make/doclang-rules.make @@ -2,11 +2,11 @@ $(outdir)/%/index.html: $(outdir)/%.texi $(OUT_PNG_IMAGES) $(outdir)/version.itexi mkdir -p $(dir $@) $(TEXI2HTML) --I=$(outdir) $(TEXI2HTML_FLAGS) --output=$(dir $@) --prefix=index --split=section $(TEXI2HTML_INIT) $< - cp $(top-src-dir)/Documentation/lilypond.css $(dir $@) + cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@) $(outdir)/%-big-page.html: $(outdir)/%.texi $(OUT_PNG_IMAGES) $(outdir)/version.itexi $(TEXI2HTML) --I=$(outdir) $(TEXI2HTML_FLAGS) --output=$@ $(TEXI2HTML_INIT) $< - cp $(top-src-dir)/Documentation/lilypond.css $(dir $@) + cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@) $(outdir)/%.pdftexi: $(outdir)/%.texi doc-po $(outdir)/version.itexi $(PYTHON) $(buildscript-dir)/texi-gettext.py $(ISOLANG) $< diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index 649956f6fb..c4f72306b7 100644 --- a/stepmake/stepmake/texinfo-rules.make +++ b/stepmake/stepmake/texinfo-rules.make @@ -28,12 +28,12 @@ $(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir. $(outdir)/%-big-page.html: $(outdir)/%.texi $(outdir)/version.itexi $(TEXI2HTML) --I=$(outdir) -D bigpage --output=$@ $(TEXI2HTML_INIT) $< - cp $(top-src-dir)/Documentation/lilypond.css $(dir $@) + cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@) $(outdir)/%.html: $(outdir)/%.texi $(outdir)/version.itexi $(TEXI2HTML) --I=$(outdir) --output=$@ $(TEXI2HTML_INIT) $< - cp $(top-src-dir)/Documentation/lilypond.css $(dir $@) + cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@) $(outdir)/%.html.omf: %.texi $(call GENERATE_OMF,html) @@ -47,7 +47,7 @@ $(outdir)/%.ps.gz.omf: %.texi $(outdir)/%/index.html: $(outdir)/%.texi $(outdir)/version.itexi mkdir -p $(dir $@) $(TEXI2HTML) --I=$(outdir) --output=$(dir $@) --prefix=index --split=section $(TEXI2HTML_INIT) $< - cp $(top-src-dir)/Documentation/lilypond.css $(dir $@) + cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@) $(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/version.itexi cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) --batch $(TEXINFO_PAPERSIZE_OPTION) $(