diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2376f376..cf545091 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,11 +80,11 @@ jobs: - name: Make target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') - run: mkdir -p modules/scalacheck/native/target modules/framework-cats/native/target modules/framework/jvm/target modules/core/native/target modules/framework/native/target modules/core/js/target modules/framework/js/target modules/core/jvm/target modules/core-cats/native/target modules/discipline/native/target modules/core-cats/js/target modules/framework-cats/js/target modules/framework-cats/jvm/target modules/discipline/js/target modules/scalacheck/jvm/target modules/discipline/jvm/target modules/core-cats/jvm/target modules/scalacheck/js/target project/target + run: mkdir -p modules/scalacheck/native/target modules/framework-cats/native/target modules/framework/jvm/target modules/docs/jvm/target modules/core/native/target modules/framework/native/target modules/core/js/target modules/framework/js/target modules/core/jvm/target modules/core-cats/native/target modules/discipline/native/target modules/core-cats/js/target modules/framework-cats/js/target modules/framework-cats/jvm/target modules/discipline/js/target modules/scalacheck/jvm/target modules/discipline/jvm/target modules/core-cats/jvm/target modules/scalacheck/js/target project/target - name: Compress target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') - run: tar cf targets.tar modules/scalacheck/native/target modules/framework-cats/native/target modules/framework/jvm/target modules/core/native/target modules/framework/native/target modules/core/js/target modules/framework/js/target modules/core/jvm/target modules/core-cats/native/target modules/discipline/native/target modules/core-cats/js/target modules/framework-cats/js/target modules/framework-cats/jvm/target modules/discipline/js/target modules/scalacheck/jvm/target modules/discipline/jvm/target modules/core-cats/jvm/target modules/scalacheck/js/target project/target + run: tar cf targets.tar modules/scalacheck/native/target modules/framework-cats/native/target modules/framework/jvm/target modules/docs/jvm/target modules/core/native/target modules/framework/native/target modules/core/js/target modules/framework/js/target modules/core/jvm/target modules/core-cats/native/target modules/discipline/native/target modules/core-cats/js/target modules/framework-cats/js/target modules/framework-cats/jvm/target modules/discipline/js/target modules/scalacheck/jvm/target modules/discipline/jvm/target modules/core-cats/jvm/target modules/scalacheck/js/target project/target - name: Upload target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') @@ -265,5 +265,42 @@ jobs: - name: Submit Dependencies uses: scalacenter/sbt-dependency-submission@v2 with: - modules-ignore: rootjs_2.12 rootjs_2.13 rootjs_3 rootjvm_2.12 rootjvm_2.13 rootjvm_3 rootnative_2.12 rootnative_2.13 rootnative_3 + modules-ignore: rootjs_2.12 rootjs_2.13 rootjs_3 weaver-docs_2.12 weaver-docs_2.13 weaver-docs_3 rootjvm_2.12 rootjvm_2.13 rootjvm_3 rootnative_2.12 rootnative_2.13 rootnative_3 configs-ignore: test scala-tool scala-doc-tool test-internal + + site: + name: Generate Site + strategy: + matrix: + os: [ubuntu-latest] + java: [temurin@11] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (full) + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Java (temurin@11) + id: setup-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 + cache: sbt + + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update + + - name: Generate site + run: sbt docs/tlSite + + - name: Publish site + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + uses: peaceiris/actions-gh-pages@v3.9.3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: site/target/docs/site + keep_files: true diff --git a/build.sbt b/build.sbt index 206c98bf..92d996b1 100644 --- a/build.sbt +++ b/build.sbt @@ -1,3 +1,13 @@ +import laika.helium.config.TextLink +import laika.helium.config.ReleaseInfo +import laika.helium.config.HeliumIcon +import laika.helium.config.IconLink +import laika.helium.config.LinkGroup +import laika.helium.config.VersionMenu +import laika.ast.Path.Root +import laika.ast.Image +import laika.config.LinkValidation +import org.typelevel.sbt.site.TypelevelSiteSettings import sbt.librarymanagement.Configurations.ScalaDocTool // https://typelevel.org/sbt-typelevel/faq.html#what-is-a-base-version-anyway @@ -16,12 +26,15 @@ ThisBuild / tlCiHeaderCheck := false // publish to s01.oss.sonatype.org (set to true to publish to oss.sonatype.org instead) ThisBuild / tlSonatypeUseLegacyHost := false +// enable the sbt-typelevel-site laika documentation +ThisBuild / tlSitePublishBranch := Some("main") + // use JDK 11 ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.temurin("11")) -val scala212 = "2.12.17" -val scala213 = "2.13.10" -ThisBuild / crossScalaVersions := Seq(scala212, scala213, "3.3.1") +val scala212 = "2.12.18" +val scala213 = "2.13.12" +ThisBuild / crossScalaVersions := Seq(scala212, scala213, "3.3.3") ThisBuild / scalaVersion := scala213 // the default Scala val Version = new { @@ -38,6 +51,8 @@ val Version = new { val scalajsStubs = "1.1.0" val testInterface = "1.0" val scalacCompatAnnotation = "0.1.4" + val http4s = "0.23.26" + val http4sBlaze = "0.23.16" } lazy val root = tlCrossRootProject.aggregate(core, @@ -151,3 +166,66 @@ lazy val discipline = crossProject(JVMPlatform, JSPlatform, NativePlatform) "org.typelevel" %%% "cats-laws" % Version.catsLaws % Test ) ) + +lazy val docsOutput = crossProject(JVMPlatform) + .in(file("modules/docs")) + .dependsOn(core, framework, coreCats, cats, scalacheck, discipline) + .settings( + moduleName := "docs", + name := "output for documentation", + watchSources += (ThisBuild / baseDirectory).value / "docs", + libraryDependencies ++= Seq( + "org.http4s" %% "http4s-dsl" % Version.http4s, + "org.http4s" %% "http4s-blaze-server" % Version.http4sBlaze, + "org.http4s" %% "http4s-blaze-client" % Version.http4sBlaze, + "com.lihaoyi" %% "fansi" % "0.2.7", + "org.typelevel" %% "cats-kernel-laws" % Version.catsLaws + ) + ) + +lazy val docs = project + .in(file("site")) + .enablePlugins(TypelevelSitePlugin) + .dependsOn( + core.jvm, + framework.jvm, + coreCats.jvm, + cats.jvm, + scalacheck.jvm, + discipline.jvm, + docsOutput.jvm) + .settings( + moduleName := "weaver-docs", + name := "Weaver documentation", + watchSources += (ThisBuild / baseDirectory).value / "docs", + libraryDependencies ++= Seq( + "org.http4s" %% "http4s-dsl" % Version.http4s, + "org.http4s" %% "http4s-blaze-server" % Version.http4sBlaze, + "org.http4s" %% "http4s-blaze-client" % Version.http4sBlaze, + "org.typelevel" %% "cats-laws" % Version.catsLaws + ), + tlSiteHelium ~= (_.site.internalCSS(Root / "assets") + .site.landingPage( + logo = Some(Image.internal(Root / "assets/logo.png")), + title = Some("Weaver"), + subtitle = Some("A test framework that runs everything in parallel."), + latestReleases = Seq( + ReleaseInfo("Upcoming Stable Release", "1.0.0") + ), + license = Some("Apache2"), + titleLinks = Seq( + VersionMenu.create(unversionedLabel = "Getting Started"), + LinkGroup.create( + IconLink.external("https://github.com/typelevel/weaver-test", + HeliumIcon.github), + IconLink.external("https://discord.gg/XF3CXcMzqD", HeliumIcon.chat) + ) + ), + documentationLinks = Seq( + TextLink.internal(Root / "overview/installation.md", "Installation"), + TextLink.internal(Root / "features/expectations.md", + "Expectations (Assertions)") + ) + )), + laikaConfig ~= (_.withRawContent) + ) diff --git a/docs/assets/custom.css b/docs/assets/custom.css new file mode 100644 index 00000000..93f4bbfd --- /dev/null +++ b/docs/assets/custom.css @@ -0,0 +1,11 @@ +div.terminal { + color: white; + background-color: black; +} + +div.terminal pre { + background-color: black; + color: white; + padding: 20px; + overflow: auto +} diff --git a/docs/assets/logo.png b/docs/assets/logo.png new file mode 100644 index 00000000..39a88567 Binary files /dev/null and b/docs/assets/logo.png differ diff --git a/docs/directory.conf b/docs/directory.conf new file mode 100644 index 00000000..197e9fe0 --- /dev/null +++ b/docs/directory.conf @@ -0,0 +1,6 @@ +laika.navigationOrder = [ + overview, + features, + samples, + faqs +] diff --git a/docs/faqs/directory.conf b/docs/faqs/directory.conf new file mode 100644 index 00000000..e90830b4 --- /dev/null +++ b/docs/faqs/directory.conf @@ -0,0 +1,5 @@ +laika.title = Frequently Asked Questions +laika.navigationOrder = [ + ide_faqs.md, + other_effects.md +] diff --git a/docs/faqs.md b/docs/faqs/ide_faqs.md similarity index 90% rename from docs/faqs.md rename to docs/faqs/ide_faqs.md index 842a731f..17dfb686 100644 --- a/docs/faqs.md +++ b/docs/faqs/ide_faqs.md @@ -1,13 +1,11 @@ ---- -id: faqs -title: Frequently Asked Questions ---- +IDE Support? +========================== -## How do I get weaver working with IntelliJ / vscode / neovim ? +## How do I get weaver working with IntelliJ / vscode / neovim? Weaver provides a JUnit runner that IDEs pick up automatically. On IntelliJ the suite should have the normal button to run the tests, and Metals should provide a code lens. -## How do I ignore individual tests ? +## How do I ignore individual tests? An `.ignore` extension method is provided on strings, and can be used when declaring tests. All tests that are tagged with `.ignore` will be ignored in the test suite, including any that are tagged with `.only`. diff --git a/docs/other_effects.md b/docs/faqs/other_effects.md similarity index 95% rename from docs/other_effects.md rename to docs/faqs/other_effects.md index ca2d42f3..c554838e 100644 --- a/docs/other_effects.md +++ b/docs/faqs/other_effects.md @@ -1,8 +1,5 @@ ---- -id: other_effects - -title: Other effects ---- +What happened to ZIO / Monix / MonixBIO ? +============= Starting with version 0.8.0, Weaver no longer offers out-of-the-box support for other effect types than cats-effect. diff --git a/docs/features/directory.conf b/docs/features/directory.conf new file mode 100644 index 00000000..744f56e8 --- /dev/null +++ b/docs/features/directory.conf @@ -0,0 +1,15 @@ +laika.title = Features +laika.navigationOrder = [ + expectations.md, + tracing_failures.md, + resources.md, + global_resources.md, + logging.md, + tagging.md, + scalacheck.md, + discipline.md, + parallelism.md, + funsuite.md, + filtering.md, + specs2.md +] diff --git a/docs/discipline.md b/docs/features/discipline.md similarity index 94% rename from docs/discipline.md rename to docs/features/discipline.md index 66423cee..cfea9351 100644 --- a/docs/discipline.md +++ b/docs/features/discipline.md @@ -1,7 +1,5 @@ ---- -id: discipline -title: Discipline integration ---- +Discipline integration +====================== Weaver comes with basic [Discipline](https://github.com/typelevel/discipline) integration, allowing property-based law testing. diff --git a/docs/expectations.md b/docs/features/expectations.md similarity index 88% rename from docs/expectations.md rename to docs/features/expectations.md index 1047bd61..b3196e0a 100644 --- a/docs/expectations.md +++ b/docs/features/expectations.md @@ -1,7 +1,5 @@ ---- -id: expectations -title: Expectations (assertions) ---- +Expectations (assertions) +========================= Expectations are pure, composable values. This forces developers to separate the test's checks from the scenario, which is generally cleaner/clearer. @@ -142,7 +140,7 @@ object ExpectationsSuite extends SimpleIOSuite { expect(1 != 2) and expect(2 != 1) or expect(2 != 3) } - pureTest("And/Or composition (failure") { + pureTest("And/Or composition (failure)") { (expect(1 != 2) and expect(2 == 1)) or expect(2 == 3) } @@ -228,31 +226,8 @@ object ExpectationsSuite extends SimpleIOSuite { } ``` -```scala mdoc:passthrough -println(weaver.docs.Output.runSuites(ExpectationsSuite)) -``` - -## Tracing locations of failed expectations - -As of 0.5.0, failed expectations carry a `NonEmptyList[SourceLocation]`, which can be used to manually trace the callsites that lead to a failure. - -By default, the very location where the expectation is created is captured, but the `traced` method can be use to add additional locations to the expectation. - -```scala mdoc -object TracingSuite extends SimpleIOSuite { - - pureTest("Tracing example") { - foo - } - - def foo(implicit loc : SourceLocation) = bar().traced(loc).traced(here) - - def bar() = baz().traced(here) - - def baz() = expect(1 != 1) -} -``` +## Example suite report ```scala mdoc:passthrough -println(weaver.docs.Output.runSuites(TracingSuite)) +println(weaver.docs.Output.runSuites(ExpectationsSuite)) ``` diff --git a/docs/filtering.md b/docs/features/filtering.md similarity index 88% rename from docs/filtering.md rename to docs/features/filtering.md index 143aa33f..7bc3e36e 100644 --- a/docs/filtering.md +++ b/docs/features/filtering.md @@ -1,7 +1,5 @@ ---- -id: filtering -title: Filtering tests ---- +Filtering tests +=============== When using the IOSuite variants, the user can call `sbt`'s test command as such: @@ -13,4 +11,4 @@ This filter will prevent the execution of any test that doesn't contain the stri ``` fooPackage.FooSuite.foo -``` \ No newline at end of file +``` diff --git a/docs/funsuite.md b/docs/features/funsuite.md similarity index 94% rename from docs/funsuite.md rename to docs/features/funsuite.md index 7bb53084..b273870f 100644 --- a/docs/funsuite.md +++ b/docs/features/funsuite.md @@ -1,7 +1,5 @@ ---- -id: funsuite -title: Pure tests ---- +Pure tests +========== If your tests do not require any capability provided by effect-types, you can use a simplified interface `FunSuite`, which comes with a single `test` method and does not allow effectful tests. diff --git a/docs/global_resources.md b/docs/features/global_resources.md similarity index 98% rename from docs/global_resources.md rename to docs/features/global_resources.md index f0bdfdf6..6676c089 100644 --- a/docs/global_resources.md +++ b/docs/features/global_resources.md @@ -1,7 +1,5 @@ ---- -id: global_resources -title: Sharing resources across suites ---- +Sharing resources across suites +=============================== ## A word of warning diff --git a/docs/logging.md b/docs/features/logging.md similarity index 95% rename from docs/logging.md rename to docs/features/logging.md index 1ee6c14e..28039cbc 100644 --- a/docs/logging.md +++ b/docs/features/logging.md @@ -1,7 +1,5 @@ ---- -id: logging -title: Logging information ---- +Logging information +=================== Weaver provides each individual test with a lazy-logger. The log statements only get reported if the test is unsuccessful. Because tests in weaver run in parallel by default, this makes it easier to tie printed information to the test it originated from. diff --git a/docs/parallelism.md b/docs/features/parallelism.md similarity index 95% rename from docs/parallelism.md rename to docs/features/parallelism.md index 51359f44..1a170f9d 100644 --- a/docs/parallelism.md +++ b/docs/features/parallelism.md @@ -1,7 +1,5 @@ ---- -id: parallelism -title: Configuring parallelism ---- +Configuring parallelism +======================= ## Parallelism within suites diff --git a/docs/resources.md b/docs/features/resources.md similarity index 97% rename from docs/resources.md rename to docs/features/resources.md index e7c98f98..2e06e75a 100644 --- a/docs/resources.md +++ b/docs/features/resources.md @@ -1,7 +1,5 @@ ---- -id: resources -title: Sharing resources ---- +Sharing resources +================= Resources can be shared across tests, this is done by implementing a method that returns [cats.effect.Resource](https://typelevel.org/cats-effect/datatypes/resource.html). diff --git a/docs/scalacheck.md b/docs/features/scalacheck.md similarity index 97% rename from docs/scalacheck.md rename to docs/features/scalacheck.md index b3c4a5a1..38a352bd 100644 --- a/docs/scalacheck.md +++ b/docs/features/scalacheck.md @@ -1,7 +1,5 @@ ---- -id: scalacheck -title: ScalaCheck integration ---- +ScalaCheck integration +====================== Weaver comes with basic [ScalaCheck](https://www.scalacheck.org/) integration, allowing for property-based testing. diff --git a/docs/specs2.md b/docs/features/specs2.md similarity index 81% rename from docs/specs2.md rename to docs/features/specs2.md index 420b957d..ba69c509 100644 --- a/docs/specs2.md +++ b/docs/features/specs2.md @@ -1,6 +1,4 @@ ---- -id: specs2 -title: specs2 (discontinued) ---- +specs2 (discontinued) +===================== The specs2-matchers integration has been dropped in weaver 0.8.0. If you want to test CE code with specs2 UX, please consider using [cats-effect-testing](https://github.com/typelevel/cats-effect-testing). diff --git a/docs/tagging.md b/docs/features/tagging.md similarity index 91% rename from docs/tagging.md rename to docs/features/tagging.md index 1a3f7295..d12df735 100644 --- a/docs/tagging.md +++ b/docs/features/tagging.md @@ -1,7 +1,5 @@ ---- -id: tagging -title: Tagging ---- +Tagging +======= Weaver provides some constructs to dynamically tag tests as `ignored` or `cancelled` : @@ -33,6 +31,6 @@ object TaggingSuite extends SimpleIOSuite { } ``` -```scala mdoc:passthrough +```scala mdoc:passthrough println(weaver.docs.Output.runSuites(TaggingSuite)) ``` diff --git a/docs/features/tracing_failures.md b/docs/features/tracing_failures.md new file mode 100644 index 00000000..9223adbc --- /dev/null +++ b/docs/features/tracing_failures.md @@ -0,0 +1,30 @@ +Tracing Failures +================ + +# Tracing locations of failed expectations + +As of 0.5.0, failed expectations carry a `NonEmptyList[SourceLocation]`, which can be used to manually trace the callsites that lead to a failure. + +By default, the very location where the expectation is created is captured, but the `traced` method can be use to add additional locations to the expectation. + + +```scala mdoc +import weaver._ + +object TracingSuite extends SimpleIOSuite { + + pureTest("Tracing example") { + foo + } + + def foo(implicit loc : SourceLocation) = bar().traced(loc).traced(here) + + def bar() = baz().traced(here) + + def baz() = expect(1 != 1) +} +``` + +```scala mdoc:passthrough +println(weaver.docs.Output.runSuites(TracingSuite)) +``` diff --git a/docs/installation.md b/docs/installation.md deleted file mode 100644 index d8899736..00000000 --- a/docs/installation.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: installation -title: Installation ---- - -The artifacts below are available for **Scala JVM, Scala.js, Scala-native**. - -```scala mdoc:passthrough -import weaver.docs._ - -import BuildMatrix._ - -val effectsTable = Table - .create("Effect types", effects) - .render(artifactsCE3Version) - -val integrationsTable = Table - .create("Integrations", integrations) - .render(artifactsCE3Version) - -println(effectsTable) -println(integrationsTable) -``` - -Weaver offers effect-type specific test frameworks. The Build setup depends on -the effect-type library you've elected to use (or test against). - -Refer yourself to the library specific pages to get the correct configuration. - -- [cats](cats_effect_usage.md) diff --git a/docs/overview/directory.conf b/docs/overview/directory.conf new file mode 100644 index 00000000..cb8903a9 --- /dev/null +++ b/docs/overview/directory.conf @@ -0,0 +1,5 @@ +laika.title = Overview +laika.navigationOrder = [ + installation.md, + motivation.md +] diff --git a/docs/cats_effect_usage.md b/docs/overview/installation.md similarity index 96% rename from docs/cats_effect_usage.md rename to docs/overview/installation.md index ddb43e52..de317b83 100644 --- a/docs/cats_effect_usage.md +++ b/docs/overview/installation.md @@ -1,9 +1,5 @@ ---- -id: cats -title: Cats-effect usage ---- - -## Installation +Installation +============ You'll need to install the following dependencies to test your programs against `cats.effect.IO` diff --git a/docs/motivation.md b/docs/overview/motivation.md similarity index 97% rename from docs/motivation.md rename to docs/overview/motivation.md index 745e14ab..e3dd5579 100644 --- a/docs/motivation.md +++ b/docs/overview/motivation.md @@ -1,7 +1,5 @@ ---- -id: motivation -title: Motivation ---- +Motivation +========== ## A test framework for integration tests diff --git a/docs/samples/directory.conf b/docs/samples/directory.conf new file mode 100644 index 00000000..54b50d83 --- /dev/null +++ b/docs/samples/directory.conf @@ -0,0 +1,6 @@ +laika.title = Sample reports +laika.navigationOrder = [ + multiple_suites_success.md, + multiple_suites_failures.md, + multiple_suites_logging.md +] diff --git a/docs/multiple_suites_failures.md b/docs/samples/multiple_suites_failures.md similarity index 93% rename from docs/multiple_suites_failures.md rename to docs/samples/multiple_suites_failures.md index 38776181..f66f234c 100644 --- a/docs/multiple_suites_failures.md +++ b/docs/samples/multiple_suites_failures.md @@ -1,7 +1,5 @@ ---- -id: multiple_suites_failures -title: Failures ---- +Failures +======== Weaver aggregates failures from all tests to output them after all the tests have finished diff --git a/docs/multiple_suites_logging.md b/docs/samples/multiple_suites_logging.md similarity index 96% rename from docs/multiple_suites_logging.md rename to docs/samples/multiple_suites_logging.md index 3137ba00..ff7e25ed 100644 --- a/docs/multiple_suites_logging.md +++ b/docs/samples/multiple_suites_logging.md @@ -1,7 +1,5 @@ ---- -id: multiple_suites_logging -title: Logging ---- +Logging +======= Weaver only outputs the logs for tests that failed - the logs are neatly collected alongside the failure information and reported after all the tests have run. diff --git a/docs/multiple_suites_success.md b/docs/samples/multiple_suites_success.md similarity index 93% rename from docs/multiple_suites_success.md rename to docs/samples/multiple_suites_success.md index 873c9924..d5a9e3a0 100644 --- a/docs/multiple_suites_success.md +++ b/docs/samples/multiple_suites_success.md @@ -1,7 +1,5 @@ ---- -id: multiple_suites_success -title: Successes ---- +Successes +========= Start with importing the following : diff --git a/modules/docs/shared/src/main/scala/main/scala/weaver/MatrixRendering.scala b/modules/docs/shared/src/main/scala/main/scala/weaver/MatrixRendering.scala deleted file mode 100644 index d65e83b3..00000000 --- a/modules/docs/shared/src/main/scala/main/scala/weaver/MatrixRendering.scala +++ /dev/null @@ -1,104 +0,0 @@ -package weaver.docs - -case class Artifact( - name: String, - jvm: Boolean, - js: Boolean, - scalaVersion: String, - version: String -) - -case class Cell( - jvm: Seq[String], - js: Seq[String], - version: String -) - -case class Row( - name: String, - ce: Option[Cell] -) - -case class Table( - name: String, - rows: Vector[Row] -) { - def _row(l: Seq[String], header: Boolean = false): String = { - val base = l.mkString("|", "|", "|") - - if (header) base + "\n" + _row(l.map(_ => "---"), false) - else base + "\n" - } - - def _cell(c: Option[Cell]): String = { - c match { - case Some(c) => - val allVersions = (c.jvm.toSet ++ c.js.toSet).map { - case ver if ver.startsWith("2.") => - ver.split("\\.").take(2).mkString(".") - case other => other - }.toList.sorted - - if (c.jvm.nonEmpty && c.js.nonEmpty) - s"✅ Scala ${allVersions.mkString(", ")}" - else - "❌" - case None => "❌" - } - } - - def render(version: String) = { - val sb = new StringBuilder - sb.append(_row( - Seq( - name, - s"Cats Effect 3

Weaver version: `$version`" - ), - header = true - )) - - rows.map { case Row(name, ce) => - sb.append(_row(Seq(name, _cell(ce)))) - } - sb.result() - } -} - -object Table { - def row_name(artif: String) = artif match { - case "cats" => "Cats-Effect" - case "scalacheck" => "ScalaCheck" - case "discipline" => "Discipline law testing" - case _ => throw new RuntimeException("Not another effect type!") - } - - def artifactsToCell(artifacts: List[Artifact]): Option[Cell] = { - artifacts.map(_.version).distinct.headOption.map { version => - val jvmVersions = artifacts.filter(_.jvm).map(_.scalaVersion) - val jsVersions = artifacts.filter(_.js).map(_.scalaVersion) - - Cell( - jvm = jvmVersions, - js = jsVersions, - version = version - ) - } - } - - def create(name: String, artifacts: List[Artifact]): Table = { - - val grouped = artifacts.groupBy(_.name) - - val rows = grouped.map { - case (name, artifacts) => - val rowName = row_name(name) - - Row(rowName, artifactsToCell(artifacts)) - } - - Table( - name, - rows.toVector.sortBy(_.name) - ) - } -} diff --git a/modules/docs/shared/src/main/scala/main/scala/weaver/Output.scala b/modules/docs/shared/src/main/scala/main/scala/weaver/Output.scala index 81138bd8..b8228b79 100644 --- a/modules/docs/shared/src/main/scala/main/scala/weaver/Output.scala +++ b/modules/docs/shared/src/main/scala/main/scala/weaver/Output.scala @@ -19,8 +19,8 @@ object Output { def runSuites(s: Suite[IO]*): String = { import cats.effect.unsafe.implicits.global - val header = "
"
-    val footer = "
" + val header = "
"
+    val footer = "
" val program = for { buf <- Ref.of[IO, NonEmptyChain[String]](NonEmptyChain(header)) @@ -44,14 +44,20 @@ object Ansi2Html extends Function1[String, String] { (from, to) match { case (Underlined.Off, Underlined.On) => "" case (Underlined.On, Underlined.Off) => "" - case (Bold.Off, Bold.On) => "" - case (Bold.On, Bold.Off) => "" case (col1, col2) if color.isDefinedAt(col2) => val closing = if (color.isDefinedAt(col1)) "" else "" val nextColor = color(col2) - s"$closing" + if (nextColor != "lightgray" ) { + s"$closing" + } else { + s"$closing" + } case (col1, fansi.Color.Reset) if color.isDefinedAt(col1) => - "" + if (color(col1) != "lightgray") { + "" + } else { + "" + } case _ => "" } } diff --git a/project/plugins.sbt b/project/plugins.sbt index 1ec8c98e..95ce5433 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,12 +1,14 @@ // format: off -addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.11.1") +addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.12.0") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.14.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.15.0") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.16") -addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.6.5") +addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.6.7") + +addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.6.7") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2") -addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.8") +addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.5.2") diff --git a/website/README.md b/website/README.md deleted file mode 100644 index 6477a55a..00000000 --- a/website/README.md +++ /dev/null @@ -1,198 +0,0 @@ -This website was created with [Docusaurus](https://docusaurus.io/). - -# What's In This Document - -- [Get Started in 5 Minutes](#get-started-in-5-minutes) -- [Directory Structure](#directory-structure) -- [Editing Content](#editing-content) -- [Adding Content](#adding-content) -- [Full Documentation](#full-documentation) - -# Get Started in 5 Minutes - -1. Make sure all the dependencies for the website are installed: - -```sh -# Install dependencies -$ yarn -``` - -2. Run your dev server: - -```sh -# Start the site -$ yarn start -``` - -## Directory Structure - -Your project file structure should look something like this - -``` -my-docusaurus/ - docs/ - doc-1.md - doc-2.md - doc-3.md - website/ - blog/ - 2016-3-11-oldest-post.md - 2017-10-24-newest-post.md - core/ - node_modules/ - pages/ - static/ - css/ - img/ - package.json - sidebars.json - siteConfig.js -``` - -# Editing Content - -## Editing an existing docs page - -Edit docs by navigating to `docs/` and editing the corresponding document: - -`docs/doc-to-be-edited.md` - -```markdown ---- -id: page-needs-edit -title: This Doc Needs To Be Edited ---- - -Edit me... -``` - -For more information about docs, click [here](https://docusaurus.io/docs/en/navigation) - -## Editing an existing blog post - -Edit blog posts by navigating to `website/blog` and editing the corresponding post: - -`website/blog/post-to-be-edited.md` - -```markdown ---- -id: post-needs-edit -title: This Blog Post Needs To Be Edited ---- - -Edit me... -``` - -For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog) - -# Adding Content - -## Adding a new docs page to an existing sidebar - -1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`: - -```md ---- -id: newly-created-doc -title: This Doc Needs To Be Edited ---- - -My new content here.. -``` - -1. Refer to that doc's ID in an existing sidebar in `website/sidebars.json`: - -```javascript -// Add newly-created-doc to the Getting Started category of docs -{ - "docs": { - "Getting Started": [ - "quick-start", - "newly-created-doc" // new doc here - ], - ... - }, - ... -} -``` - -For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation) - -## Adding a new blog post - -1. Make sure there is a header link to your blog in `website/siteConfig.js`: - -`website/siteConfig.js` - -```javascript -headerLinks: [ - ... - { blog: true, label: 'Blog' }, - ... -] -``` - -2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in `website/blog`: - -`website/blog/2018-05-21-New-Blog-Post.md` - -```markdown ---- -author: Frank Li -authorURL: https://twitter.com/foobarbaz -authorFBID: 503283835 -title: New Blog Post ---- - -Lorem Ipsum... -``` - -For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog) - -## Adding items to your site's top navigation bar - -1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`: - -`website/siteConfig.js` - -```javascript -{ - headerLinks: [ - ... - /* you can add docs */ - { doc: 'my-examples', label: 'Examples' }, - /* you can add custom pages */ - { page: 'help', label: 'Help' }, - /* you can add external links */ - { href: 'https://github.com/facebook/docusaurus', label: 'GitHub' }, - ... - ], - ... -} -``` - -For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation) - -## Adding custom pages - -1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`: -1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element: - -`website/siteConfig.js` - -```javascript -{ - headerLinks: [ - ... - { page: 'my-new-custom-page', label: 'My New Custom Page' }, - ... - ], - ... -} -``` - -For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages). - -# Full Documentation - -Full documentation can be found on the [website](https://docusaurus.io/). diff --git a/website/core/Footer.js b/website/core/Footer.js deleted file mode 100644 index eeb85a83..00000000 --- a/website/core/Footer.js +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -class Footer extends React.Component { - docUrl(doc, language) { - const baseUrl = this.props.config.baseUrl; - const docsUrl = this.props.config.docsUrl; - const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`; - const langPart = `${language ? `${language}/` : ''}`; - return `${baseUrl}${docsPart}${langPart}${doc}`; - } - - pageUrl(doc, language) { - const baseUrl = this.props.config.baseUrl; - return baseUrl + (language ? `${language}/` : '') + doc; - } - - render() { - return ( - - ); - } -} - -module.exports = Footer; diff --git a/website/package.json b/website/package.json deleted file mode 100644 index 1f87392a..00000000 --- a/website/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "scripts": { - "examples": "docusaurus-examples", - "start": "docusaurus-start", - "build": "docusaurus-build", - "publish-gh-pages": "docusaurus-publish", - "write-translations": "docusaurus-write-translations", - "version": "docusaurus-version", - "rename-version": "docusaurus-rename-version" - }, - "devDependencies": { - "docusaurus": "^1.14.4" - } -} diff --git a/website/pages/en/help.js b/website/pages/en/help.js deleted file mode 100644 index 2b790e46..00000000 --- a/website/pages/en/help.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); - -const Container = CompLibrary.Container; -const GridBlock = CompLibrary.GridBlock; - -function Help(props) { - const {config: siteConfig, language = ''} = props; - const {baseUrl, docsUrl} = siteConfig; - const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`; - const langPart = `${language ? `${language}/` : ''}`; - const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`; - - const supportLinks = [ - { - content: `Learn more using the [documentation on this site.](${docUrl( - 'doc1.html', - )})`, - title: 'Browse Docs', - }, - { - content: 'Ask questions about the documentation and project', - title: 'Join the community', - }, - { - content: "Find out what's new with this project", - title: 'Stay up to date', - }, - ]; - - return ( -
- -
-
-

Need help?

-
-

This project is maintained by a dedicated group of people.

- -
-
-
- ); -} - -module.exports = Help; diff --git a/website/pages/en/index.js b/website/pages/en/index.js deleted file mode 100644 index d9d8fc9e..00000000 --- a/website/pages/en/index.js +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); - -const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */ -const Container = CompLibrary.Container; -const GridBlock = CompLibrary.GridBlock; - -class HomeSplash extends React.Component { - render() { - const {siteConfig, language = ''} = this.props; - const {baseUrl, docsUrl} = siteConfig; - const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`; - const langPart = `${language ? `${language}/` : ''}`; - const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`; - - const SplashContainer = props => ( -
-
-
{props.children}
-
-
- ); - - const Logo = props => ( -
- Project Logo -
- ); - - const ProjectTitle = props => ( -

- {props.title} - {props.tagline} -

- ); - - const PromoSection = props => ( -
-
-
{props.children}
-
-
- ); - - const Button = props => ( -
- - {props.children} - -
- ); - - return ( - - -
- -
-
- ); - } -} - -class Index extends React.Component { - render() { - const {config: siteConfig, language = ''} = this.props; - const {baseUrl} = siteConfig; - - const Block = props => ( - - - - ); - - const Features = () => ( - - {[ - { - content: 'Tests are run in parallel by default', - title: 'Fast', - }, - { - content: 'Minimal imports, effect-types as first-class citizens, no pseudo-english DSL', - title: 'Easy', - }, - { - content: 'Failed tests are reported at the very end, even across suites', - title: 'Pragmatic', - }, - { - content: 'Suites are mere streams of data, letting you bring your own patterns', - title: 'Extensible', - }, - ]} - - ); - - const Demo = () => ( - - - - ); - - return ( -
- -
- - -
-
- ); - } -} - -module.exports = Index; diff --git a/website/pages/en/users.js b/website/pages/en/users.js deleted file mode 100644 index 7f2243c5..00000000 --- a/website/pages/en/users.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); - -const Container = CompLibrary.Container; - -class Users extends React.Component { - render() { - const {config: siteConfig} = this.props; - if ((siteConfig.users || []).length === 0) { - return null; - } - - const editUrl = `${siteConfig.repoUrl}/edit/main/website/siteConfig.js`; - const showcase = siteConfig.users.map(user => ( - - {user.caption} - - )); - - return ( -
- -
-
-

Who is Using This?

-

This project is used by many folks

-
-
{showcase}
-

Are you using this project?

- - Add your company - -
-
-
- ); - } -} - -module.exports = Users; diff --git a/website/pages/en/versions.js_ b/website/pages/en/versions.js_ deleted file mode 100644 index e08dd36c..00000000 --- a/website/pages/en/versions.js_ +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary'); - -const Container = CompLibrary.Container; - -const CWD = process.cwd(); - -const versions = require(`${CWD}/versions.json`); - -function Versions(props) { - const {config: siteConfig} = props; - const latestVersion = versions[0]; - const repoUrl = `https://github.com/${siteConfig.organizationName}/${siteConfig.projectName}`; - return ( -
- -
-
-

{siteConfig.title} Versions

-
-

New versions of this project are released every so often.

-

Latest version

- - - - - - - - -
{latestVersion} - {/* You are supposed to change this href where appropriate - Example: href="/docs(/:language)/:id" */} - - Documentation - - - Release Notes -
-

- This is the latest version of the project that was published to maven. Milestones - and release-candidates versions should not be considered stable -

-

Past Versions

-

Here you can find previous versions of the documentation.

- - - {versions.map( - version => - version !== latestVersion && ( - - - - - - ), - )} - -
{version} - {/* You are supposed to change this href where appropriate - Example: href="/docs(/:language)/:version/:id" */} - - Documentation - - - - Release Notes - -
-

- You can find past versions of this project on{' '} - GitHub. -

-
-
-
- ); -} - -module.exports = Versions; diff --git a/website/sidebars.json b/website/sidebars.json deleted file mode 100644 index 6a071e25..00000000 --- a/website/sidebars.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "docs": { - "Overview": [ - "installation", - "motivation" - ], - "Effect types": [ - "cats", - "other_effects" - ], - "Features": [ - "expectations", - "resources", - "global_resources", - "logging", - "tagging", - "scalacheck", - "discipline", - "parallelism", - "funsuite", - "filtering" - ], - "Sample reports": [ - "multiple_suites_success", - "multiple_suites_failures", - "multiple_suites_logging" - ], - "Frequently Asked Questions": [ - "faqs" - ] - } -} diff --git a/website/siteConfig.js b/website/siteConfig.js deleted file mode 100644 index 1c3cc701..00000000 --- a/website/siteConfig.js +++ /dev/null @@ -1,13 +0,0 @@ -// See https://docusaurus.io/docs/site-config for all the possible -// site configuration options. - -const repoUrl = 'https://github.com/disneystreaming/weaver-test'; - -const siteConfigJson = require("./siteConfig.json"); - -const siteConfig = { - ...siteConfigJson, - copyright: `Copyright © ${new Date().getFullYear()} Disney Streaming Services`, -} - -module.exports = siteConfig; diff --git a/website/siteConfig.json b/website/siteConfig.json deleted file mode 100644 index 96d4cbea..00000000 --- a/website/siteConfig.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "title": "Weaver Test", - "tagline": "A lean test-framework built on top of cats-effect and fs2", - "url": "http(s)://disneystreaming.github.io/", - "baseUrl": "/weaver-test/", - "projectName": "weaver-test", - "organizationName": "disneystreaming", - "githubHost": "github.com", - "repoUrl": "https://github.com/disneystreaming/weaver-test", - "separateCss": [ - "api" - ], - "headerLinks": [ - { - "doc": "installation", - "label": "Docs" - }, - { - "href": "https://github.com/disneystreaming/weaver-test", - "label": "GitHub", - "external": true - } - ], - "headerIcon": "img/dss-profile-white-transparent.svg", - "favicon": "img/dss-profile-white-transparent.svg", - "colors": { - "primaryColor": "#336699", - "secondaryColor": "#F1034A" - }, - "highlight": { - "theme": "default" - }, - "scripts": [ - "https: //buttons.github.io/buttons.js" - ], - "onPageNav": "separate", - "cleanUrl": true, - "ogImage": "img/undraw_online.svg", - "twitterImage": "img/undraw_tweetstorm.svg", - "twitter": true, - "twitterUsername": "disneystreaming", - "customDocsPath": "modules/docs/target/jvm-2.13/mdoc" -} diff --git a/website/static/css/custom.css b/website/static/css/custom.css deleted file mode 100644 index b6086403..00000000 --- a/website/static/css/custom.css +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/* your custom css */ - -@media only screen and (min-device-width: 360px) and (max-device-width: 736px) { -} - -@media only screen and (min-width: 1024px) { -} - -@media only screen and (max-width: 1023px) { -} - -@media only screen and (min-width: 1400px) { -} - -@media only screen and (min-width: 1500px) { -} - - -.nav-footer .dssOpenSource { - display: block; - margin: 1em auto; - opacity: 0.4; - transition: opacity 0.15s ease-in-out; - width: 170px; -} - -.nav-footer .dssOpenSource:hover { - opacity: 1; -} - -.demo .blockImage { - flex: 0 1 700px; - max-width: 700px; -} - -div.terminal { - color: white; - background-color: black; -} - -div.terminal pre { - background-color: black; - color: white; - padding: 20px; - overflow: auto -} diff --git a/website/static/img/dss-profile-white-transparent.svg b/website/static/img/dss-profile-white-transparent.svg deleted file mode 100755 index 65d8a5a2..00000000 --- a/website/static/img/dss-profile-white-transparent.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84d423216020f0d2954030d0216fe5637388144ccb4aeb197a42d668c4d7907c -size 21022 diff --git a/website/static/img/dss-white-transparent.svg b/website/static/img/dss-white-transparent.svg deleted file mode 100755 index 0b52bd67..00000000 --- a/website/static/img/dss-white-transparent.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8400ad2702145335a9dd508aa0f7673f13fadd54f94e436f90a77d251e705bcc -size 21108 diff --git a/website/static/img/frontpage.mp4 b/website/static/img/frontpage.mp4 deleted file mode 100644 index 28dbf7f8..00000000 --- a/website/static/img/frontpage.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ef708638c4bd90908cb26fbf2d073f1ff9eabcac8fcdad4749312ccd5277a5e -size 264325 diff --git a/website/static/img/frontpage.webp b/website/static/img/frontpage.webp deleted file mode 100644 index 40afbffc..00000000 --- a/website/static/img/frontpage.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:77a45a541151afb631827bcdbc8b77cec3404e81150db7e84c094835f7dfb132 -size 396890 diff --git a/website/static/img/intellij_install.png b/website/static/img/intellij_install.png deleted file mode 100644 index 27093914..00000000 --- a/website/static/img/intellij_install.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8fc7777d1aac4fedb11dd70143036560a4eb7226fd6619dac3a36c787fe58186 -size 104471 diff --git a/website/static/img/intellij_output.png b/website/static/img/intellij_output.png deleted file mode 100644 index eb498796..00000000 --- a/website/static/img/intellij_output.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04e43baea11a2c9c6d9c3d3c97baf393c45818f5764bb84a3146baffe2e72943 -size 40865 diff --git a/website/static/img/intellij_repo.png b/website/static/img/intellij_repo.png deleted file mode 100644 index d0c44fd6..00000000 --- a/website/static/img/intellij_repo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:056122f66bac8059db6f549ddf174df38d8013f565e38b259c239a1e22d1adb2 -size 310868 diff --git a/website/static/img/intellij_usage.png b/website/static/img/intellij_usage.png deleted file mode 100644 index c247f5f8..00000000 --- a/website/static/img/intellij_usage.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:acdb665fa711d2c9a51fd800921ea5cf1af5247195b85e010d10364a80204d99 -size 98520 diff --git a/website/static/img/logo.png b/website/static/img/logo.png deleted file mode 100644 index a2df60db..00000000 --- a/website/static/img/logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e23de8ee6303adb4f388ecb0748a2c84a4706b92ed1ca7712f5d8a08804db8e -size 42076 diff --git a/website/static/img/logo.svg b/website/static/img/logo.svg deleted file mode 100644 index 3d53a004..00000000 --- a/website/static/img/logo.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ad043e9be39f647a6eadb490ddd4b258ac1d635a165d72530567eef7c8b081e -size 33950 diff --git a/website/static/img/undraw_code_review.svg b/website/static/img/undraw_code_review.svg deleted file mode 100644 index f6c233eb..00000000 --- a/website/static/img/undraw_code_review.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a0d90f5fb1a16b06d9a0c14c82ca5389b675311b94f2b7b9bb850d026b03559 -size 17343 diff --git a/website/static/img/undraw_monitor.svg b/website/static/img/undraw_monitor.svg deleted file mode 100644 index c85b01c3..00000000 --- a/website/static/img/undraw_monitor.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d666fe8845ad1062beb50af0d8d7a59824bde44a59db8173c25e370b56f8518 -size 32999 diff --git a/website/static/img/undraw_note_list.svg b/website/static/img/undraw_note_list.svg deleted file mode 100644 index 0d279b55..00000000 --- a/website/static/img/undraw_note_list.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41cfe2f04baf353ed59fb91ec6322571fdb02a7257ce7b7572c2afa72f737c38 -size 15536 diff --git a/website/static/img/undraw_online.svg b/website/static/img/undraw_online.svg deleted file mode 100644 index a32c422f..00000000 --- a/website/static/img/undraw_online.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:87bb7f4348d2a344c553cdd6832f4b17bb0b73482e00181bccd8e01964755bfb -size 26627 diff --git a/website/static/img/undraw_open_source.svg b/website/static/img/undraw_open_source.svg deleted file mode 100644 index d362af2e..00000000 --- a/website/static/img/undraw_open_source.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:db3ec84093202db8753429a017732374c5f057679e00a8ae25d04ecfa2918beb -size 16533 diff --git a/website/static/img/undraw_operating_system.svg b/website/static/img/undraw_operating_system.svg deleted file mode 100644 index 0d0a595a..00000000 --- a/website/static/img/undraw_operating_system.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:681cbae56cb995fd0d611aea9bda5fba65bdcbbc307832245a50c9349c6192d5 -size 36675 diff --git a/website/static/img/undraw_react.svg b/website/static/img/undraw_react.svg deleted file mode 100644 index 9883a258..00000000 --- a/website/static/img/undraw_react.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19dca9e18c551d7c1734c69c133f111001c1d898046883691f3485fd384e5b02 -size 24273 diff --git a/website/static/img/undraw_tweetstorm.svg b/website/static/img/undraw_tweetstorm.svg deleted file mode 100644 index 607c3ac6..00000000 --- a/website/static/img/undraw_tweetstorm.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:665b393709faa4857a03d9e158c0037aee98924eb77aa629f4ea415aa81347a9 -size 9421 diff --git a/website/static/img/undraw_youtube_tutorial.svg b/website/static/img/undraw_youtube_tutorial.svg deleted file mode 100644 index 502d0793..00000000 --- a/website/static/img/undraw_youtube_tutorial.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f55f6ba62b1c856e3eab9e10309e47e5f1dac5e2e8b436280325987e035bc87 -size 29040