
Robert Ramey wrote:
Jonathan Turkanis
There was a discussion a couple weeks ago about the javascript menu in Robert Ramey's serialization docs. I suggested making a menu component available Boost-wide and testing it on a large number of browsers to address portability issues. I've written a preliminary version, documented here:
I've verified that it works -- with varying levels of functionality -- on 26 browsersincluding some antiques such as IE3.02.
I'm still looking at this but I have some preliminary questions observations
c) The boost "rule" no javascript. This should be re-formulated to be "all documentation should be usable on any browser that supports frames". This can be implemented using the approach b) above.
If you are using Boost.Book, it should be possible to set up a parameter to control frames/no-frames generation to produce this style navigation (frames=yes or toc-navigation=tree) and the existing one (frames=no or toc-navigation=default).
d) The control presented is a very nice job - but I was hoping this might take a slightly different direction. What I would like to see is:
"Boost Documentation Navigator"
1) a two frame page. Left frame containing a expandable/collapsible index implemented by a control such as yours. The right page would be the current boost documentation pages.
2) This "Navigator" would be automatically generated from the Boost.Book xml files using XSLT or some other appropriate tool.
It should be easy to implement in XSL:T.
Boost.book might have to add a little bit to support this.
Boost.Book would need to override how DocBook generates ToC's. The XSL:T code would need to generate the relevant code - which will be easy to do - for the main ToC and suppress the generation of sub-section ToC's. The only problem I forsee in writing the code will be getting the HTML file for the document chunk (I would need to look into how DocBook does this).
While I'm on the subject of Boost.book. I would hope that the formatting is in a .css so that I might replace it with my preferred look and feel. (I prefer the "classic" one). I believe this would resolve the essentially irresolvable about esthetics.
It already is. The CSS is located at: $(boost-root)/doc/html/boostbook.css. When generating the navigation pane, Boost.Book should use tree.css instead of boostbook.css. The new look and feel has modified the way the top section is rendered, so it might look different when using the "classic" L&F. It also renders navigation controls at the top and bottom in Spirit style layout. To get the old-style header, you will need to add the following XSL:T parameters to the command-line: nav.border='Boost' (default: 'none') nav.flow='DocBook' (default: 'Spirit') I am not sure how nav.border=Boost interacts with the "classic" stylesheet. NOTE: There is also a nav.layout parameter that controls the "Home | ... | More" contents: 'horizontal' (default) - renders in "classic" Boost style 'vertical' - renders in a vertical box like in the "Getting Started" page 'none' - do not display the links. NOTE: this will display the Boost logo. For "standalone" docs. nav.flow also has the value 'none' so it does not display any navigation. This is useful for generating the "getting started" page and other standalone pages. This information should really be added to the Boost.Book documentation (e.g. under "controlling documentation generation"). There is a summary of these parameters, their values and a description in the navbar.xsl file. Regards, Reece _________________________________________________________________ It's fast, it's easy and it's free. Get MSN Messenger today! http://www.msn.co.uk/messenger