+
Slate Chrome Extensions
Take any image on the web and save it to Slate right from your browser tab.
- Get Chrome Extension
+ Get Chrome extension
Currently avaible for{" "}
@@ -191,6 +216,8 @@ export default class IndexPage extends React.Component {
.
+
+
-
+
Releases
Slate is built in public and all past releases are always avaible for download.
-
+
+
+
+
+ Version
+ Product
+ Date
+ Download
+
+
+ 0.1.0
+ Chrome Extension
+ 2020-09-07
+
+
+ Download
+
+
+
+
+ 0.1.0
+ Design system
+ 2020-09-07
+ Download
+
+
diff --git a/pages/index.js b/pages/index.js
index 84df6715..b19d14af 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -14,138 +14,111 @@ const USER_SLATES = [
name: "Urban gardens",
url: "https://slate.host/gndclouds/urban-gardens",
username: "gndclouds",
- preview:
- "https://slate.textile.io/ipfs/bafybeiff7y4kz4e2z4nfso4nsgdbkfsyroa62jvvldoxafuaf34m7lticu",
+ preview: "https://slate.textile.io/ipfs/bafybeiff7y4kz4e2z4nfso4nsgdbkfsyroa62jvvldoxafuaf34m7lticu",
},
{
name: "Shapes and Letters",
url: "https://slate.host/haris/shapes-and-letters",
username: "haris",
- preview:
- "https://slate.textile.io/ipfs/bafybeifgxtl7mq5djnorxedzi35hkizjmbjvdy3nnoitd3xvdnqpmruxbm",
+ preview: "https://slate.textile.io/ipfs/bafybeifgxtl7mq5djnorxedzi35hkizjmbjvdy3nnoitd3xvdnqpmruxbm",
},
{
name: "Mountains",
url: "https://slate.host/jason/mountains",
username: "jason",
- preview:
- "https://slate.textile.io/ipfs/bafkreies6uykgocrkunrsndxfubntyqvfqzo5wuwyos42vak6d4qnvtdn4",
+ preview: "https://slate.textile.io/ipfs/bafkreies6uykgocrkunrsndxfubntyqvfqzo5wuwyos42vak6d4qnvtdn4",
},
{
name: "Loom",
url: "https://slate.host/tara/loom",
username: "tara",
- preview:
- "https://slate.textile.io/ipfs/bafybeifl5xzy4vjctrsr3jywdlv5ceq3hpaadhcii2ekjx2gljyagveqna",
+ preview: "https://slate.textile.io/ipfs/bafybeifl5xzy4vjctrsr3jywdlv5ceq3hpaadhcii2ekjx2gljyagveqna",
},
{
name: "Brand",
url: "https://slate.host/slate/brand",
username: "slate",
- preview:
- "https://slate.textile.io/ipfs/bafybeiaerbu2nivrgncqtwgwom27caji25netswvjbo6tcmbka47ucmupa",
+ preview: "https://slate.textile.io/ipfs/bafybeiaerbu2nivrgncqtwgwom27caji25netswvjbo6tcmbka47ucmupa",
},
{
name: "Montreal underground",
url: "https://slate.host/tcosta/montreal-underground",
username: "tcosta",
- preview:
- "https://slate.textile.io/ipfs/bafybeieblkyt6d7wg4xmltshvxm6w7tz4c3zjpjuu4yfhiak36debqccda",
+ preview: "https://slate.textile.io/ipfs/bafybeieblkyt6d7wg4xmltshvxm6w7tz4c3zjpjuu4yfhiak36debqccda",
},
{
name: "Monet",
url: "https://slate.host/slate/monet",
username: "slate",
- preview:
- "https://slate.textile.io/ipfs/bafkreieb4yfiamtipapmhoihl547lxeod2vfku67dimrhmab5tcglr5bli",
+ preview: "https://slate.textile.io/ipfs/bafkreieb4yfiamtipapmhoihl547lxeod2vfku67dimrhmab5tcglr5bli",
},
{
name: "Books",
url: "https://slate.host/haris/books",
username: "haris",
- preview:
- "https://slate.textile.io/ipfs/bafkreihe7ismqfyytekj6yvbv6mpbc5de3gozk6n7a47smodbcsnrhbpri",
+ preview: "https://slate.textile.io/ipfs/bafkreihe7ismqfyytekj6yvbv6mpbc5de3gozk6n7a47smodbcsnrhbpri",
},
{
name: "Papers",
url: "https://slate.host/slate/papers",
username: "slate",
- preview:
- "https://slate.textile.io/ipfs/bafkreif7l2vxkvdyrydcjwjjrrmqq73id3tdrdkf3z54tp2fotc75wkdwm",
+ preview: "https://slate.textile.io/ipfs/bafkreif7l2vxkvdyrydcjwjjrrmqq73id3tdrdkf3z54tp2fotc75wkdwm",
},
];
const ASSET_HERO = {
- src:
- "https://slate.textile.io/ipfs/bafybeidfr2x5ftxzixjxtrgiqm6iuotzip25tlrpase226jog3tqenqd4a",
+ src: "https://slate.textile.io/ipfs/bafybeidfr2x5ftxzixjxtrgiqm6iuotzip25tlrpase226jog3tqenqd4a",
backgroundImage: `https://slate.textile.io/ipfs/bafybeict43te7wcy7pdw3v45dwwedwxw7yjthbytdsja6dpsiqkgil7iey`,
};
const ASSET_HERO_COLLABORATE = {
- src:
- "https://slate.textile.io/ipfs/bafybeih63zq5f7htbhkmrog447ybytyid2yi6fix4k6z3pbegxpcq2r2qa",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafkreiagwjqvmisseb6voj7cwd3lhjudigkel63hqg6efpqjmhlfv5ucj4",
+ src: "https://slate.textile.io/ipfs/bafybeih63zq5f7htbhkmrog447ybytyid2yi6fix4k6z3pbegxpcq2r2qa",
+ backgroundImage: "https://slate.textile.io/ipfs/bafkreiagwjqvmisseb6voj7cwd3lhjudigkel63hqg6efpqjmhlfv5ucj4",
};
const ASSETS_SMALL = [
{
- src:
- "https://slate.textile.io/ipfs/bafybeiawzns4vxqp3llkzmc4shvytzpurysh26yj3aljde4d4fsgf7wlze",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafybeihez3rtyqqftx7mkyktwozyqjkwdtk2kglxqjc4zspah26bva3yk4",
+ src: "https://slate.textile.io/ipfs/bafybeiawzns4vxqp3llkzmc4shvytzpurysh26yj3aljde4d4fsgf7wlze",
+ backgroundImage: "https://slate.textile.io/ipfs/bafybeihez3rtyqqftx7mkyktwozyqjkwdtk2kglxqjc4zspah26bva3yk4",
},
{
- src:
- "https://slate.textile.io/ipfs/bafybeiczug4d6uyr4pkejdwirkeffbzkkzrbaprxvreid6iitw3pmjzq3q",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafybeidnt2l3lslxi7ofkxs5ffncsh4fw5h2ohbukxumngrqj5pdrooaou",
+ src: "https://slate.textile.io/ipfs/bafybeiczug4d6uyr4pkejdwirkeffbzkkzrbaprxvreid6iitw3pmjzq3q",
+ backgroundImage: "https://slate.textile.io/ipfs/bafybeidnt2l3lslxi7ofkxs5ffncsh4fw5h2ohbukxumngrqj5pdrooaou",
},
{
- src:
- "https://slate.textile.io/ipfs/bafkreid7wl4443p764ozdlqtodh7dmsej6ffayp4tc3lr3hil2qkclrohi",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafkreibb3onijljnmonrbs7qguimjf5qwbnkx3m33pouxbtar2yb7hupti",
+ src: "https://slate.textile.io/ipfs/bafkreid7wl4443p764ozdlqtodh7dmsej6ffayp4tc3lr3hil2qkclrohi",
+ backgroundImage: "https://slate.textile.io/ipfs/bafkreibb3onijljnmonrbs7qguimjf5qwbnkx3m33pouxbtar2yb7hupti",
},
{
- src:
- "https://slate.textile.io/ipfs/bafybeicjovnsnhvt7xwjw3igdwwpb4ms2m23fayoydj3oevrwyi7dzjtga",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafkreiefuyyk6dcjhyk3hl2httqvdlnl3mo6wrfzgmponexrc75jop757y",
+ src: "https://slate.textile.io/ipfs/bafybeicjovnsnhvt7xwjw3igdwwpb4ms2m23fayoydj3oevrwyi7dzjtga",
+ backgroundImage: "https://slate.textile.io/ipfs/bafkreiefuyyk6dcjhyk3hl2httqvdlnl3mo6wrfzgmponexrc75jop757y",
},
];
const ASSETS_MEDIUM = [
{
title: "Create moodboards",
- src:
- "https://slate.textile.io/ipfs/bafybeib46kplzcylnzviaojgbogua52wyrzbvnj6uulvo4zwrxm4hnxeqe",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafybeicoaponp2nv3ikpsjgcgu7pio6aercflsvsiyxrpaonza7ncg73dq",
+ src: "https://slate.textile.io/ipfs/bafybeib46kplzcylnzviaojgbogua52wyrzbvnj6uulvo4zwrxm4hnxeqe",
+ backgroundImage: "https://slate.textile.io/ipfs/bafybeicoaponp2nv3ikpsjgcgu7pio6aercflsvsiyxrpaonza7ncg73dq",
},
{
title: "Organize research",
- src:
- "https://slate.textile.io/ipfs/bafybeigstyjfpzazdlmgkfuhw4yxrneux3opvbls7nmv6gq7dbnhmy6xwy",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafybeie4p45yfvbjdzc2rgw67e7crcltpu7o544xtugs3wyv3qh3t3oegi",
+ src: "https://slate.textile.io/ipfs/bafybeigstyjfpzazdlmgkfuhw4yxrneux3opvbls7nmv6gq7dbnhmy6xwy",
+ backgroundImage: "https://slate.textile.io/ipfs/bafybeie4p45yfvbjdzc2rgw67e7crcltpu7o544xtugs3wyv3qh3t3oegi",
},
{
title: "Share presentations",
- src:
- "https://slate.textile.io/ipfs/bafybeiampkmsxeihxnuz2hkgbhtzosgkwghslpwm7dsrxrzlqwa7tvzreq",
- backgroundImage:
- "https://slate.textile.io/ipfs/bafkreiglefskwq7bpa3aazihegawd4qwxockl6shipnps7zlokrbnu4f7u",
+ src: "https://slate.textile.io/ipfs/bafybeiampkmsxeihxnuz2hkgbhtzosgkwghslpwm7dsrxrzlqwa7tvzreq",
+ backgroundImage: "https://slate.textile.io/ipfs/bafkreiglefskwq7bpa3aazihegawd4qwxockl6shipnps7zlokrbnu4f7u",
},
];
const ASSET_CHROME_EXTENSION =
"https://slate.textile.io/ipfs/bafybeibwppu23j5wgshqvm5qyqv3c6pmhp3y5irdwn3ivvnnrpexiguzbi";
-const ASSET_SLATE_CUBE =
- "https://slate.textile.io/ipfs/bafybeiaex6rorqtumulc4x3u4sbl5pdbn5sx45mvm6uvbebu4cxgk3okjy";
+const ASSET_SLATE_CUBE = "https://slate.textile.io/ipfs/bafybeiaex6rorqtumulc4x3u4sbl5pdbn5sx45mvm6uvbebu4cxgk3okjy";
const STYLES_ROOT = css`
display: flex;
@@ -165,6 +138,8 @@ const STYLES_LINK = css`
const STYLES_H1 = css`
font-size: ${Constants.typescale.lvl5};
+ font-family: ${Constants.font.medium};
+ font-weight: 400;
line-height: 1.3;
padding: 0px 0px 24px 0px;
letter-spacing: -0.021rem;
@@ -183,6 +158,8 @@ const STYLES_H1 = css`
const STYLES_H2 = css`
font-size: ${Constants.typescale.lvl3};
+ font-family: ${Constants.font.medium};
+ font-weight: 400;
line-height: 1.3;
letter-spacing: -0.019rem;
padding: 0 0 24px 0;
@@ -201,6 +178,8 @@ const STYLES_H2 = css`
const STYLES_H3 = css`
font-size: ${Constants.typescale.lvl2};
+ font-family: ${Constants.font.medium};
+ font-weight: 400;
line-height: 1.5;
letter-spacing: -0.014rem;
padding: 0 0 8px 0;
@@ -269,16 +248,17 @@ const STYLES_FILETYPE = css`
flex-wrap: wrap;
width: 100%;
@media (max-width: ${Constants.sizes.mobile}px) {
- display: block;
+ display: flex;
+ flex-wrap: wrap;
}
`;
const STYLES_FILETYPE_GRID_ITEM = css`
padding: 0 24px 24px 0;
- width: 50%;
+ width: 25%;
@media (max-width: ${Constants.sizes.mobile}px) {
- width: 100%;
+ width: 50%;
padding: 0 0 24px 0;
}
`;
@@ -314,10 +294,13 @@ const STYLES_VIDEO_MEDIUM = css`
margin: 24px auto 96px auto;
border-radius: 4px;
width: 100%;
+ max-width: 56vw;
box-shadow: 0px 10px 50px 20px rgba(0, 0, 0, 0.1);
@media (max-width: ${Constants.sizes.tablet}px) {
margin: 16px auto 64px auto;
+ width: 100%;
+ max-width: 100vw;
}
@media (max-width: ${Constants.sizes.mobile}px) {
@@ -369,10 +352,11 @@ const STYLES_TEXT_BLOCK = css`
max-width: 56vw;
width: 100%;
align-self: center;
+ margin-bottom: 16px;
@media (max-width: ${Constants.sizes.mobile}px) {
- width: 88%;
- right: 24px;
+ width: 100%;
+ max-width: 100vw;
}
`;
@@ -486,6 +470,8 @@ const STYLES_SLATE_CARD_TEXT = css`
const STYLES_SLATE_CARD_TITLE = css`
padding: 12px;
font-size: ${Constants.typescale.lvl1};
+ letter-spacing: -0.021rem;
+ font-weight: 400;
text-align: left;
width: 100%;
@@ -497,6 +483,8 @@ const STYLES_SLATE_CARD_TITLE = css`
const STYLES_SLATE_CARD_CTA_TITLE = css`
font-size: ${Constants.typescale.lvl5};
+ font-family: ${Constants.font.medium};
+ font-weight: 400;
text-align: left;
line-height: 1.25;
padding: 12px;
@@ -597,16 +585,11 @@ export default class IndexPage extends React.Component {
render() {
const title = `Slate`;
- const description =
- "Welcome to the future of file sharing. Powered by Textile, Filecoin, and IPFS.";
+ const description = "Welcome to the future of file sharing. Powered by Textile, Filecoin, and IPFS.";
const url = "https://slate.host";
return (
-
+
@@ -617,11 +600,8 @@ export default class IndexPage extends React.Component {
-
window.open("/_")}
- >
- Use Slate
+
window.open("/_")}>
+ Use slate
@@ -645,11 +625,7 @@ export default class IndexPage extends React.Component {
Slate{" "}
is a{" "}
-
+
fully open-source
{" "}
file sharing network designed for research and collaboration.
@@ -658,29 +634,19 @@ export default class IndexPage extends React.Component {
Store your data,
- organize it any way you
- like,
- and share it with the world
- securely.
+ organize it any way you like,
+ and share it with the world securely.
Powered by
-
+
Textile
{" "}
-
+
Filecoin
@@ -707,77 +673,67 @@ export default class IndexPage extends React.Component {
- Easily upload any kind of
- media file to your storage system.
+ Easily upload any kind of media file to your storage system.
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -788,9 +744,8 @@ export default class IndexPage extends React.Component {
Upload from anywhere
- The Slate Chrome extension {" "}
- lets you seamlessly upload files to your slates from anywhere on
- the web.
+ The Slate Chrome extension lets you seamlessly upload files to your
+ slates from anywhere on the web.
@@ -808,34 +763,33 @@ export default class IndexPage extends React.Component {
Organize and publish
- A modular interface for your
- files, giving you complete flexibility.
+ A modular interface for your files, giving you complete flexibility.
-
-
+
- {ASSETS_MEDIUM.map((each) => {
- return (
-
+ {ASSETS_MEDIUM.map((each) => {
+ return (
+
+
{each.title}
-
-
- );
- })}
-
+
+
+
+ );
+ })}
@@ -844,9 +798,8 @@ export default class IndexPage extends React.Component {
Collaborate and connect
- A file sharing network built
- on top of a storage system making it possible to connect with
- other people on the Filecoin network.
+ A file sharing network built on top of a storage system making it
+ possible to connect with other people on the Filecoin network.
@@ -859,9 +812,7 @@ export default class IndexPage extends React.Component {
type="video/mp4"
playsInline
style={{
- backgroundImage: `url('${
- ASSET_HERO_COLLABORATE.backgroundImage
- }')`,
+ backgroundImage: `url('${ASSET_HERO_COLLABORATE.backgroundImage}')`,
}}
/>