From 6d243f54dd159b410d84fd77b9690a0064862289 Mon Sep 17 00:00:00 2001 From: James Collier Date: Sun, 5 Jan 2020 21:51:36 +0000 Subject: [PATCH 1/3] update projects page to be grouped by functionality --- _data/projects.yml | 141 +++++++++++++++++++++++++++++++++++++ bin/update-project-data.sc | 35 +++++++++ css/main.scss | 5 +- projects/index.html | 120 ++++++------------------------- 4 files changed, 200 insertions(+), 101 deletions(-) create mode 100644 _data/projects.yml create mode 100755 bin/update-project-data.sc diff --git a/_data/projects.yml b/_data/projects.yml new file mode 100644 index 00000000..0e954aa1 --- /dev/null +++ b/_data/projects.yml @@ -0,0 +1,141 @@ +- category: "Web Server" + description: HTTP web servers + projects: + - title: "http4s" + github: "https://github.com/http4s/http4s" + - title: "Finch" + github: "https://github.com/finagle/finch" +- category: "HTTP Client" + description: HTTP web clients. + projects: + - title: "fetch" + github: "https://github.com/47deg/fetch" + - title: "Hammock" + github: "https://github.com/pepegar/hammock" + - title: "http4s" + github: "https://github.com/http4s/http4s" +- category: "JSON" + description: Working with JSON. + projects: + - title: "argonaut-shapeless" + github: "https://github.com/alexarchambault/argonaut-shapeless" +- category: "Functional Reactive Programming" + description: Modelling effects, event streams, etc. + projects: + - title: "cats-effect" + github: "https://github.com/typelevel/cats-effect" + - title: "fs2" + github: "https://github.com/functional-streams-for-scala/fs2" + - title: "monix" + github: "https://github.com/monix/monix" +- category: "Database" + description: Integrating with databases. + projects: + - title: "doobie" + github: "https://github.com/tpolecat/doobie" +- category: "Front End" + description: Front end development. + projects: + - title: "OutWatch" + github: "https://github.com/OutWatch/outwatch" +- category: "Configuration" + description: Handle application configuration. + projects: + - title: "Ciris" + github: "https://github.com/vlovgr/ciris" + - title: "Extruder" + github: "https://github.com/janstenpickle/extruder" + - title: "PureConfig" + github: "https://github.com/pureconfig/pureconfig" +- category: "Serialization" + description: Serializing and deserializing data. + projects: + - title: "scodec" + github: "https://github.com/scodec/scodec" +- category: "Science and Data Analysis" + projects: + - title: "Algebird" + github: "https://github.com/twitter/algebird" + - title: "coulomb" + github: "https://github.com/erikerlandson/coulomb" + - title: "Frameless" + github: "https://github.com/typelevel/frameless" + - title: "Libra" + github: "https://github.com/to-ithaca/libra" + - title: "spire" + github: "https://github.com/typelevel/spire" + - title: "squants" + github: "https://github.com/typelevel/squants" +- category: "Testing" + description: Test frameworks and test utilities. + projects: + - title: "cats-scalatest" + github: "https://github.com/IronCoreLabs/cats-scalatest" + - title: "ScalaCheck" + github: "https://github.com/typelevel/scalacheck" + - title: "scalacheck-shapeless" + github: "https://github.com/alexarchambault/scalacheck-shapeless" + - title: "Specs2" + github: "https://github.com/etorreborre/specs2" + - title: "discipline" + github: "https://github.com/typelevel/discipline" +- category: "Linked Data" + projects: + - title: "banana-rdf" + github: "https://github.com/banana-rdf/banana-rdf" +- category: "Generic Programming" + projects: + - title: "shapeless" + github: "https://github.com/milessabin/shapeless" +- category: "Command Line" + description: Command line applications. + projects: + - title: "decline" + github: "https://github.com/bkirwi/decline" +- category: "Extensions" + description: Language extensions. + projects: + - title: "cats" + github: "https://github.com/typelevel/cats" + - title: "cats-tagless" + github: "https://github.com/typelevel/cats-tagless" + - title: "eff" + github: "https://github.com/atnos-org/eff" + - title: "kittens" + github: "https://github.com/typelevel/kittens" + - title: "monocle" + github: "https://github.com/julien-truffaut/Monocle" + - title: "mouse" + github: "https://github.com/typelevel/mouse" + - title: "refined" + github: "https://github.com/fthomas/refined" + - title: "singleton-ops" + github: "https://github.com/fthomas/singleton-ops" +- category: "Misc" + description: Projects which don't fit a specific category. + projects: + - title: "algebra" + github: "https://github.com/typelevel/algebra" + - title: "paiges" + github: "https://github.com/typelevel/paiges" + - title: "scala-steward" + github: "https://github.com/fthomas/scala-steward" + - title: "scala-exercises" + github: "https://github.com/scala-exercises/scala-exercises" + - title: "Scoverage" + github: "https://github.com/scoverage/scalac-scoverage-plugin" +- category: "Macros and Compiler Plugins" + projects: + - title: "export-hook" + github: "https://github.com/milessabin/export-hook" + - title: "imp" + github: "https://github.com/non/imp" + - title: "kind-projector" + github: "https://github.com/typelevel/kind-projector" + - title: "macro-compat" + github: "https://github.com/milessabin/macro-compat" + - title: "simulacrum" + github: "https://github.com/typelevel/simulacrum" + - title: "TwoTails" + github: "https://github.com/wheaties/TwoTails" + diff --git a/bin/update-project-data.sc b/bin/update-project-data.sc new file mode 100755 index 00000000..bf7e4517 --- /dev/null +++ b/bin/update-project-data.sc @@ -0,0 +1,35 @@ +#!/usr/bin/env amm + +import $ivy.`io.circe::circe-yaml:0.12.0` +import $ivy.`io.circe::circe-parser:0.12.3` +import $ivy.`com.lihaoyi::requests:0.4.7` + +import io.circe.yaml +import io.circe.parser +import io.circe._ + +val content = scala.io.Source.fromFile("_data/projects.yml").mkString + +def fetchDescription(org: String, repo: String): String = { + val url = s"https://api.github.com/repos/$org/$repo" + val resp = requests.get(url) + if (resp.is2xx) { + val js = parser.parse(resp.text).toTry.get + val obj = js.asObject.getOrElse(throw new Exception(s"$js is not a JSON object")) + obj("description").get.asString.get + } else throw new Exception(s"Non 2xx response from $url, $resp") +} + +val result = for { + js <- yaml.parser.parse(content) +} yield js +.mapArray(_.map(_.hcursor.downField("projects").withFocus(_.mapArray(_.map(_.mapObject(transformProjectObj)))).top.get)) + +def transformProjectObj(projectObj: JsonObject): JsonObject = { + val githubUrl = projectObj("github").get.asString.get + val orgRepo = githubUrl.split("/").takeRight(2) + val desc = Json.fromString(fetchDescription(orgRepo(0), orgRepo(1))) + projectObj.add("description", desc) +} + +println(result) diff --git a/css/main.scss b/css/main.scss index 5ef955ab..67053d82 100644 --- a/css/main.scss +++ b/css/main.scss @@ -521,13 +521,13 @@ blockquote { // PROJECTS .projects__container[data-columns]:before { - content: '3 .column.size-1of3'; + content: '3 .column.size-1of2'; @include media-query($content) { content: '2 .column.size-1of2'; } @include media-query-min($content) { - content: '3 .column.size-1of3'; + content: '3 .column.size-1of2'; } @include media-query-min-max($small, $content) { content: '2 .column.size-1of2'; @@ -596,7 +596,6 @@ blockquote { .projects__project-body { position: relative; - max-height: 200px; padding: $spacing-unit; overflow: hidden; diff --git a/projects/index.html b/projects/index.html index dab3bff1..3984733e 100644 --- a/projects/index.html +++ b/projects/index.html @@ -4,110 +4,34 @@ class: projects-page --- -
+

Libraries

Let the Scala compiler work for you. We provide type classes, instances, conversions, testing, supplements to the standard library, and much more.

- - {% for project in site.projects %} - - {% if project.core %} -
-
- -

- - {{ project.title }} -

-
- {% if project.permalink %} - More - {% endif %} -
-
- {{ project.category }} -

{{ project.description }}

- {% if project.extensions %} -
-

Extensions and companions for {{ project.title }}

-
- {% for extension in project.extensions %} -
- -
{{ extension.title }}
-
- {{ extension.description }} -
- {% endfor %} -
-
- {% endif %} -
-
- {% endif %} - {% endfor %} -
- -
+
- {% for project in site.projects %} - {% unless project.core %} - - {% endunless %} - {% endfor %} -
-
- -
-
-
-

Incubator Projects

-
-
- Newly joined projects -
- {% for incubator in site.data.incubator %} -
- -
{{ incubator.title }}
-
- {{ incubator.description }} -
- {% endfor %} + {% for section in site.data.projects %} +
+
+

+ {{ section.category }} +

-
-
-
- -
-
-
-

Macros and Compiler Plugins

-
-
- Extending the language -
- {% for macro in site.data.macros %} -
- -
{{ macro.title }}
-
- {{ macro.description }} +
+

{{ section.description }}

+
+
+ {% for project in section.projects %} +
+ +
{{ project.title }}
+
+ {{ project.description }} +
+ {% endfor %}
- {% endfor %} +
+ {% endfor %}
From adad064ba6565f543a93ba599a9495208267052e Mon Sep 17 00:00:00 2001 From: James Collier Date: Sun, 5 Jan 2020 22:36:40 +0000 Subject: [PATCH 2/3] add additional metadata --- _data/projects.yml | 375 +++++++++++++++++++++++++------------ bin/update-project-data.sc | 31 ++- projects/index.html | 2 +- 3 files changed, 281 insertions(+), 127 deletions(-) diff --git a/_data/projects.yml b/_data/projects.yml index 0e954aa1..b263acce 100644 --- a/_data/projects.yml +++ b/_data/projects.yml @@ -1,141 +1,280 @@ -- category: "Web Server" +- category: Web Server description: HTTP web servers projects: - - title: "http4s" - github: "https://github.com/http4s/http4s" - - title: "Finch" - github: "https://github.com/finagle/finch" -- category: "HTTP Client" + - description: A minimal, idiomatic Scala interface for HTTP + github: https://github.com/http4s/http4s + title: http4s + stars: 1727 + homepage: https://http4s.org/ + - title: Finch + homepage: https://finagle.github.io/finch + stars: 1432 + description: Scala combinator library for building Finagle HTTP services + github: https://github.com/finagle/finch +- category: HTTP Client description: HTTP web clients. - projects: - - title: "fetch" - github: "https://github.com/47deg/fetch" - - title: "Hammock" - github: "https://github.com/pepegar/hammock" - - title: "http4s" - github: "https://github.com/http4s/http4s" -- category: "JSON" + projects: + - github: https://github.com/47deg/fetch + stars: 410 + description: Simple & Efficient data access for Scala and Scala.js + title: fetch + homepage: http://47deg.github.io/fetch/ + - stars: 167 + github: https://github.com/pepegar/hammock + title: Hammock + homepage: http://pepegar.com/hammock + description: Purely functional HTTP client + - github: https://github.com/http4s/http4s + description: A minimal, idiomatic Scala interface for HTTP + title: http4s + homepage: https://http4s.org/ + stars: 1727 +- category: JSON description: Working with JSON. projects: - - title: "argonaut-shapeless" - github: "https://github.com/alexarchambault/argonaut-shapeless" -- category: "Functional Reactive Programming" + - description: Automatic argonaut codec derivation with shapeless + stars: 93 + title: argonaut-shapeless + github: https://github.com/alexarchambault/argonaut-shapeless +- category: Functional Reactive Programming description: Modelling effects, event streams, etc. projects: - - title: "cats-effect" - github: "https://github.com/typelevel/cats-effect" - - title: "fs2" - github: "https://github.com/functional-streams-for-scala/fs2" - - title: "monix" - github: "https://github.com/monix/monix" -- category: "Database" + - description: The IO monad for Scala + github: https://github.com/typelevel/cats-effect + homepage: https://typelevel.org/cats-effect/ + stars: 842 + title: cats-effect + - title: fs2 + homepage: https://fs2.io + stars: 1577 + github: https://github.com/functional-streams-for-scala/fs2 + description: Compositional, streaming I/O library for Scala + - description: Asynchronous, Reactive Programming for Scala and Scala.js. + stars: 1627 + title: monix + homepage: https://monix.io + github: https://github.com/monix/monix +- category: Database description: Integrating with databases. projects: - - title: "doobie" - github: "https://github.com/tpolecat/doobie" -- category: "Front End" + - title: doobie + stars: 1587 + description: Functional JDBC layer for Scala. + github: https://github.com/tpolecat/doobie + homepage: '' +- category: Front End description: Front end development. projects: - - title: "OutWatch" - github: "https://github.com/OutWatch/outwatch" -- category: "Configuration" + - stars: 325 + title: OutWatch + github: https://github.com/OutWatch/outwatch + homepage: http://outwatch.github.io + description: A purely functional and reactive UI framework based on Monix and + VirtualDom +- category: Configuration description: Handle application configuration. projects: - - title: "Ciris" - github: "https://github.com/vlovgr/ciris" - - title: "Extruder" - github: "https://github.com/janstenpickle/extruder" - - title: "PureConfig" - github: "https://github.com/pureconfig/pureconfig" -- category: "Serialization" + - description: Functional Configurations for Scala + github: https://github.com/vlovgr/ciris + title: Ciris + homepage: https://cir.is + stars: 269 + - title: Extruder + github: https://github.com/janstenpickle/extruder + description: Populate Case Classes From Any Data Source + homepage: https://janstenpickle.github.io/extruder/ + stars: 75 + - stars: 923 + description: A boilerplate-free library for loading configuration files + title: PureConfig + homepage: https://pureconfig.github.io + github: https://github.com/pureconfig/pureconfig +- category: Serialization description: Serializing and deserializing data. projects: - - title: "scodec" - github: "https://github.com/scodec/scodec" -- category: "Science and Data Analysis" - projects: - - title: "Algebird" - github: "https://github.com/twitter/algebird" - - title: "coulomb" - github: "https://github.com/erikerlandson/coulomb" - - title: "Frameless" - github: "https://github.com/typelevel/frameless" - - title: "Libra" - github: "https://github.com/to-ithaca/libra" - - title: "spire" - github: "https://github.com/typelevel/spire" - - title: "squants" - github: "https://github.com/typelevel/squants" -- category: "Testing" + - description: Scala combinator library for working with binary data + homepage: http://scodec.org + stars: 658 + github: https://github.com/scodec/scodec + title: scodec +- category: Science and Data Analysis + projects: + - homepage: https://twitter.github.io/algebird + github: https://github.com/twitter/algebird + stars: 1922 + title: Algebird + description: Abstract Algebra for Scala + - description: 'coulomb: a statically typed unit analysis library for Scala' + title: coulomb + homepage: https://github.com/erikerlandson/coulomb#coulomb + stars: 75 + github: https://github.com/erikerlandson/coulomb + - github: https://github.com/typelevel/frameless + stars: 603 + title: Frameless + description: Expressive types for Spark. + homepage: '' + - description: A dimensional analysis library based on dependent types + stars: 187 + title: Libra + github: https://github.com/to-ithaca/libra + - homepage: '' + title: spire + stars: 1551 + github: https://github.com/typelevel/spire + description: Powerful new number types and numeric abstractions for Scala. + - stars: 676 + description: The Scala API for Quantities, Units of Measure and Dimensional Analysis + github: https://github.com/typelevel/squants + homepage: https://www.squants.com + title: squants +- category: Testing description: Test frameworks and test utilities. projects: - - title: "cats-scalatest" - github: "https://github.com/IronCoreLabs/cats-scalatest" - - title: "ScalaCheck" - github: "https://github.com/typelevel/scalacheck" - - title: "scalacheck-shapeless" - github: "https://github.com/alexarchambault/scalacheck-shapeless" - - title: "Specs2" - github: "https://github.com/etorreborre/specs2" - - title: "discipline" - github: "https://github.com/typelevel/discipline" -- category: "Linked Data" - projects: - - title: "banana-rdf" - github: "https://github.com/banana-rdf/banana-rdf" -- category: "Generic Programming" - projects: - - title: "shapeless" - github: "https://github.com/milessabin/shapeless" -- category: "Command Line" + - description: Scalatest binding for Cats + stars: 53 + title: cats-scalatest + github: https://github.com/IronCoreLabs/cats-scalatest + - stars: 1598 + title: ScalaCheck + homepage: www.scalacheck.org + github: https://github.com/typelevel/scalacheck + description: Property-based testing for Scala + - homepage: '' + description: Generation of arbitrary case classes / ADTs instances with scalacheck + and shapeless + stars: 195 + title: scalacheck-shapeless + github: https://github.com/alexarchambault/scalacheck-shapeless + - title: Specs2 + github: https://github.com/etorreborre/specs2 + homepage: http://specs2.org + description: Software Specifications for Scala + stars: 674 + - github: https://github.com/typelevel/discipline + description: Flexible law checking for Scala + title: discipline + stars: 244 + homepage: http://typelevel.org +- category: Linked Data + projects: + - description: Banana RDF + stars: 252 + title: banana-rdf + github: https://github.com/banana-rdf/banana-rdf +- category: Generic Programming + projects: + - description: Generic programming for Scala + github: https://github.com/milessabin/shapeless + title: shapeless + stars: 2919 + homepage: '' +- category: Command Line description: Command line applications. projects: - - title: "decline" - github: "https://github.com/bkirwi/decline" -- category: "Extensions" + - homepage: http://monovore.com/decline/ + stars: 325 + description: A composable command-line parser for Scala. + github: https://github.com/bkirwi/decline + title: decline +- category: Extensions description: Language extensions. projects: - - title: "cats" - github: "https://github.com/typelevel/cats" - - title: "cats-tagless" - github: "https://github.com/typelevel/cats-tagless" - - title: "eff" - github: "https://github.com/atnos-org/eff" - - title: "kittens" - github: "https://github.com/typelevel/kittens" - - title: "monocle" - github: "https://github.com/julien-truffaut/Monocle" - - title: "mouse" - github: "https://github.com/typelevel/mouse" - - title: "refined" - github: "https://github.com/fthomas/refined" - - title: "singleton-ops" - github: "https://github.com/fthomas/singleton-ops" -- category: "Misc" + - github: https://github.com/typelevel/cats + description: Lightweight, modular, and extensible library for functional programming. + stars: 3718 + homepage: http://typelevel.org/cats/ + title: cats + - github: https://github.com/typelevel/cats-tagless + stars: 194 + homepage: https://typelevel.org/cats-tagless/ + title: cats-tagless + description: Library of utilities for tagless final encoded algebras + - stars: 434 + homepage: '' + github: https://github.com/atnos-org/eff + title: eff + description: Eff monad for cats - http://atnos-org.github.io/eff + - github: https://github.com/typelevel/kittens + description: Automatic type class derivation for Cats + title: kittens + homepage: '' + stars: 362 + - stars: 1188 + title: monocle + description: Optics library for Scala + github: https://github.com/julien-truffaut/Monocle + homepage: http://julien-truffaut.github.io/Monocle/ + - description: A small companion to cats + stars: 212 + title: mouse + github: https://github.com/typelevel/mouse + - homepage: '' + description: Simple refinement types for Scala + stars: 1043 + title: refined + github: https://github.com/fthomas/refined + - homepage: '' + github: https://github.com/fthomas/singleton-ops + stars: 129 + description: Operations for primitive and String singleton types + title: singleton-ops +- category: Misc description: Projects which don't fit a specific category. projects: - - title: "algebra" - github: "https://github.com/typelevel/algebra" - - title: "paiges" - github: "https://github.com/typelevel/paiges" - - title: "scala-steward" - github: "https://github.com/fthomas/scala-steward" - - title: "scala-exercises" - github: "https://github.com/scala-exercises/scala-exercises" - - title: "Scoverage" - github: "https://github.com/scoverage/scalac-scoverage-plugin" -- category: "Macros and Compiler Plugins" - projects: - - title: "export-hook" - github: "https://github.com/milessabin/export-hook" - - title: "imp" - github: "https://github.com/non/imp" - - title: "kind-projector" - github: "https://github.com/typelevel/kind-projector" - - title: "macro-compat" - github: "https://github.com/milessabin/macro-compat" - - title: "simulacrum" - github: "https://github.com/typelevel/simulacrum" - - title: "TwoTails" - github: "https://github.com/wheaties/TwoTails" - + - description: Experimental project to lay out basic algebra type classes + stars: 360 + homepage: https://typelevel.org/algebra/ + title: algebra + github: https://github.com/typelevel/algebra + - description: an implementation of Wadler's a prettier printer + stars: 141 + title: paiges + github: https://github.com/typelevel/paiges + - homepage: '' + github: https://github.com/fthomas/scala-steward + description: ':robot: A bot that helps you keeping your Scala projects up-to-date' + stars: 608 + title: scala-steward + - description: The easy way to learn Scala. + title: scala-exercises + homepage: https://www.scala-exercises.org + stars: 2037 + github: https://github.com/scala-exercises/scala-exercises + - homepage: http://scoverage.org + stars: 346 + description: Scoverage Scala Code Coverage Core Libs + github: https://github.com/scoverage/scalac-scoverage-plugin + title: Scoverage +- category: Macros and Compiler Plugins + projects: + - github: https://github.com/milessabin/export-hook + stars: 89 + title: export-hook + homepage: '' + description: Minimal infrastructure for type class providers to support the inclusion + of derived, subclass and other orphan instances in their implicit scope. + - description: macro for summoning implicit values + stars: 90 + title: imp + github: https://github.com/non/imp + - homepage: '' + title: kind-projector + github: https://github.com/typelevel/kind-projector + description: Compiler plugin for making type lambdas (type projections) easier + to write + stars: 716 + - description: macro-compat is a small library which allows you to compile macros + with Scala 2.10.x which are written to the Scala 2.11/2 macro API. + stars: 83 + title: macro-compat + github: https://github.com/milessabin/macro-compat + - description: First class syntax support for type classes in Scala + stars: 856 + title: simulacrum + github: https://github.com/typelevel/simulacrum + - homepage: '' + title: TwoTails + github: https://github.com/wheaties/TwoTails + description: A Scala compiler plugin for mutual tail recursion + stars: 83 diff --git a/bin/update-project-data.sc b/bin/update-project-data.sc index bf7e4517..f446a019 100755 --- a/bin/update-project-data.sc +++ b/bin/update-project-data.sc @@ -2,21 +2,33 @@ import $ivy.`io.circe::circe-yaml:0.12.0` import $ivy.`io.circe::circe-parser:0.12.3` +import $ivy.`io.circe::circe-generic:0.12.3` import $ivy.`com.lihaoyi::requests:0.4.7` +import $ivy.`com.lihaoyi::os-lib:0.6.2` import io.circe.yaml +import io.circe.yaml.syntax._ import io.circe.parser import io.circe._ +import io.circe.generic.auto._ -val content = scala.io.Source.fromFile("_data/projects.yml").mkString +val yamlPath = os.pwd / "_data" / "projects.yml" -def fetchDescription(org: String, repo: String): String = { +val content = os.read(yamlPath) +val githubToken = sys.env("GITHUB_TOKEN") + +final case class RepoMeta( + description: String, + stargazers_count: Long, + homepage: Option[String] +) + +def fetchRepoMeta(org: String, repo: String): RepoMeta = { val url = s"https://api.github.com/repos/$org/$repo" - val resp = requests.get(url) + val resp = requests.get(url, headers = Map("Authorization" -> s"token $githubToken")) if (resp.is2xx) { val js = parser.parse(resp.text).toTry.get - val obj = js.asObject.getOrElse(throw new Exception(s"$js is not a JSON object")) - obj("description").get.asString.get + js.as[RepoMeta].toTry.get } else throw new Exception(s"Non 2xx response from $url, $resp") } @@ -28,8 +40,11 @@ val result = for { def transformProjectObj(projectObj: JsonObject): JsonObject = { val githubUrl = projectObj("github").get.asString.get val orgRepo = githubUrl.split("/").takeRight(2) - val desc = Json.fromString(fetchDescription(orgRepo(0), orgRepo(1))) - projectObj.add("description", desc) + val repoMeta = fetchRepoMeta(orgRepo(0), orgRepo(1)) + projectObj.deepMerge(JsonObject.fromMap(Map( + "description" -> Json.fromString(repoMeta.description), + "stars" -> Json.fromLong(repoMeta.stargazers_count) + ) ++ repoMeta.homepage.map(homepage => "homepage" -> Json.fromString(homepage)))) } -println(result) +os.write.over(yamlPath, result.right.get.asYaml.spaces2) diff --git a/projects/index.html b/projects/index.html index 3984733e..30cc2bd1 100644 --- a/projects/index.html +++ b/projects/index.html @@ -23,7 +23,7 @@

{% for project in section.projects %} From 012098dca6b716cac05bd15e0949d102f4f21ff3 Mon Sep 17 00:00:00 2001 From: James Collier Date: Sat, 29 Feb 2020 20:34:11 +0000 Subject: [PATCH 3/3] rework projects page --- Gemfile.lock | 185 +++++++++++++++++++------------------ _projects/algebra.md | 7 -- _projects/catalysts.md | 7 -- _projects/cats.md | 26 ------ _projects/discipline.md | 7 -- _projects/doobie.md | 7 -- _projects/eff.md | 9 -- _projects/frameless.md | 7 -- _projects/fs2.md | 7 -- _projects/monix.md | 8 -- _projects/monocle.md | 7 -- _projects/refined.md | 7 -- _projects/scala.md | 8 -- _projects/scalacheck.md | 8 -- _projects/scodec.md | 7 -- _projects/shapeless.md | 19 ---- _projects/specs2.md | 8 -- _projects/spire.md | 9 -- _projects/structures.md | 7 -- _projects/tut.md | 7 -- bin/update-project-data.sc | 9 +- css/main.scss | 72 --------------- 22 files changed, 99 insertions(+), 339 deletions(-) delete mode 100644 _projects/algebra.md delete mode 100644 _projects/catalysts.md delete mode 100644 _projects/cats.md delete mode 100644 _projects/discipline.md delete mode 100644 _projects/doobie.md delete mode 100644 _projects/eff.md delete mode 100644 _projects/frameless.md delete mode 100644 _projects/fs2.md delete mode 100644 _projects/monix.md delete mode 100644 _projects/monocle.md delete mode 100644 _projects/refined.md delete mode 100644 _projects/scala.md delete mode 100644 _projects/scalacheck.md delete mode 100644 _projects/scodec.md delete mode 100644 _projects/shapeless.md delete mode 100644 _projects/specs2.md delete mode 100644 _projects/spire.md delete mode 100644 _projects/structures.md delete mode 100644 _projects/tut.md diff --git a/Gemfile.lock b/Gemfile.lock index 34f63ac4..ffaa26e8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,14 @@ GEM remote: http://rubygems.org/ specs: - activesupport (4.2.10) - i18n (~> 0.7) + activesupport (6.0.2.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) + zeitwerk (~> 2.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) coffee-script (2.4.1) coffee-script-source execjs @@ -15,8 +16,8 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.4) - dnsruby (1.61.2) + concurrent-ruby (1.1.5) + dnsruby (1.61.3) addressable (~> 2.5) em-websocket (0.5.1) eventmachine (>= 0.12.9) @@ -25,33 +26,32 @@ GEM ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (0.15.4) + faraday (1.0.0) multipart-post (>= 1.2, < 3) - ffi (1.10.0) + ffi (1.11.3) forwardable-extended (2.6.0) - gemoji (3.0.0) - github-pages (197) - activesupport (= 4.2.10) + gemoji (3.0.1) + github-pages (203) github-pages-health-check (= 1.16.1) - jekyll (= 3.7.4) - jekyll-avatar (= 0.6.0) + jekyll (= 3.8.5) + jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.5) + jekyll-commonmark-ghpages (= 0.1.6) jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.11.0) + jekyll-feed (= 0.13.0) jekyll-gist (= 1.5.0) jekyll-github-metadata (= 2.12.1) - jekyll-mentions (= 1.4.1) - jekyll-optional-front-matter (= 0.3.0) + jekyll-mentions (= 1.5.1) + jekyll-optional-front-matter (= 0.3.2) jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.2.0) - jekyll-redirect-from (= 0.14.0) - jekyll-relative-links (= 0.6.0) - jekyll-remote-theme (= 0.3.1) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.15.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.1) jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.5.0) - jekyll-sitemap (= 1.2.0) - jekyll-swiss (= 0.4.0) + jekyll-seo-tag (= 2.6.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) jekyll-theme-architect (= 0.1.1) jekyll-theme-cayman (= 0.1.1) jekyll-theme-dinky (= 0.1.1) @@ -61,19 +61,18 @@ GEM jekyll-theme-midnight (= 0.1.1) jekyll-theme-minimal (= 0.1.1) jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.3) + jekyll-theme-primer (= 0.5.4) jekyll-theme-slate (= 0.1.1) jekyll-theme-tactile (= 0.1.1) jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.1) - jemoji (= 0.10.2) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.11.1) kramdown (= 1.17.0) - liquid (= 4.0.0) - listen (= 3.1.5) + liquid (= 4.0.3) mercenary (~> 0.3) - minima (= 2.5.0) + minima (= 2.5.1) nokogiri (>= 1.10.4, < 2.0) - rouge (= 2.2.1) + rouge (= 3.13.0) terminal-table (~> 1.4) github-pages-health-check (1.16.1) addressable (~> 2.3) @@ -81,13 +80,13 @@ GEM octokit (~> 4.0) public_suffix (~> 3.0) typhoeus (~> 1.3) - html-pipeline (2.10.0) + html-pipeline (2.12.3) activesupport (>= 2) - nokogiri (>= 1.10.4) + nokogiri (>= 1.4) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.7.4) + jekyll (3.8.5) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -100,49 +99,50 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) jekyll-coffeescript (1.1.1) coffee-script (~> 2.2) coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.2.0) + jekyll-commonmark (1.3.1) commonmarker (~> 0.14) - jekyll (>= 3.0, < 4.0) - jekyll-commonmark-ghpages (0.1.5) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1) - rouge (~> 2) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) - jekyll-feed (0.11.0) - jekyll (~> 3.3) + jekyll-feed (0.13.0) + jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) jekyll-github-metadata (2.12.1) jekyll (~> 3.4) octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.4.1) + jekyll-mentions (1.5.1) html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.3.0) - jekyll (~> 3.0) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) jekyll-paginate (1.1.0) - jekyll-readme-index (0.2.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.14.0) - jekyll (~> 3.3) - jekyll-relative-links (0.6.0) - jekyll (~> 3.3) - jekyll-remote-theme (0.3.1) - jekyll (~> 3.5) - rubyzip (>= 1.2.1, < 3.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.15.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.1) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + rubyzip (>= 1.3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) jekyll-theme-architect (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) @@ -170,8 +170,8 @@ GEM jekyll-theme-modernist (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.3) - jekyll (~> 3.5) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) jekyll-github-metadata (~> 2.9) jekyll-seo-tag (~> 2.0) jekyll-theme-slate (0.1.1) @@ -183,63 +183,66 @@ GEM jekyll-theme-time-machine (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.1) - jekyll (~> 3.3) - jekyll-watch (2.1.2) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.2) + jemoji (0.11.1) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) + jekyll (>= 3.0, < 5.0) kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) mini_portile2 (2.4.0) - minima (2.5.0) - jekyll (~> 3.5) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.11.3) - multipart-post (2.0.0) - nokogiri (>= 1.10.4) + minitest (5.13.0) + multipart-post (2.1.1) + nokogiri (1.10.7) mini_portile2 (~> 2.4.0) - octokit (4.13.0) + octokit (4.15.0) + faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.3) + public_suffix (3.1.1) rb-fsevent (0.10.3) - rb-inotify (0.10.0) + rb-inotify (0.10.1) ffi (~> 1.0) - rouge (2.2.1) + rouge (3.13.0) ruby-enum (0.7.2) i18n - ruby_dep (1.5.0) - rubyzip (1.2.2) + rubyzip (2.0.0) safe_yaml (1.0.5) - sass (3.7.3) + sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) typhoeus (1.3.1) ethon (>= 0.9.0) - tzinfo (1.2.5) + tzinfo (1.2.6) thread_safe (~> 0.1) - unicode-display_width (1.4.1) + unicode-display_width (1.6.0) + zeitwerk (2.2.2) PLATFORMS ruby DEPENDENCIES github-pages + +BUNDLED WITH + 2.1.2 diff --git a/_projects/algebra.md b/_projects/algebra.md deleted file mode 100644 index d2489086..00000000 --- a/_projects/algebra.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "algebra" -category: "Basic type classes" -description: "A solid foundation of basic algebra type classes such as groups and rings aiming to serve as a consistent foundation for multiple libraries." -github: "https://github.com/non/algebra" ---- diff --git a/_projects/catalysts.md b/_projects/catalysts.md deleted file mode 100644 index 714fa2c3..00000000 --- a/_projects/catalysts.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "catalysts" -category: "Project building blocks" -description: "A small library of building blocks to help build platform independent Scala projects with SBT." -github: "https://github.com/typelevel/catalysts" ---- diff --git a/_projects/cats.md b/_projects/cats.md deleted file mode 100644 index ec63e9d3..00000000 --- a/_projects/cats.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: post -title: "Cats" -category: "Functional Programming" -description: "A library intended to provide abstractions for functional programming in Scala, leveraging its unique features. Design goals are approachability, modularity, documentation and efficiency." -permalink: "https://typelevel.org/cats/" -github: "https://github.com/typelevel/cats" - -core: true -extensions: - - title: Cats-Effect - description: "The IO Monad for Scala, plus type classes for general effect types." - link: "https://typelevel.org/cats-effect/" - - title: "Cats MTL" - description: "Monad transformers made easy" - link: "https://typelevel.org/cats-mtl/" - - title: "Cats Tagless" - description: "A library of utilities for tagless final algebras" - link: "https://typelevel.org/cats-tagless/" - - title: "Alleycats" - description: "Lawless classes & illegal instances" - link: "https://github.com/typelevel/cats" - - title: "Kittens" - description: "Automatic type class derivation" - link: "https://github.com/milessabin/kittens" ---- diff --git a/_projects/discipline.md b/_projects/discipline.md deleted file mode 100644 index 48f91d3f..00000000 --- a/_projects/discipline.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "discipline" -category: "Flexible law checking" -description: "Originally intended for internal use in spire, this library helps libraries declaring type classes to precisely state the laws which instances need to satisfy, and takes care of not checking derived laws multiple times." -github: "https://github.com/typelevel/discipline" ---- diff --git a/_projects/doobie.md b/_projects/doobie.md deleted file mode 100644 index 044b69fc..00000000 --- a/_projects/doobie.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "doobie" -category: "Principled database access" -description: "A pure functional JDBC layer for Scala. It is not an ORM, nor is it a relational algebra; it just provides a principled way to construct programs (and higher-level libraries) that use JDBC." -github: "https://github.com/tpolecat/doobie" ---- diff --git a/_projects/eff.md b/_projects/eff.md deleted file mode 100644 index 7b9bf176..00000000 --- a/_projects/eff.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: post -title: "eff" -category: "effects" -description: "Extensible effects are an alternative to monad transformers for computing with effects in a functional way. This library is based on the “free-er” monad and an “open union” of effects described by Oleg Kiselyov in “Freer monads, more extensible effects”" - -permalink: "http://atnos-org.github.io/eff" -github: "https://github.com/atnos-org/eff" ---- diff --git a/_projects/frameless.md b/_projects/frameless.md deleted file mode 100644 index 22bfbf82..00000000 --- a/_projects/frameless.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "Frameless" -category: "Typeful Spark" -description: "Frameless is a library for working with Spark using more expressive types." -github: "https://github.com/typelevel/frameless" ---- diff --git a/_projects/fs2.md b/_projects/fs2.md deleted file mode 100644 index 059f71a1..00000000 --- a/_projects/fs2.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "fs2" -category: "Stream Processing" -description: "FS2 is a library for purely functional, effectful, and polymorphic stream processing library in the Scala programming language. Its design goals are compositionality, expressiveness, resource safety, and speed. The name is a modified acronym for Functional Streams for Scala (FSS, or FS2)." -github: "https://github.com/functional-streams-for-scala/fs2" ---- diff --git a/_projects/monix.md b/_projects/monix.md deleted file mode 100644 index 4e36dc1e..00000000 --- a/_projects/monix.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -title: "Monix" -category: "Asynchronous, Reactive Programming" -description: "High-performance library for composing asynchronous, event-based programs, exposing a Reactive Streams implementation along with primitives for dealing with concurrency and side-effects." -github: "https://github.com/monix/monix" -permalink: "https://monix.io" ---- diff --git a/_projects/monocle.md b/_projects/monocle.md deleted file mode 100644 index 3c7972dd..00000000 --- a/_projects/monocle.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "Monocle" -category: "Lenses for Scala" -description: "Strongly inspired by Haskell's lens library, Monocle is an Optics library where Optics gather the concepts of Lens, Traversal, Optional, Prism and Iso." -github: "https://github.com/julien-truffaut/Monocle" ---- diff --git a/_projects/refined.md b/_projects/refined.md deleted file mode 100644 index ccb53df3..00000000 --- a/_projects/refined.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "refined" -category: "Constraints on types" -description: "Tools for refining types with type-level predicates which constrain the set of values described by the refined type, for example restricting to positive or negative numbers." -github: "https://github.com/fthomas/refined" ---- diff --git a/_projects/scala.md b/_projects/scala.md deleted file mode 100644 index c14621d2..00000000 --- a/_projects/scala.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -title: "Scala" -category: "Our fork of the Scala compiler" -description: "We wish to work with all stakeholders in the Scala ecosystem to safeguard the interests of the entire Scala community." -github: "https://github.com/typelevel/scala" -permalink: "https://typelevel.org/scala/" ---- diff --git a/_projects/scalacheck.md b/_projects/scalacheck.md deleted file mode 100644 index 98aec5f2..00000000 --- a/_projects/scalacheck.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -title: "ScalaCheck" -category: "Property checking" -description: "ScalaCheck is a library for automated property-based testing. It contains generators for randomized test data and combinators for properties." -github: "https://github.com/rickynils/scalacheck" -permalink: "http://scalacheck.org/" ---- diff --git a/_projects/scodec.md b/_projects/scodec.md deleted file mode 100644 index 941b1adc..00000000 --- a/_projects/scodec.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "scodec" -category: "Binary serialization" -description: "scodec is a combinator library for working with binary data. It focuses on contract-first and pure functional encoding and decoding of binary data and provides integration with shapeless." -github: "https://github.com/scodec/scodec" ---- diff --git a/_projects/shapeless.md b/_projects/shapeless.md deleted file mode 100644 index 07843297..00000000 --- a/_projects/shapeless.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: post -title: "Shapeless" -category: "Generic Programming" -description: "Shapeless is a generic programming library. Starting with implementations of Scrap your boilerplate and higher rank polymorphism in Scala, it quickly grew to provide advanced abstract tools like heterogenous lists and automatic instance derivation for type classes." -github: "https://github.com/milessabin/shapeless" - -core: true -extensions: - - title: "argonaut-shapeless" - description: "Automatic derivation for argonaut" - link: "https://github.com/alexarchambault/argonaut-shapeless" - - title: "scalacheck-shapeless" - description: "Automatic derivation for ScalaCheck" - link: "https://github.com/alexarchambault/scalacheck-shapeless" - - title: "shapeless-contrib" - description: "Various bindings for third-party libraries" - link: "https://github.com/typelevel/shapeless-contrib" ---- diff --git a/_projects/specs2.md b/_projects/specs2.md deleted file mode 100644 index 54d1f3db..00000000 --- a/_projects/specs2.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -title: "specs2" -category: "Expressive specifications" -description: "specs2 is a library for writing executable software specifications, aiming for conciseness, readability and extensibility." -github: "https://github.com/etorreborre/specs2" -permalink: "http://specs2.org/" ---- diff --git a/_projects/spire.md b/_projects/spire.md deleted file mode 100644 index 0726be82..00000000 --- a/_projects/spire.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: post -title: "spire" -category: "Numeric abstractions" -description: "Spire is a numeric library for Scala which is intended to be generic, fast, and precise. Using features such as specialization, macros, type classes, and implicits, Spire works hard to defy conventional wisdom around performance and precision trade-offs." -github: "https://github.com/non/spire" - -core: true ---- diff --git a/_projects/structures.md b/_projects/structures.md deleted file mode 100644 index cbd7d13b..00000000 --- a/_projects/structures.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "structures" -category: "Functional type classes" -description: "Zero-dependency Scala library that defines commonly used type classes for functional programming." -github: "https://github.com/mpilquist/structures" ---- diff --git a/_projects/tut.md b/_projects/tut.md deleted file mode 100644 index 06431a24..00000000 --- a/_projects/tut.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: "tut" -category: "Checked documentation" -description: "A very simple documentation tool for Scala that reads Markdown files and interprets Scala code in tut sheds, allowing you to write documentation that is typechecked and run as part of your build." -github: "https://github.com/tpolecat/tut" ---- diff --git a/bin/update-project-data.sc b/bin/update-project-data.sc index f446a019..a8b5d748 100755 --- a/bin/update-project-data.sc +++ b/bin/update-project-data.sc @@ -20,7 +20,7 @@ val githubToken = sys.env("GITHUB_TOKEN") final case class RepoMeta( description: String, stargazers_count: Long, - homepage: Option[String] + homepage: String ) def fetchRepoMeta(org: String, repo: String): RepoMeta = { @@ -42,9 +42,10 @@ def transformProjectObj(projectObj: JsonObject): JsonObject = { val orgRepo = githubUrl.split("/").takeRight(2) val repoMeta = fetchRepoMeta(orgRepo(0), orgRepo(1)) projectObj.deepMerge(JsonObject.fromMap(Map( - "description" -> Json.fromString(repoMeta.description), - "stars" -> Json.fromLong(repoMeta.stargazers_count) - ) ++ repoMeta.homepage.map(homepage => "homepage" -> Json.fromString(homepage)))) + "description" -> Json.fromString(repoMeta.description), + "stars" -> Json.fromLong(repoMeta.stargazers_count) + ) ++ (if (repoMeta.homepage.isEmpty) None else Some("homepage" -> Json.fromString(homepage))) + )) } os.write.over(yamlPath, result.right.get.asYaml.spaces2) diff --git a/css/main.scss b/css/main.scss index 67053d82..a61cacbd 100644 --- a/css/main.scss +++ b/css/main.scss @@ -823,78 +823,6 @@ blockquote { /* PROJECTS PAGE ========================================================================== */ -.projects-page { - .section { - margin-top: $spacing-unit; - - &:first-of-type { - margin-top: $spacing-unit * 4; - } - - &.macros { - margin-top: 0; - } - } -} - -.projects-core { - .projects__project { - width: 100%; height: auto; - } - - .projects__project-body { - max-height: 100%; - } -} - -@include media-query($content) { - .about-us { - padding: 0 $spacing-unit * 2; - } -} - -@include media-query($small) { - .about-us { - padding: 0; - } -} - -.list { - margin-top: $spacing-unit; - - .list__item { - width: 100%; - padding: $spacing-unit 0; - border-top: 1px solid $border; - @include clearfix; - - &:first-child { - padding-top: 0; - border-top: 0; - } - - &:last-child { - padding-bottom: 0; - } - - .list__item-slug { - float: right; - color: rgba($black, .6); - - @include media-query($small) { - display: none; - } - } - - h6 { - display: inline-block; - margin: 0; - font-size: 1em; - font-weight: normal; - color: $black; - } - } -}