diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-01-08 23:20:04 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-02-17 08:25:29 +0100 |
commit | 7b07a78cc0831a08f2d39a259dec2454c7d4cc1e (patch) | |
tree | b90dd022688b5fec4a0a39fce2e4db9fb1aed5a7 /src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala | |
parent | c524f18ee4959f6fe8297971fc882e63468c4317 (diff) | |
download | scala-7b07a78cc0831a08f2d39a259dec2454c7d4cc1e.tar.gz scala-7b07a78cc0831a08f2d39a259dec2454c7d4cc1e.tar.bz2 scala-7b07a78cc0831a08f2d39a259dec2454c7d4cc1e.zip |
Scaladoc: Add new search, featuring entity and member search
This commit adds a revamped search function for the scaladoc tool. It
also contains a number of small fixes for HTML-layout and JavaScript
issues.
The search is implemented by enhancing the scheduler and using
JavaScript promises. List of changes/additions:
* Revamped search functionality
- Search members as well as entities
- Preserve keyboard navigation
- Scroll to selected entity if outside of viewport
- Non-blocking, cancelable
* Display of library name (top left)
* Refactored scheduler
* Cleanup of HTML layout
- Remove left pane
- Better mobile layout, no need for dynamic offsets
- Remove unused element classes
- Remove iframe structure
- Better layout for kinds
Diffstat (limited to 'src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala')
-rw-r--r-- | src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala b/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala index 6076b1708c..65c540d4c5 100644 --- a/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala +++ b/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala @@ -16,7 +16,8 @@ import page.diagram._ /** A class that can generate Scaladoc sites to some fixed root folder. * @author David Bernard * @author Gilles Dubochet */ -class HtmlFactory(val universe: doc.Universe, index: doc.Index) { +class HtmlFactory(val universe: doc.Universe, index: doc.Index, val reporter: ScalaDocReporter) { + import page.{IndexScript, EntityPage} /** The character encoding to be used for generated Scaladoc sites. * This value is currently always UTF-8. */ @@ -34,6 +35,9 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) { "trait_comp.svg", "permalink.svg", "abstract_type.svg", + "lato-v11-latin-100.eot", + "lato-v11-latin-100.ttf", + "lato-v11-latin-100.woff", "lato-v11-latin-regular.eot", "lato-v11-latin-regular.ttf", "lato-v11-latin-regular.woff", @@ -96,14 +100,15 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) { libResources foreach (s => copyResource("lib/" + s)) - new page.Index(universe, index) writeFor this - new page.IndexScript(universe, index) writeFor this + IndexScript(universe, index) writeFor this + if (index.hasDeprecatedMembers) - new page.DeprecatedIndex(universe, index) writeFor this + new page.DeprecatedIndex(universe, index, reporter) writeFor this try { writeTemplates(_ writeFor this) + for (letter <- index.firstLetterIndex) { - new html.page.ReferenceIndex(letter._1, index, universe) writeFor this + new html.page.ReferenceIndex(letter._1, index, universe, reporter) writeFor this } } finally { DiagramStats.printStats(universe.settings) @@ -117,7 +122,7 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) { def writeTemplate(tpl: DocTemplateEntity) { if (!(written contains tpl)) { val diagramGenerator: DiagramGenerator = new DotDiagramGenerator(universe.settings, universe.dotRunner) - writeForThis(new page.Template(universe, diagramGenerator, tpl)) + writeForThis(page.EntityPage(universe, diagramGenerator, tpl, reporter)) written += tpl tpl.templates collect { case d: DocTemplateEntity => d } map writeTemplate } |