From f9aa3be865d51b48ec2a3399755965e47578687f Mon Sep 17 00:00:00 2001 From: Andrzej Ratajczak <32793002+BarkingBad@users.noreply.github.com> Date: Tue, 30 Nov 2021 16:43:37 +0100 Subject: [PATCH] Scaladoc features parity with old scaladoc/docs.scala-lang (#13954) * POC * Walk in order and collect previous/next * Add `Edit on Github` button and `Contriubuted` sections * Polish gathering the contributors. CSSes fixes. * Fix tooltipping snippets * Fix handling relative links for static site * Add redirects mechanism for scaladoc * Fix leftover * Fix tests * Fix gathering index html for sections without explicit index * Apply requested changes to scaladoc * Decouple Scala.js jses. Move contributors to be independent asset/ * Add support for multiple redirects * Apply requested changes. Add static site for testcases. Fix minor bugs in scaladoc. * Fix tests --- .github/workflows/scaladoc.yaml | 2 +- build.sbt | 5 +- docs/_layouts/blog-page.html | 4 +- docs/_layouts/doc-page.html | 25 +++-- docs/_layouts/main.html | 11 +- docs/_layouts/redirect.html | 14 +++ docs/_layouts/static-site-main.html | 49 +++++++++ docs/blog/index.html | 2 +- docs/css/dottydoc.css | 6 +- .../reference/experimental/named-typeargs.md | 1 + .../other-new-features/named-typeargs.md | 7 -- project/Build.scala | 102 ++++++++---------- project/CopyDocs.scala | 46 ++++---- project/DocumentationWebsite.scala | 85 +++++++++++++++ project/scripts/cmdScaladocTests | 1 + .../css}/code-snippets.css | 10 +- .../{resources => common/css}/searchbar.css | 0 .../css}/social-links.css | 0 scaladoc-js/{resources => common/css}/ux.css | 0 .../css}/versions-dropdown.css | 0 .../src/code-snippets/CodeSnippets.scala | 0 .../code-snippets/CodeSnippetsGlobals.scala | 0 .../src/code-snippets/Scastie.scala | 0 .../contributors/css/content-contributors.css | 24 +++++ scaladoc-js/contributors/src/Globals.scala | 11 ++ scaladoc-js/contributors/src/Main.scala | 5 + .../ContentContributors.scala | 78 ++++++++++++++ scaladoc-js/{ => main}/src/Globals.scala | 0 scaladoc-js/main/src/Main.scala | 10 ++ .../{ => main}/src/searchbar/PageEntry.scala | 0 .../{ => main}/src/searchbar/Searchbar.scala | 0 .../src/searchbar/SearchbarComponent.scala | 0 .../src/searchbar/SearchbarGlobals.scala | 0 .../engine/InkuireJSSearchEngine.scala | 0 .../src/searchbar/engine/Matchers.scala | 0 .../src/searchbar/engine/QueryParser.scala | 0 .../searchbar/engine/SearchbarEngine.scala | 0 .../src/social-links/SocialLinks.scala | 0 .../TooltipNormalizer.scala | 25 +++++ scaladoc-js/{ => main}/src/ux/Ux.scala | 0 .../versions-dropdown/DropdownHandler.scala | 0 .../dotty/tools/scaladoc}/MatchersTest.scala | 0 .../tools/scaladoc}/QueryParserTest.scala | 2 +- scaladoc-js/markdown/src/Main.scala | 5 + scaladoc-js/src/Main.scala | 22 ---- .../docs/_layouts/redirect.html | 14 +++ .../docs/_layouts/static-site-main.html | 22 ++++ scaladoc-testcases/docs/css/bootstrap.min.css | 1 + scaladoc-testcases/docs/docs/docs/f1.md | 7 ++ scaladoc-testcases/docs/docs/docs/f2.md | 4 + scaladoc-testcases/docs/docs/docs/f3.md | 4 + scaladoc-testcases/docs/docs/docs/f4.md | 4 + scaladoc-testcases/docs/sidebar.yml | 7 ++ .../resources/dotty_res/styles/scalastyle.css | 86 +++++++++++++-- .../src/dotty/tools/scaladoc/Scaladoc.scala | 2 + .../tools/scaladoc/ScaladocSettings.scala | 10 ++ .../dotty/tools/scaladoc/SourceLinks.scala | 22 +++- .../scaladoc/renderers/HtmlRenderer.scala | 14 ++- .../tools/scaladoc/renderers/Renderer.scala | 48 ++++++++- .../scaladoc/renderers/SiteRenderer.scala | 2 +- .../tools/scaladoc/site/LoadedTemplate.scala | 9 +- .../scaladoc/site/StaticSiteContext.scala | 73 +++++++++---- .../dotty/tools/scaladoc/site/templates.scala | 10 +- .../comments/markdown/SnippetRenderer.scala | 2 +- .../dotty/tools/scaladoc/ReportingTest.scala | 2 +- 65 files changed, 718 insertions(+), 177 deletions(-) create mode 100644 docs/_layouts/redirect.html create mode 100644 docs/_layouts/static-site-main.html delete mode 100644 docs/docs/reference/other-new-features/named-typeargs.md create mode 100644 project/DocumentationWebsite.scala rename scaladoc-js/{resources => common/css}/code-snippets.css (97%) rename scaladoc-js/{resources => common/css}/searchbar.css (100%) rename scaladoc-js/{resources => common/css}/social-links.css (100%) rename scaladoc-js/{resources => common/css}/ux.css (100%) rename scaladoc-js/{resources => common/css}/versions-dropdown.css (100%) rename scaladoc-js/{ => common}/src/code-snippets/CodeSnippets.scala (100%) rename scaladoc-js/{ => common}/src/code-snippets/CodeSnippetsGlobals.scala (100%) rename scaladoc-js/{ => common}/src/code-snippets/Scastie.scala (100%) create mode 100644 scaladoc-js/contributors/css/content-contributors.css create mode 100644 scaladoc-js/contributors/src/Globals.scala create mode 100644 scaladoc-js/contributors/src/Main.scala create mode 100644 scaladoc-js/contributors/src/content-contributors/ContentContributors.scala rename scaladoc-js/{ => main}/src/Globals.scala (100%) create mode 100644 scaladoc-js/main/src/Main.scala rename scaladoc-js/{ => main}/src/searchbar/PageEntry.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/Searchbar.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/SearchbarComponent.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/SearchbarGlobals.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/engine/InkuireJSSearchEngine.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/engine/Matchers.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/engine/QueryParser.scala (100%) rename scaladoc-js/{ => main}/src/searchbar/engine/SearchbarEngine.scala (100%) rename scaladoc-js/{ => main}/src/social-links/SocialLinks.scala (100%) create mode 100644 scaladoc-js/main/src/tooltip-normalizer/TooltipNormalizer.scala rename scaladoc-js/{ => main}/src/ux/Ux.scala (100%) rename scaladoc-js/{ => main}/src/versions-dropdown/DropdownHandler.scala (100%) rename scaladoc-js/{test/dotty/dokka => main/test/dotty/tools/scaladoc}/MatchersTest.scala (100%) rename scaladoc-js/{test/dotty/dokka => main/test/dotty/tools/scaladoc}/QueryParserTest.scala (99%) create mode 100644 scaladoc-js/markdown/src/Main.scala delete mode 100644 scaladoc-js/src/Main.scala create mode 100644 scaladoc-testcases/docs/_layouts/redirect.html create mode 100644 scaladoc-testcases/docs/_layouts/static-site-main.html create mode 100644 scaladoc-testcases/docs/css/bootstrap.min.css create mode 100644 scaladoc-testcases/docs/docs/docs/f1.md create mode 100644 scaladoc-testcases/docs/docs/docs/f2.md create mode 100644 scaladoc-testcases/docs/docs/docs/f3.md create mode 100644 scaladoc-testcases/docs/docs/docs/f4.md create mode 100644 scaladoc-testcases/docs/sidebar.yml diff --git a/.github/workflows/scaladoc.yaml b/.github/workflows/scaladoc.yaml index dbe0628751c1..080b77fcb054 100644 --- a/.github/workflows/scaladoc.yaml +++ b/.github/workflows/scaladoc.yaml @@ -36,7 +36,7 @@ jobs: java-version: 11 - name: Compile and test scala3doc-js - run: ./project/scripts/sbt scaladoc-js/test + run: ./project/scripts/sbt scaladoc-js-main/test - name: Compile and test run: | diff --git a/build.sbt b/build.sbt index 81494a996bda..5add443e0a64 100644 --- a/build.sbt +++ b/build.sbt @@ -20,7 +20,10 @@ val `tasty-core-bootstrapped` = Build.`tasty-core-bootstrapped` val `tasty-core-scala2` = Build.`tasty-core-scala2` val scaladoc = Build.scaladoc val `scaladoc-testcases` = Build.`scaladoc-testcases` -val `scaladoc-js` = Build.`scaladoc-js` +val `scaladoc-js-common` = Build.`scaladoc-js-common` +val `scaladoc-js-main` = Build.`scaladoc-js-main` +val `scaladoc-js-markdown` = Build.`scaladoc-js-markdown` +val `scaladoc-js-contributors` = Build.`scaladoc-js-contributors` val `scala3-bench-run` = Build.`scala3-bench-run` val dist = Build.dist val `community-build` = Build.`community-build` diff --git a/docs/_layouts/blog-page.html b/docs/_layouts/blog-page.html index 6baad3d40ed8..c5d0fe8875e7 100644 --- a/docs/_layouts/blog-page.html +++ b/docs/_layouts/blog-page.html @@ -1,7 +1,7 @@ --- -layout: main +layout: static-site-main --- -
+

{{ page.title }}