import * as React from "react"; import * as Constants from "~/common/constants"; import * as System from "~/components/system"; import { css } from "@emotion/react"; import WebsitePrototypeWrapper from "~/components/core/WebsitePrototypeWrapper"; import WebsitePrototypeHeader from "~/components/core/NewWebsitePrototypeHeader"; import WebsitePrototypeFooter from "~/components/core/NewWebsitePrototypeFooter"; import CodeBlock from "~/components/system/CodeBlock"; const STYLES_ROOT = css` display: flex; flex-direction: column; justify-content: space-between; max-width: 1440px; margin: -88px 0 0 0; background-color: ${Constants.system.wall}; `; const STYLES_H1 = css` font-size: 3.815rem; line-height: 1.25; width: 100%; color: ${Constants.system.slate}; @media (max-width: ${Constants.sizes.tablet}px) { font-size: 3.052rem; padding: 0px 0px 16px 0px; } @media (max-width: ${Constants.sizes.mobile}px) { font-size: 1.953rem; padding: 0px 0px 8px 0px; } `; const STYLES_H2 = css` font-size: 2.441em; line-height: 1.25; padding: 16px 0px 0 0px; width: 100%; color: ${Constants.system.slate}; @media (max-width: ${Constants.sizes.tablet}px) { font-size: 1.563rem; padding: 8px 0px 0px 0px; } @media (max-width: ${Constants.sizes.mobile}px) { font-size: 1.25rem; padding: 8px 0px 0 0px; line-height: 1.5; } `; const STYLES_H3 = css` font-size: 1.563rem; line-height: 1.5; padding: 16px 0px 0px 0px; color: ${Constants.system.slate}; @media (max-width: ${Constants.sizes.tablet}px) { font-size: 1.25rem; padding: 8px 0px 0px 0px; } @media (max-width: ${Constants.sizes.mobile}px) { font-size: 1rem; padding: 8px 0px 0px 0px; } `; const STYLES_P = css` font-size: 1rem; padding: 16px 0px 0px 0px; color: ${Constants.system.black}; @media (max-width: ${Constants.sizes.mobile}px) { font-size: 0.78rem; } `; const STYLES_SECTION_HERO = css` width: 100vw; padding: 30vh 88px 88px 88px; display: flex; flex-direction: column; justify-content: center; @media (max-width: ${Constants.sizes.mobile}px) { padding: 40vh 24px 48px 24px; display: block; } `; const STYLES_TEXT_BLOCK = css` display: flex; flex-direction: column; justify-content: space-between; width: 56vw; align-self: center; @media (max-width: ${Constants.sizes.mobile}px) { width: 88%; right: 24px; } `; const STYLES_HEROIMG = css` float: right; margin: -80px 0 0 0; width: 50vw; @media (max-width: ${Constants.sizes.tablet}px) { margin: 0; } `; const STYLES_IMG = css` width: 100%; border-radius: 4px; display: block; `; const STYLES_BUTTON_PRIMARY = css` box-sizing: border-box; border-radius: 2px; outline: 0; border: 0; min-height: 40px; padding: 6px 24px 6px 24px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; letter-spacing: 0.2px; font-family: ${Constants.font.semiBold}; transition: 200ms ease all; user-select: none; cursor: pointer; background-color: ${Constants.system.wall}; color: ${Constants.system.slate}; box-shadow: 0px 10px 50px 20px rgba(0, 0, 0, 0.1); :hover { background-color: ${Constants.system.pitchBlack}; box-shadow: 0px 10px 90px 20px rgba(207, 206, 211, 0.3); color: ${Constants.system.wall}; } :focus { box-shadow: inset 0 0 5px 2px rgba(0, 0, 0, 0.3); background-color: ${Constants.system.pitchBlack}; color: ${Constants.system.wall}; outline: 0; border: 0; } `; const STYLES_SECTION_WRAPPER = css` display: flex; flex-direction: column; padding: 88px; width: 100vw; @media (max-width: ${Constants.sizes.mobile}px) { padding: 64px 24px; display: block; } `; const STYLES_SECTION_CHILD_FULL = css` display: flex; width: 100%; @media (max-width: ${Constants.sizes.mobile}px) { flex-direction: column; } `; const STYLES_SECTION_CHILD_SPLIT = css` width: 50%; padding: 16px; @media (max-width: ${Constants.sizes.tablet}px) { width: 100%; padding: 16px 0; } `; const STYLES_CARD_GROUP = css` display: flex; flex-wrap: wrap; margin-top: 48px; `; const STYLES_CARD_NAME = css` font-size: 1.25rem; font-weight: 600; letter-spacing: 0.002em; text-align: center; `; const STYLES_CARD_GITHUB = css` font-size: 1rem; font-weight: 400; letter-spacing: 0.002em; text-align: center; `; const STYLES_CARD_TEXT = css` padding: 20px 5px; color: ${Constants.system.pitchBlack}; `; const STYLES_CARD_WRAPPER = css` width: calc(100% / 7 px); transition: 200ms ease box-shadow; padding: 16px 16px 0 0; @media (max-width: ${Constants.sizes.tablet}px) { width: 50%; } `; export const getServerSideProps = async (context) => { return { props: { ...context.query }, }; }; export default class CommunityPage extends React.Component { render() { const title = `Slate`; const description = "Slate is designed and built by a growing community of hackers, artists, and creatives on the web."; const url = "https://slate.host/community"; return (

Community

Slate is designed and built by a growing community of hackers, artists, and creatives on the web.

Slate hive tesseract

Core Team

Contributors

Get involved

Slate is a fully open-source file sharing network designed for research and collaboration.

Contribute

Get involved with the project and contribute.


Contact

{" "} Reach out to any of the core contributors, reach us on Twitter, or join our Slack.


Integrate

Explore our API and SDK and build on top of Slate.


npm install --save slate-react-system

Design System

Check out our open source design system for your projects.


npm install --save slate-react-system
); } }