Skip to content

Add Scala Days 2025 promotion button to the front page #1811

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
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
45 changes: 45 additions & 0 deletions _data/scala-days-sponsors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Sponsors Data
# ----------------------------------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------------

sponsorship-types:
- title: Platinum
icon: img/assets/icon-platinum.svg
- title: Gold
icon: img/assets/icon-gold.svg

sponsors:
- title: VirtusLab
type: Platinum
logo: /resources/img/scala-days-sponsors/virtuslab.png
url: https://virtuslab.com

- title: Signify Technology
type: Platinum
logo: /resources/img/scala-days-sponsors/signify.png
url: https://www.signifytechnology.com/

- title: Gradle
type: Gold
logo: /resources/img/scala-days-sponsors/gradle.png
url: https://gradle.com/

- title: JetBrains
type: Gold
logo: /resources/img/scala-days-sponsors/jetbrains.svg
url: https://jetbrains.com

- title: Scalac
type: Gold
logo: /resources/img/scala-days-sponsors/scalac.svg
url: https://scalac.io

- title: Xebia
type: Gold
logo: /resources/img/scala-days-sponsors/xebia.svg
url: https://xebia.com

- title: Writer
type: Gold
logo: /resources/img/scala-days-sponsors/writer.svg
url: https://writer.com
24 changes: 24 additions & 0 deletions _includes/scala-days-countdown.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<section id="countdown-clock-2025" class="scala-days-countdown">
<div class="countdown-content">
<div class="countdown-left">
<a href="https://www.scaladays.org/tickets" class="countdown-register-btn">Learn More & Register Today</a>
<div class="countdown-heading">Bringing Scala Days in...</div>
</div>
<div class="countdown-right">
<div class="countdown-timer">
<div class="countdown-segment">
<span id="2025-day" class="countdown-value"></span>
<span class="countdown-label">DAYS</span>
</div>
<div class="countdown-segment">
<span id="2025-hour" class="countdown-value"></span>
<span class="countdown-label">HOURS</span>
</div>
<div class="countdown-segment">
<span id="2025-minute" class="countdown-value"></span>
<span class="countdown-label">MINUTES</span>
</div>
</div>
</div>
</div>
</section>
31 changes: 31 additions & 0 deletions _includes/scala-days-sponsors.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<div class="scala-days-sponsors-bar">
<!-- Brought to you by -->
<div class="sponsors-brought-to-you-by">
Scala Days 2025 is brought to you by:
</div>

<!-- Static Platinum Sponsors Row -->
<div class="sponsors-static-row">
{% for sponsor in site.data.scala-days-sponsors.sponsors %}
{% if sponsor.type == 'Platinum' %}
<a href="{{ sponsor.url }}" class="sponsor-logo-link-platinum" target="_blank" rel="noopener">
<img src="{{ sponsor.logo }}" alt="{{ sponsor.title }}" class="sponsor-logo-platinum" />
</a>
{% endif %}
{% endfor %}
</div>
<!-- Scrolling Track for Non-Platinum Sponsors -->
<div class="sponsors-carousel">
<div class="sponsors-track" id="sponsors-track">
{% for i in (1..10) %}
{% for sponsor in site.data.scala-days-sponsors.sponsors %}
{% unless sponsor.type == 'Platinum' %}
<a href="{{ sponsor.url }}" class="sponsor-logo-link" target="_blank" rel="noopener">
<img src="{{ sponsor.logo }}" alt="{{ sponsor.title }}" class="sponsor-logo" />
</a>
{% endunless %}
{% endfor %}
{% endfor %}
</div>
</div>
</div>
5 changes: 4 additions & 1 deletion _layouts/frontpage.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
</p>
<span class="hide"><i class="fa fa-close"></i></span>
</div>
{% include scala-days-countdown.html %}
{% include scala-days-sponsors.html %}
<div class="wrap">
<!-- Navigation -->
<nav class="navigation" role="menu">
Expand Down Expand Up @@ -50,7 +52,7 @@ <h2>{{page.headerSubtitle}}</h2>
{% if release.category == 'current_version' %}
{% if version_slice == '3.' %}
{% unless release.title contains "LTS" %}
{% assign scala_next_release = release %}
{% assign scala_next_release = release %}
{% endunless %}
{% if release.title contains "LTS" %}
{% assign scala_lts_release = release %}
Expand Down Expand Up @@ -83,6 +85,7 @@ <h2>{{page.headerSubtitle}}</h2>
</div>
</div>
</div>

<!-- Scala Main Resources -->
<div class="scala-main-resources">
<div class="wrap">
Expand Down
115 changes: 115 additions & 0 deletions _sass/components/countdown.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
// COUNT DOWN FOR SCALA DAYS 2025
//------------------------------------------------
//------------------------------------------------

#countdown-clock-2025 {
width: 100%;
min-height: 120px;
background: #1793b1 url("/resources/img/scala-logo-large.svg") no-repeat center center;
position: relative;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 0 auto;
overflow: hidden;
}

.countdown-content {
display: flex;
width: 100%;
max-width: 1600px;
align-items: center;
justify-content: space-between;
padding: 1.2em 1.5em 1.2em 1.5em;
}

.countdown-left {
display: flex;
flex-direction: column;
align-items: flex-start;
flex: 1 1 0;
z-index: 2;
}

.countdown-register-btn {
display: inline-block;
color: #fff;
border: 2px solid #fff;
background: transparent;
font-size: 1em;
font-weight: 400;
padding: 0.4em 1.5em;
border-radius: 2px;
margin-bottom: 0.7em;
text-decoration: none;
transition: background 0.2s, color 0.2s;
}
.countdown-register-btn:hover {
background: #fff;
color: #c32d1c;
}

.countdown-heading {
color: #fff;
font-size: 1.2em;
font-weight: 700;
letter-spacing: 0.01em;
}

.countdown-right {
display: flex;
align-items: center;
justify-content: flex-end;
flex: 1 1 0;
z-index: 2;
}

.countdown-timer {
display: flex;
gap: 1.5em;
}

.countdown-segment {
display: flex;
flex-direction: column;
align-items: center;
}

.countdown-value {
color: #fff;
font-size: 2.2em;
font-weight: 700;
line-height: 1;
}

.countdown-label {
color: #fff;
font-size: 0.8em;
font-weight: 400;
text-transform: uppercase;
margin-top: 0.1em;
letter-spacing: 0.05em;
}

@media (max-width: 900px) {
.countdown-content {
flex-direction: column;
align-items: center;
padding: 1em 0.5em;
}
.countdown-left, .countdown-right {
align-items: center;
justify-content: center;
width: 100%;
text-align: center;
}
.countdown-timer {
gap: 0.7em;
}
.countdown-heading {
font-size: 1em;
}
.countdown-value {
font-size: 1.3em;
}
}
102 changes: 102 additions & 0 deletions _sass/components/scala-days-sponsors.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
// SCALA DAYS 2025 SPONSORS
//------------------------------------------------
//------------------------------------------------

.scala-days-sponsors-bar {
width: 100%;
overflow: hidden;
background: rgba(30, 40, 50, 0.2);
padding: 1em 0;
position: relative;
}

.sponsors-carousel {
width: 100%;
overflow: hidden;
position: relative;
white-space: nowrap;
}

.sponsors-track {
display: flex;
flex-direction: row;
align-items: center;
white-space: nowrap;
width: max-content;
animation: sponsors-scroll 120s linear infinite;
will-change: transform;
}

.sponsor-logo-link {
display: flex;
align-items: center;
justify-content: center;
width: 140px;
height: 48px;
margin: 0 1em;
flex: 0 0 auto;
}

.sponsor-logo {
max-height: 40px;
max-width: 120px;
width: auto;
height: auto;
filter: brightness(0) invert(1);
opacity: 0.92;
transition: opacity 0.2s;
display: block;
margin: 0 auto;
}
.sponsor-logo-link:hover .sponsor-logo {
opacity: 1;
}

.sponsors-static-row {
display: flex;
flex-direction: row;
align-items: flex-end;
width: max-content;
margin-left: auto;
margin-right: auto;
gap: 3em;
margin-bottom: 1em;
}

.sponsor-logo-link-platinum {
display: flex;
align-items: center;
justify-content: center;
}

.sponsor-logo-platinum {
max-height: 80px !important;
filter: brightness(0) invert(1);
opacity: 0.92;
transition: opacity 0.2s;
}

.sponsors-brought-to-you-by {
font-size: 1.2em;
font-weight: 600;
color: #fff;
margin-bottom: 1em;
text-align: center;
}

@keyframes sponsors-scroll {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}

@media (max-width: 700px) {
.sponsor-logo-link {
width: 80px;
height: 28px;
margin: 0 0.5em;
}
.sponsor-logo {
max-height: 24px;
max-width: 60px;
}
}
1 change: 1 addition & 0 deletions _sass/layout/navigation.scss
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
text-decoration: none;
}
}

}
}
}
Expand Down
2 changes: 2 additions & 0 deletions resources/css/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,5 @@
@import 'components/tab';
@import 'components/tag';
@import 'components/search';
@import 'components/countdown';
@import 'components/scala-days-sponsors';
Binary file added resources/img/scala-days-sponsors/gradle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions resources/img/scala-days-sponsors/jetbrains.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading