Skip to content
Merged
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 Discourse, development chat to 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. Good first issues are the easiest way in."

[[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."

[[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 = "Anyone can join the community meeting, every other Tuesday at 6pm CET."

[[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
Loading