Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 15 additions & 17 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,12 @@ lazy val root = project
)
)

def lines(lines: String*) = lines.mkString("\n")
def slugify(name: String): String = name.toLowerCase().replace("-", "_")
def listMarkdowns(file: File): Seq[File] = file.listFiles().filter(_.getName.endsWith(".md")).toList
def listFolders(file: File): Seq[File] = file.listFiles().filter(_.isDirectory()).toList
val allConferences = new File("./public/conferences")

def eventListing() = Def.task {
val file = (Compile / sourceManaged).value / "io" / "scala" / "data" / "EventsData.scala"
val events = listMarkdowns(new File("./public/scalafr-meetups"))
val events = allConferences.listFiles(_.name.endsWith(".md"))
val content =
s"""|package io.scala.data
|
Expand All @@ -71,10 +69,9 @@ def eventListing() = Def.task {

def confListing() = Def.task {
val file = (Compile / sourceManaged).value / "io" / "scala" / "data" / "ConfsData.scala"
val conferences = listFolders(new File("./public/conferences")).map { folder =>
val conference = listMarkdowns(folder).find(_.getName == "conference.md").get
val folderSlug = slugify(folder.getName)
folderSlug -> s"""| def ${folderSlug}: String = ${"\"" * 3 + IO.read(conference) + "\"" * 3}"""
val conferences = allConferences.globRecursive(_.name == "conference.md").get().map { file =>
val folderSlug = slugify(file.getParentFile().name)
folderSlug -> s"""| def ${folderSlug}: String = ${"\"" * 3 + IO.read(file) + "\"" * 3}"""
}

val content =
Expand All @@ -93,12 +90,12 @@ def confListing() = Def.task {

def sessionsListing() = Def.task {
val file = (Compile / sourceManaged).value / "io" / "scala" / "data" / "SessionsData.scala"
val sessionsByConf = listFolders(new File("./public/conferences")).map { folder =>
val sessions = listMarkdowns(folder).filter(_.getName != "conference.md")
s"""| def ${slugify(
folder
.getName()
)}: List[String] = List(${sessions.map(file => "\"" * 3 + IO.read(file) + "\"" * 3).mkString(",")})"""
val sessionsByConf = allConferences.listFiles(_.isDirectory()).map { folder =>
val sessions = (folder / "sessions").listFiles()
val slug = slugify(folder.getName)
s"""| def $slug: List[String] = List(${sessions
.map(file => "\"" * 3 + IO.read(file) + "\"" * 3)
.mkString(",")})"""
}

val content =
Expand All @@ -116,9 +113,10 @@ def sessionsListing() = Def.task {

def sponsorListing() = Def.task {
val file = (Compile / sourceManaged).value / "io" / "scala" / "data" / "SponsorsData.scala"
val sponsors = listMarkdowns(new File("./public/sponsors")).map { md =>
s"""| def ${slugify(md.base)}: String = ${"\"" * 3 + IO.read(md) + "\"" * 3}"""
}
val sponsors =
allConferences.globRecursive(_.name == "sponsors.md").get().map { md =>
s"""| def ${slugify(md.getParentFile.name)}: String = ${"\"" * 3 + IO.read(md) + "\"" * 3}"""
}

val content =
s"""|package io.scala.data
Expand Down
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
<meta property="og:url" content="https://scala.io" />
<meta
property="og:image"
content="https://raw.githubusercontent.com/ScalaIO/scala.io/main/public/scalaio-opengraph.webp"
content="https://raw.githubusercontent.com/ScalaIO/scala.io/main/public/logos/scalaio-opengraph.webp"
/>
<meta
property="og:description"
content="Scala.IO is a conference for people having interest in the Scala ecosystem or simply being curious about the language, usages"
/>
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="icon" type="image/x-icon" href="/logos/favicon.ico" />
<link rel="stylesheet" href="/assets/css/lcp.css" />
<link rel="preload" fetchpriority="high" as="image" href="/images/index-hero.webp" type="image/webp">
<title>ScalaIO</title>
Expand Down
Empty file removed public/.git-blame-ignore-revs
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ In this talk, we’ll show first the different technique we can use to apply con

### Raphaël Lemaitre

- photoRelPath: /images/profiles/nantes-2024/rLemaitre.webp
- photoRelPath: /images/profiles/speakers/rLemaitre.webp
- job: Senior Staff Engineer @ Ledger

#### Links
Expand All @@ -47,7 +47,7 @@ My interests span from software development to history and technology, where I e

### Valentin Bergeron

- photoRelPath: /images/profiles/nantes-2024/vBergeron.webp
- photoRelPath: /images/profiles/speakers/vBergeron.webp
- job: Engineering team lead @ Ledger

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: chasing-arrows-functors-monads
- Category: Algebra
- confirmed: true
- Slides: https://scala.io/slides/2024/chasing-arrows.pdf
- Slides: /conferences/nantes-2024/slides/2024/chasing-arrows.pdf
- Replay: https://www.youtube.com/watch?v=KFhhR6tSy_0&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=12&pp=iAQB

## Abstract
Expand All @@ -26,7 +26,7 @@ This ScalaIO talk will be a overview of the EPITA CT4P course, with emphasis on

### Jim Newton

- photoRelPath: /images/profiles/nantes-2024/jim.webp
- photoRelPath: /images/profiles/speakers/jim.webp
- job: Researcher @ EPITA Le Kremlin-Bicêtre

#### Links
Expand All @@ -46,7 +46,7 @@ Jim has been programming off and on in Scala for about 5 years.

### Uli Fahrenberg

- photoRelPath: /images/profiles/nantes-2024/uli.webp
- photoRelPath: /images/profiles/speakers/uli.webp
- job: @ EPITA Rennes

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: contravariance-intuition-building
- Category: Modeling
- confirmed: true
- Slides: https://scala.io/slides/2024/Contravariance.pdf
- Slides: /conferences/nantes-2024/slides/2024/Contravariance.pdf
- Replay: https://www.youtube.com/watch?v=A7t3b0kymFM&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=13&pp=iAQB

## Abstract
Expand All @@ -31,7 +31,7 @@ We’ll begin by working with an Animal type hierarchy and some PetRescue and Pe

### Sophie Collard

- photoRelPath: /images/profiles/nantes-2024/sCollard.webp
- photoRelPath: /images/profiles/speakers/sCollard.webp
- job: Lead Software Engineer @ JPMorgan

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: data-pipelines-simple
- Category: DataEng
- confirmed: true
- Slides: https://scala.io/slides/2024/data-pipeline.pptx
- Slides: /conferences/nantes-2024/slides/2024/data-pipeline.pptx
- Replay: https://www.youtube.com/watch?v=gS6zOfqUHVs&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=8&pp=iAQB

## Abstract
Expand All @@ -17,7 +17,7 @@ Most organizations have data pipelines and those are growing by the minute. But

### Raphael Claude

- photoRelPath: /images/profiles/nantes-2024/rClaude.webp
- photoRelPath: /images/profiles/speakers/rClaude.webp
- job: Staff Dev Lead @ Criteo

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Nous aborderons: le type fonctionnel dépendant, la paire dépendante, le type s

### Didier Plaindoux

- photoRelPath: /images/profiles/nantes-2024/dPlaindoux.webp
- photoRelPath: /images/profiles/speakers/dPlaindoux.webp
- job: Senior Software Engineer @ Fungus (Freelance)

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: hands-on-besom-iac-with-scala
- Category: Cloud
- confirmed: true
- Slides: https://scala.io/slides/2024/besom.pdf
- Slides: /conferences/nantes-2024/slides/2024/besom.pdf
- Replay: https://www.youtube.com/watch?v=J0vXLHN8YpA&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=7&pp=iAQB

## Abstract
Expand All @@ -17,7 +17,7 @@ In my talk I will briefly introduce Besom, a Pulumi SDK for Scala and then swift

### Łukasz Biały

- photoRelPath: /images/profiles/nantes-2024/lBialy.webp
- photoRelPath: /images/profiles/speakers/lBialy.webp
- job: Software Engineer @ VirtusLab

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: intro-to-gadts
- Category: Algebra
- confirmed: true
- Slides: https://scala.io/slides/2024/GADTs-xavier-vw-woestyne.pdf
- Slides: /conferences/nantes-2024/slides/2024/GADTs-xavier-vw-woestyne.pdf
- Replay: https://www.youtube.com/watch?v=r4c7xuVB9xA&ab_channel=ScalaIOFR

## Abstract
Expand All @@ -17,7 +17,7 @@ Les GADTs et Scala, c’est une très longue histoire de “je t’aime, moi non

### Xavier Van de Woestyne

- photoRelPath: /images/profiles/nantes-2024/xVdW.webp
- photoRelPath: /images/profiles/speakers/xVdW.webp
- job: Software Engineer @ The Funkyworkers

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This talk will serve as an introduction to the Smithy IDL, and a demo of what is

### Olivier Mélois

- photoRelPath: /images/profiles/nantes-2024/oMelois.webp
- photoRelPath: /images/profiles/speakers/oMelois.webp
- job: Principal Engineer @ Disney Streaming Services

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Si vous êtes intéressés, nous serons ravis de récolter vos retours et vos co

### Johanna Vauchel

- photoRelPath: /images/profiles/nantes-2024/jVauchel.webp
- photoRelPath: /images/profiles/speakers/jVauchel.webp
- job: Data Engineer @ Lectra

#### Links
Expand All @@ -44,7 +44,7 @@ Diplômée de l'INSA de Rouen spécialité Génie Mathématique, j'ai commencé

### Mehdi Rebiai

- photoRelPath: /images/profiles/nantes-2024/mRebiai.webp
- photoRelPath: /images/profiles/speakers/mRebiai.webp
- job: Data Engineer, Tech Lead @ Lectra
- confirmed: true

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Since the beginning of the 21st century, the functional programming paradigm, wh

### Enzo Crance

- photoRelPath: /images/profiles/nantes-2024/eCrance.webp
- photoRelPath: /images/profiles/speakers/eCrance.webp
- job: PhD Student @ INRIA

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: migrating-gallia-to-scala-3
- Category: ToolsEcosystem
- confirmed: true
- Slides: https://scala.io/slides/2024/gallia-migration.pdf
- Slides: /conferences/nantes-2024/slides/2024/gallia-migration.pdf
- Replay: https://www.youtube.com/watch?v=DzjvFx5YYik&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=14&pp=iAQB

## Abstract
Expand All @@ -21,7 +21,7 @@ I will briefly introduce how certain features [worked before](https://github.com

### Anthony Cros

- photoRelPath: /images/profiles/nantes-2024/aCros.webp
- photoRelPath: /images/profiles/speakers/aCros.webp
- job: Software Architect @ Self-employed

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: my-first-year-in-scala
- Category: Community
- confirmed: true
- Slides: https://scala.io/slides/2024/first-year-scala.pdf
- Slides: /conferences/nantes-2024/slides/2024/first-year-scala.pdf
- Replay: https://www.youtube.com/watch?v=Jyn2l1nhwZE&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=3&pp=iAQB

## Abstract
Expand All @@ -27,7 +27,7 @@ By the end of this talk, I hope that newcomers will feel less alone and more opt

### Monica McGuigan

- photoRelPath: /images/profiles/nantes-2024/mMcGuigan.webp
- photoRelPath: /images/profiles/speakers/mMcGuigan.webp
- job: Software Engineer @ JP Morgan

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: nails-are-tree-need-chainsaw
- Category: Algebra
- confirmed: true
- Slides: https://scala.io/slides/2024/Chainsaw.pdf
- Slides: /conferences/nantes-2024/slides/2024/Chainsaw.pdf
- Replay: https://www.youtube.com/watch?v=0unlHZmNYkw&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=5&pp=iAQB

## Abstract
Expand All @@ -24,7 +24,7 @@ the process and how it helped me solved my problems with less pain.

### Matthieu Baechler

- photoRelPath: /images/profiles/nantes-2024/mBaechler.webp
- photoRelPath: /images/profiles/speakers/mBaechler.webp
- job: Developer @ Freelancer

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ tout ça dans le but d'accéder au trésor : Scala 3.

### Antoine Blondeau

- photoRelPath: /images/profiles/nantes-2024/aBlondeau.webp
- photoRelPath: /images/profiles/speakers/aBlondeau.webp
- job: Developer @ Clever Cloud

#### Links
Expand All @@ -42,7 +42,7 @@ I'm a backend developer specialized in platform orchestration. I have experience

### Jean-Baptiste Kaiser

- photoRelPath: /images/profiles/nantes-2024/jbKaiser.webp
- photoRelPath: /images/profiles/speakers/jbKaiser.webp
- job: Scala Developer @ Clever Cloud
- confirmed: true

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Now, two years later, with the format fleshed out and the lessons learnt, I’d

### Anatolii Kmetiuk

- photoRelPath: /images/profiles/nantes-2024/toli.webp
- photoRelPath: /images/profiles/speakers/toli.webp
- job: Compiler engineer and community manager @ Scala Center, EPFL

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Topics covered:

### Paul Matthews

- photoRelPath: /images/profiles/nantes-2024/pMatthews.webp
- photoRelPath: /images/profiles/speakers/pMatthews.webp
- job: Backend Scala Developer @ ClearScore

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: ukraine-scala-community
- Category: Community
- confirmed: true
- Slides: https://scala.io/slides/2024/scala-community-building-lessons.pptx
- Slides: /conferences/nantes-2024/slides/2024/scala-community-building-lessons.pptx
- Replay: https://www.youtube.com/watch?v=6skPn0evEE8&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=11&pp=iAQB

## Abstract
Expand All @@ -21,7 +21,7 @@ Discover our presence at conferences, active engagement in programs such as Goog

### Olya Mazhara

- photoRelPath: /images/profiles/nantes-2024/oMazhara.webp
- photoRelPath: /images/profiles/speakers/oMazhara.webp
- job: Software Engineer @ Intellias

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- Slug: unleashing-scalafix-potential
- Category: ToolsEcosystem
- confirmed: true
- Slides: https://scala.io/slides/2024/scalafix.pdf
- Slides: /conferences/nantes-2024/slides/2024/scalafix.pdf
- Replay: https://www.youtube.com/watch?v=qexJYvo2EwY&list=PLjkHSzY9VuL96myavOIICS-x6yVyAMPjg&index=15&pp=iAQB

## Abstract
Expand All @@ -21,7 +21,7 @@ In this talk, we will [demystify AST traversal and semantic information lookup](

### Brice Jaglin

- photoRelPath: /images/profiles/nantes-2024/bJaglin.webp
- photoRelPath: /images/profiles/speakers/bJaglin.webp
- job: Staff Engineer @ Swile

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ We will compare both the low-level aspects, as well as take a look at structured

### Adam Warski

- photoRelPath: /images/profiles/nantes-2024/aWarski.webp
- photoRelPath: /images/profiles/speakers/aWarski.webp
- job: Co-founder @ SoftwareMill

#### Links
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Une fois ceci fait, je souhaite montrer comment utiliser un modèle en utilisant

### François Laroche

- photoRelPath: /images/profiles/nantes-2024/fLaroche.webp
- photoRelPath: /images/profiles/speakers/fLaroche.webp
- job: Tech Lead @ NuMind

#### Links
Expand All @@ -37,7 +37,7 @@ Je suis actuellement développeur chez NuMind où nous aidons nos clients à ent

### Samuel Bernard

- photoRelPath: /images/profiles/nantes-2024/sBernard.webp
- photoRelPath: /images/profiles/speakers/sBernard.webp
- job: Co-Founder & CTO @ NuMind

#### Links
Expand Down
Loading
Loading