Skip to content
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
185 changes: 156 additions & 29 deletions assets/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ $scirpypurple: #da347f;
$scviyellow: #fbb822;
$scversedeepblue: #262fb5; // the darker end of the Join button gradient

$overline: #e0e0e0;
$github-black: #171b21;
$discourse-yellow: #f7f0b1;
$youtube-red: #e03021;
$zulip-blue: #62a3f0;
$bluesky-blue: #0a7aff;

$overline: #e0e0e0;
$linkedin-blue: #0a66c2;
$linkunderline: #aaaaaa;
$backtickbg: #f9f9f9;

Expand Down Expand Up @@ -127,37 +127,164 @@ $eco-hues:
}
}

#join-content .card {
h5 {
#join-content {
.join-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1rem;

@media (max-width: 50rem) {
grid-template-columns: 1fr;
}
}

.join-card {
display: flex;
flex-direction: column;
padding: 1.5rem;
background-color: $tilebg4;
border: 1px solid $overline;
border-radius: $card-radius;
transition: all 200ms ease-in-out;

&:hover {
border-color: $tilebg2;
box-shadow: 0 0.6rem 1.5rem rgba(0, 0, 0, 0.06);
transform: translateY(-2px);
}
}

.join-card-icon {
display: grid;
place-items: center;
width: 2.75rem;
height: 2.75rem;
margin-bottom: 1rem;
font-size: 1.25rem;
border-radius: 50%;
background-color: $tilebg;
color: $tiletext;
}

@each $hue in $eco-hues {
.join-card[data-hue="#{index($eco-hues, $hue) - 1}"] .join-card-icon {
background-color: rgba($hue, 0.18);
color: darken($hue, 12%);
}
}

.join-card h2.join-card-title {
font-size: 1.1rem;
font-weight: 700;
color: $tiletext;
margin: 0 0 0.35rem;
}
transition: all 200ms ease-in-out;
color: $navtext;
&:hover {
background: #78cbd9 !important;
transform: scale(1.02);

.join-card-text {
font-size: 0.95rem;
line-height: 1.55;
color: $tiletext2;
margin: 0;
}
}

#join-content .card#github:hover {
background-color: $github-black !important;
color: white !important;
}
#join-content .card#discourse:hover {
background-color: $discourse-yellow !important;
color: black !important;
}
#join-content .card#zulip:hover {
background-color: $zulip-blue !important;
color: white !important;
}
#join-content .card#bluesky:hover {
background-color: $bluesky-blue !important;
color: white !important;
}
#join-content .card#youtube:hover {
background-color: $youtube-red !important;
color: white !important;
.join-card-links {
display: flex;
flex-wrap: wrap;
gap: 0.4rem 1.25rem;
list-style: none;
margin: auto 0 0;
padding: 1.25rem 0 0;

a {
font-size: 0.95rem;
font-weight: 500;
color: $tiletext;
text-decoration-color: $tilebg2;
text-underline-offset: 0.2em;

&:hover {
text-decoration-color: currentColor;
}
}
}

&.post-content h2.join-section-title {
font-size: 1.1rem;
font-weight: 700;
color: $tiletext;
margin: 3rem 0 1rem;
}

.join-email-card {
&:hover {
background: $tilebg4 !important;
transform: none;
}

h3.card-title a {
font-family: "JetBrains Mono", Menlo, monospace;
font-size: 0.95rem;
font-weight: 600;
color: $tiletext;
text-decoration-color: $tilebg2;
text-underline-offset: 0.2em;

&:hover {
text-decoration-color: currentColor;
}
}

.card-text {
font-size: 0.95rem;
color: $tiletext2;
margin: 0;
}
}

.card {
transition: all 200ms ease-in-out;
color: $navtext;

h3.card-title {
margin: 0 0 0.35rem;
font-size: 1.1rem;
font-weight: 700;
}

&:hover {
background: #78cbd9 !important;
transform: scale(1.02);
}

&#github:hover {
background-color: $github-black !important;
color: white !important;
}
&#discourse:hover {
background-color: $discourse-yellow !important;
color: black !important;
}
&#zulip:hover {
background-color: $zulip-blue !important;
color: white !important;
}
&#bluesky:hover {
background-color: $bluesky-blue !important;
color: white !important;
}
&#linkedin:hover {
background-color: $linkedin-blue !important;
color: white !important;
}
&#youtube:hover {
background-color: $youtube-red !important;
color: white !important;
}
}

ul:not([class]) {
line-height: 1.9;
}
}

h1 {
Expand Down
120 changes: 102 additions & 18 deletions content/join/_index.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,136 @@
+++
title = "Join scverse"
description = "How to reach the scverse community on GitHub, Zulip, Discourse and social media, and who to e-mail about what."
description = "How to get help with scverse, contribute code, add a package to the ecosystem, and meet the people who maintain it."

[[resources]]
[[paths]]
id = "ask"
icon = "bi-chat-dots"
title = "Ask a question"
text = "Usage questions go to the Discourse forum. Development discussion and day-to-day chat happen on Zulip."

[[paths.links]]
label = "Discourse forum"
url = "https://discourse.scverse.org/"

[[paths.links]]
label = "Zulip chat"
url = "https://scverse.zulipchat.com/"

[[paths]]
id = "contribute"
icon = "bi-code-slash"
title = "Contribute code"
text = "Every core package takes pull requests. Start from an issue tagged good first issue. Two core team members backing your work makes you a contributor."

[[paths.links]]
label = "Good first issues"
url = "https://github.com/search?q=org%3Ascverse+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22&type=issues"

[[paths.links]]
label = "Contributing guide"
url = "https://scanpy.scverse.org/en/stable/dev/index.html"

[[paths.links]]
label = "How roles work"
url = "/about/roles#contributors"

[[paths.links]]
label = "Code of conduct"
url = "/about/code_of_conduct"

[[paths]]
id = "package"
icon = "bi-box-seam"
title = "Add your package"
text = "Packages built on AnnData, MuData or SpatialData can be listed in the ecosystem. The registry repository has the criteria and the submission form. The project template covers the testing, docs and packaging setup."

[[paths.links]]
label = "Inclusion criteria and submission"
url = "https://github.com/scverse/ecosystem-packages"

[[paths.links]]
label = "Project template"
url = "https://github.com/scverse/cookiecutter-scverse"

[[paths.links]]
label = "Browse the ecosystem"
url = "/packages/#ecosystem"

[[paths]]
id = "meet"
icon = "bi-people"
title = "Meet the community"
text = "The open community meeting runs every two weeks on Tuesday at 6pm CET, with an open agenda anyone can add to. Hackathons and the annual conference run through the year."

[[paths.links]]
label = "Community meeting document"
url = "https://hackmd.io/VfVLKb3ETGKN2j_7tn8ZJQ?view"

[[paths.links]]
label = "Community calendar"
url = "/community-calendar"

[[paths.links]]
label = "Events and hackathons"
url = "/events"

[follow]
title = "Follow along"

[[follow.items]]
id = "github"
icon = "bi-github"
title = "GitHub"
text = "Follow our organisation on GitHub"
link = "https://github.com/scverse"

[[resources]]
[[follow.items]]
id = "zulip"
icon = "i-zulip"
title = "Zulip"
text = "Chat with us on Zulip"
link = "https://scverse.zulipchat.com/"

[[resources]]
[[follow.items]]
id = "discourse"
icon = "i-discourse"
title = "Discourse"
text = "Ask questions on Discourse"
link = "https://discourse.scverse.org/"

[[follow.items]]
id = "bluesky"
icon = "i-bluesky"
title = "Bluesky"
text = "Follow us on Bluesky"
link = "https://bsky.app/profile/scverse.bsky.social"

[[resources]]
[[follow.items]]
id = "linkedin"
icon = "bi-linkedin"
title = "LinkedIn"
text = "Follow us on LinkedIn"
link = "https://www.linkedin.com/company/scverse"

[[resources]]
id = "discourse"
icon = "i-discourse"
title = "Discourse"
text = "Ask questions on Discourse"
link = "https://discourse.scverse.org/"

[[resources]]
[[follow.items]]
id = "youtube"
icon = "bi-youtube"
title = "YouTube"
text = "Subscribe to our YouTube channel"
link = "https://www.youtube.com/channel/UCpsvsIAW3R5OdftJKKuLNMA"
+++

You can also reach us by e-mail for certain matters:
[email]
title = "Email"

[[email.items]]
address = "core@scverse.org"
text = "the [core team](/about/roles#core-team)"

- [core@scverse.org](mailto:core@scverse.org): [core team](/about/roles#core-team)
- [conference2026@scverse.org](mailto:conference2026@scverse.org): for matters regarding the [next conference](/conference2026)
- [steering-council@scverse.org](mailto:steering-council@scverse.org): [steering council](/about/roles#steering-council) (e.g. for questions about sponsorships)
[[email.items]]
address = "steering-council@scverse.org"
text = "the [steering council](/about/roles#steering-council), including sponsorship questions"

[[email.items]]
address = "conference2026@scverse.org"
text = "the [next conference](/conference2026)"
+++
Loading