Right now, the generated docs are pretty huge (100MB for all of the main libs). This is mainly
because each generated HTML page includes full navigation for each type in the containing
library. For stuff like dart:html, that's tons of HTML. Even after compression, the docs are
9.2MB. Also, they take a long time to generate (30s on my laptop).
This patch adds a mode you can use called "live-nav" (and makes it the default). With that
mode, pages do not include navigation. Instead, we generate a single nav.json file with the
navigation data. Client-side Dart code does an XHR for that and then renders the navigation
on the fly.
This gets the generated docs down to 13.3MB (2MB after compression) and gets doc generation
up to 6.3s for everything.
The two downsides are:
1. There's a visible flash on page load when it renders the nav since it's asynchronous.
2. You can't browse docs locally just using file://. To be able to XHR the nav.json, you
either need to enable file access in your browser or run a local server.
Review URL: https://chromiumcodereview.appspot.com//9256002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3445 260f80e4-7a28-3924-810f-c04153c831b5
I also did a few refactorings:
* Tried to tame the "nativeName" stuff to keep the code paths from forking too much
* Removed the bad code duplication between needsConversion and convertTo in Value (they had gone out of sync again!)
* Simplified the function wrapping code & made it clear it's about isolates. The code still checks for DOM, but conceptually it's part of our isolate impl. If we had a different way to tag native function types (e.g. perhaps the "native" keyword, if it's allowed in that position?) we could remove the DOM check there.
Review URL: http://codereview.chromium.org//9110027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3057 260f80e4-7a28-3924-810f-c04153c831b5