news
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "A Deep Dive into Skynet"
|
||||||
|
date: "2021-02-09"
|
||||||
|
description: An introduction and a point of reference on all things Skynet. Intended for all audiences & each section has been written to be…
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: David Vorick
|
||||||
|
avatar: ../../team/david-vorick.png
|
||||||
|
external: https://blog.sia.tech/a-deep-dive-into-skynet-a0fa037feea
|
||||||
|
---
|
After Width: | Height: | Size: 525 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "Announcing Skynet Premium Plans: Faster Speeds and Longer Pinning"
|
||||||
|
date: "2021-03-24"
|
||||||
|
description: Skynet Labs announces accounts with faster speeds and greater amounts of stored data, laying the foundation for future content…
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: David Vorick
|
||||||
|
avatar: ../../team/david-vorick.png
|
||||||
|
external: https://blog.sia.tech/announcing-skynet-premium-plans-faster-speeds-and-longer-pinning-b5469814d2c3
|
||||||
|
---
|
After Width: | Height: | Size: 397 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "Built to Explore: The Skynet Spring 2021 Hackathon!"
|
||||||
|
date: "2021-04-01"
|
||||||
|
description: Put your DApp to the test with real end-users in this exciting 3 phase hackathon. $25,000+ in prizes and open to devs and nondevs alike!
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: David Vorick
|
||||||
|
avatar: ../../team/david-vorick.png
|
||||||
|
external: https://blog.sia.tech/built-to-explore-the-skynet-spring-2021-hackathon-a0cff382bb0c
|
||||||
|
---
|
After Width: | Height: | Size: 2.3 MiB |
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: Introducing Skynet Labs
|
||||||
|
date: "2021-04-02"
|
||||||
|
description: Nebulous rebrands to Skynet Labs with decentralized internet as the cornerstone of our mission.
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: Manasi Vora
|
||||||
|
avatar: ../../team/manasi-vora.png
|
||||||
|
external: https://blog.sia.tech/introducing-skynet-labs-434c852cce07
|
||||||
|
---
|
After Width: | Height: | Size: 103 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "Launching the Sia Foundation"
|
||||||
|
date: "2021-01-13"
|
||||||
|
description: Sia v1.5.4 release incorporates the Foundation Hardfork scheduled to activate around midnight, February 3rd, at block height 298,000
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: Luke Champine
|
||||||
|
avatar: ../../team/luke-champine.png
|
||||||
|
external: https://blog.sia.tech/launching-the-sia-foundation-ee47dfab4d2c
|
||||||
|
---
|
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "Skynet Community Update — March 2021"
|
||||||
|
date: "2021-03-10"
|
||||||
|
description: Get updated on the Skynet and Sia ecosystem for the past few months.
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: Sia Tech
|
||||||
|
avatar: ../../team/david-vorick.png
|
||||||
|
external: https://blog.sia.tech/skynet-community-update-march-2021-960426c9abce
|
||||||
|
---
|
After Width: | Height: | Size: 75 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "The Skynet License"
|
||||||
|
date: "2021-03-18"
|
||||||
|
description: New source code license by Skynet Labs that enables a sustainable business model while empowering freedom
|
||||||
|
thumbnail: ./thumbnail.png
|
||||||
|
categories: ["medium"]
|
||||||
|
author: David Vorick
|
||||||
|
avatar: ../../team/david-vorick.png
|
||||||
|
external: https://blog.sia.tech/the-skynet-license-cf62d5c358c5
|
||||||
|
---
|
After Width: | Height: | Size: 3.2 MiB |
|
@ -0,0 +1,19 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80">
|
||||||
|
<defs>
|
||||||
|
<filter id="1-a">
|
||||||
|
<feColorMatrix in="SourceGraphic" values="0 0 0 0 0.050980 0 0 0 0 0.050980 0 0 0 0 0.050980 0 0 0 1.000000 0"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path fill="#00C65E" d="M29.031876,20.9098666 L28.9376,20.9996 L26.0006,32.418457 L26.0002217,47.4850772 C15.5253909,39.5307935 9.94339742,30.0594707 13.1535,24.4995 C15.3983377,20.6113901 21.4491262,19.4904168 29.031876,20.9098666 Z"/>
|
||||||
|
<g filter="url(#1-a)">
|
||||||
|
<g transform="translate(10 9)">
|
||||||
|
<path stroke="#222829" stroke-width="2" d="M25.1486,1.9116 C26.6606,0.6766 28.2946,-0.0004 30.0006,-0.0004 C37.7326,-0.0004 44.0006,13.8786 44.0006,30.9996 C44.0006,48.1206 37.7326,61.9996 30.0006,61.9996 C22.2676,61.9996 16.0006,48.1206 16.0006,30.9996 C16.0006,23.8406 17.0956,17.2476 18.9376,11.9996"/>
|
||||||
|
<path stroke="#222829" stroke-width="2" d="M57.6955,41.9185 C57.8795,43.6185 57.6145,45.1705 56.8465,46.4995 C52.9805,53.1955 37.8275,51.6855 23.0005,43.1245 C8.1735,34.5645 -0.7125,22.1955 3.1535,15.4995 C7.0195,8.8035 22.1735,10.3145 37.0005,18.8745 C43.2405,22.4785 48.4285,26.7565 52.0565,31.0025"/>
|
||||||
|
<path stroke="#222829" stroke-width="2" d="M2.3049,41.9155 C2.1199,43.6165 2.3859,45.1695 3.1539,46.4995 C7.0199,53.1955 22.1729,51.6855 36.9999,43.1245 C51.8269,34.5645 60.7129,22.1955 56.8469,15.4995 C52.9809,8.8035 37.8269,10.3145 22.9999,18.8745 C16.7599,22.4785 11.5729,26.7545 7.9459,30.9995"/>
|
||||||
|
<path stroke="#222829" stroke-width="2" d="M6.0002 38.9995C6.0002 40.6565 4.6562 41.9995 3.0002 41.9995 1.3442 41.9995.0002 40.6565.0002 38.9995.0002 37.3435 1.3442 35.9995 3.0002 35.9995 4.6562 35.9995 6.0002 37.3435 6.0002 38.9995zM60.0002 38.9995C60.0002 40.6565 58.6562 41.9995 57.0002 41.9995 55.3442 41.9995 54.0002 40.6565 54.0002 38.9995 54.0002 37.3435 55.3442 35.9995 57.0002 35.9995 58.6562 35.9995 60.0002 37.3435 60.0002 38.9995zM26.0002 3.9995C26.0002 5.6565 24.6562 6.9995 23.0002 6.9995 21.3442 6.9995 20.0002 5.6565 20.0002 3.9995 20.0002 2.3435 21.3442.9995 23.0002.9995 24.6562.9995 26.0002 2.3435 26.0002 3.9995zM21.0002 38.9995C21.0002 32.9995 27.0002 31.9995 27.0002 31.9995M39.0002 38.9995C39.0002 32.9995 33.0002 31.9995 33.0002 31.9995"/>
|
||||||
|
<path stroke="#222829" stroke-width="2" d="M35.0002,26.4995 C35.0002,29.9995 33.0372,32.9995 30.0002,32.9995 C26.9632,32.9995 25.0002,29.9995 25.0002,26.4995 C25.0002,22.9995 26.0002,20.9995 30.0002,20.9995 C34.0002,20.9995 35.0002,22.9995 35.0002,26.4995 Z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,6 @@
|
||||||
|
- cards:
|
||||||
|
- title: Own your data
|
||||||
|
description: No one owns or controls your account data except for you. Ownership extends to original blogs, music, and videos too. This is all possible through decentralized apps built on decentralized storage.
|
||||||
|
image: ./assets/own-your-data.svg
|
||||||
|
- title: Censorship-resistant content
|
||||||
|
description: Today, censorship can come arbitrarily, top-down, and as a tool to silence expression. Post and share content on Skynet, or use Skynet as a fail-over for your website if a service provider goes down.
|
After Width: | Height: | Size: 64 KiB |
|
@ -22,7 +22,10 @@ exports.createPages = async ({ graphql, actions, reporter }) => {
|
||||||
const result = await graphql(
|
const result = await graphql(
|
||||||
`
|
`
|
||||||
{
|
{
|
||||||
allMarkdownRemark(sort: { fields: [frontmatter___date], order: ASC }, limit: 1000) {
|
allMarkdownRemark(
|
||||||
|
sort: { fields: [frontmatter___date], order: ASC }
|
||||||
|
filter: { frontmatter: { external: { eq: null } } }
|
||||||
|
) {
|
||||||
nodes {
|
nodes {
|
||||||
id
|
id
|
||||||
fields {
|
fields {
|
||||||
|
@ -108,6 +111,7 @@ exports.createSchemaCustomization = ({ actions }) => {
|
||||||
description: String
|
description: String
|
||||||
date: Date @dateformat
|
date: Date @dateformat
|
||||||
author: String
|
author: String
|
||||||
|
external: String
|
||||||
hidden: Boolean
|
hidden: Boolean
|
||||||
categories: [String]
|
categories: [String]
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
"@tailwindcss/typography": "^0.4.0",
|
"@tailwindcss/typography": "^0.4.0",
|
||||||
"autoprefixer": "^10.2.5",
|
"autoprefixer": "^10.2.5",
|
||||||
"bytes": "^3.1.0",
|
"bytes": "^3.1.0",
|
||||||
"classnames": "^2.2.6",
|
"classnames": "^2.3.1",
|
||||||
"copy-text-to-clipboard": "^3.0.1",
|
"copy-text-to-clipboard": "^3.0.1",
|
||||||
"crypto-browserify": "^3.12.0",
|
"crypto-browserify": "^3.12.0",
|
||||||
"framer-motion": "^4.0.3",
|
"framer-motion": "^4.0.3",
|
||||||
"gatsby": "^3.1.2",
|
"gatsby": "^3.2.1",
|
||||||
"gatsby-background-image": "^1.5.0",
|
"gatsby-background-image": "^1.5.0",
|
||||||
"gatsby-image": "^3.2.0",
|
"gatsby-image": "^3.2.0",
|
||||||
"gatsby-plugin-image": "^1.1.2",
|
"gatsby-plugin-image": "^1.1.2",
|
||||||
|
@ -56,20 +56,20 @@
|
||||||
"react-helmet": "^6.1.0",
|
"react-helmet": "^6.1.0",
|
||||||
"react-share": "^4.4.0",
|
"react-share": "^4.4.0",
|
||||||
"react-svg-loader": "^3.0.3",
|
"react-svg-loader": "^3.0.3",
|
||||||
"react-syntax-highlighter": "^13.5.3",
|
"react-syntax-highlighter": "^15.4.3",
|
||||||
"react-use": "^17.2.1",
|
"react-use": "^17.2.3",
|
||||||
"skynet-js": "^3.0.2",
|
"skynet-js": "^3.0.2",
|
||||||
"stream-browserify": "^2.0.2",
|
"stream-browserify": "^3.0.0",
|
||||||
"tailwindcss": "^2.0.3"
|
"tailwindcss": "^2.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.13.13",
|
"@babel/core": "^7.13.13",
|
||||||
"@storybook/addon-actions": "^6.2.0-rc.10",
|
"@storybook/addon-actions": "^6.2.4",
|
||||||
"@storybook/addon-essentials": "^6.2.0-rc.10",
|
"@storybook/addon-essentials": "^6.2.4",
|
||||||
"@storybook/addon-links": "^6.2.0-rc.10",
|
"@storybook/addon-links": "^6.2.4",
|
||||||
"@storybook/addon-postcss": "^2.0.0",
|
"@storybook/addon-postcss": "^2.0.0",
|
||||||
"@storybook/addon-viewport": "^6.2.0-rc.10",
|
"@storybook/addon-viewport": "^6.2.4",
|
||||||
"@storybook/react": "^6.2.0-rc.10",
|
"@storybook/react": "^6.2.4",
|
||||||
"babel-loader": "^8.2.2",
|
"babel-loader": "^8.2.2",
|
||||||
"babel-plugin-inline-react-svg": "^2.0.1",
|
"babel-plugin-inline-react-svg": "^2.0.1",
|
||||||
"prettier": "2.2.1"
|
"prettier": "2.2.1"
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
import { Link } from "gatsby";
|
import { Link } from "gatsby";
|
||||||
import { Section, SectionTitle } from "../components/Layout";
|
import { Section, SectionTitle } from "../components/Layout";
|
||||||
import SEO from "../components/seo";
|
import Seo from "../components/seo";
|
||||||
|
|
||||||
const NotFoundPage = () => (
|
const NotFoundPage = () => (
|
||||||
<>
|
<>
|
||||||
<SEO title="404: Not found" />
|
<Seo title="404: Not found" />
|
||||||
|
|
||||||
<Section className="bg-white text-center">
|
<Section className="bg-white text-center">
|
||||||
<div className="space-y-8 py-40">
|
<div className="space-y-8 py-40">
|
||||||
|
|
|
@ -2,7 +2,7 @@ import * as React from "react";
|
||||||
import { GatsbyImage, getImage } from "gatsby-plugin-image";
|
import { GatsbyImage, getImage } from "gatsby-plugin-image";
|
||||||
import { Section, SectionTitle, SectionTitleCaption, CardWithDescription } from "../components/Layout";
|
import { Section, SectionTitle, SectionTitleCaption, CardWithDescription } from "../components/Layout";
|
||||||
import { Carousel } from "../components/Carousel/Carousel";
|
import { Carousel } from "../components/Carousel/Carousel";
|
||||||
import SEO from "../components/seo";
|
import Seo from "../components/seo";
|
||||||
import {
|
import {
|
||||||
ArrowRight,
|
ArrowRight,
|
||||||
Join,
|
Join,
|
||||||
|
@ -124,7 +124,7 @@ const AboutPage = ({ ...props }) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SEO title="About" />
|
<Seo title="About" />
|
||||||
|
|
||||||
<Section className="bg-palette-100" marginBottom={true} first={true}>
|
<Section className="bg-palette-100" marginBottom={true} first={true}>
|
||||||
<div className="grid grid-cols-1 gap-x-16 gap-y-16 desktop:grid-cols-3">
|
<div className="grid grid-cols-1 gap-x-16 gap-y-16 desktop:grid-cols-3">
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { Section, SectionTitle, CardWithDescription } from "../components/Layout
|
||||||
import { Carousel } from "../components/Carousel/Carousel";
|
import { Carousel } from "../components/Carousel/Carousel";
|
||||||
import { ExternalLink, DataSwap, Encryption, Layers, Mesh, Toolkit, DevBig } from "../components/Icons";
|
import { ExternalLink, DataSwap, Encryption, Layers, Mesh, Toolkit, DevBig } from "../components/Icons";
|
||||||
import CodeTerminal from "../components/CodeTerminal";
|
import CodeTerminal from "../components/CodeTerminal";
|
||||||
import SEO from "../components/seo";
|
import Seo from "../components/seo";
|
||||||
import Link from "../components/Link";
|
import Link from "../components/Link";
|
||||||
|
|
||||||
const LearnMoreButton = () => (
|
const LearnMoreButton = () => (
|
||||||
|
@ -88,7 +88,7 @@ const docs = [
|
||||||
|
|
||||||
const DevelopersPage = () => (
|
const DevelopersPage = () => (
|
||||||
<>
|
<>
|
||||||
<SEO title="Developers" />
|
<Seo title="Developers" />
|
||||||
|
|
||||||
<Section first={true} width="layout">
|
<Section first={true} width="layout">
|
||||||
<div className="flex flex-col desktop:flex-row desktop:space-y-0 space-y-12 desktop:space-x-12">
|
<div className="flex flex-col desktop:flex-row desktop:space-y-0 space-y-12 desktop:space-x-12">
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
import { Section, SectionTitle, CardWithDescription, CardWithTitle } from "../components/Layout";
|
import { Section, SectionTitle, CardWithDescription, CardWithTitle } from "../components/Layout";
|
||||||
import { Carousel } from "../components/Carousel/Carousel";
|
import { Carousel } from "../components/Carousel/Carousel";
|
||||||
import SEO from "../components/seo";
|
import Seo from "../components/seo";
|
||||||
import CommunitySection from "../components/CommunitySection";
|
import CommunitySection from "../components/CommunitySection";
|
||||||
import Uploader from "../components/Uploader";
|
import Uploader from "../components/Uploader";
|
||||||
import {
|
import {
|
||||||
|
@ -68,7 +68,7 @@ const ecosystemCards = [
|
||||||
const IndexPage = () => {
|
const IndexPage = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SEO title="Decentralized Internet for a Free Future" />
|
<Seo title="Decentralized Internet for a Free Future" />
|
||||||
|
|
||||||
<Section first={true}>
|
<Section first={true}>
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
|
|
|
@ -4,12 +4,14 @@ import { GatsbyImage, getImage } from "gatsby-plugin-image";
|
||||||
import { Section, Label } from "../components/Layout";
|
import { Section, Label } from "../components/Layout";
|
||||||
import { NewsSummary } from "../components/News";
|
import { NewsSummary } from "../components/News";
|
||||||
import Link from "../components/Link";
|
import Link from "../components/Link";
|
||||||
import SEO from "../components/seo";
|
import Seo from "../components/seo";
|
||||||
|
|
||||||
const NewsCard = ({ ...props }) => {
|
const NewsCard = ({ ...props }) => {
|
||||||
|
const linkProps = { to: !props.frontmatter.external && props.fields.slug, href: props.frontmatter.external };
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<Link to={props.fields.slug}>
|
<Link {...linkProps}>
|
||||||
<GatsbyImage image={getImage(props.frontmatter.thumbnail)} alt={props.frontmatter.title} />
|
<GatsbyImage image={getImage(props.frontmatter.thumbnail)} alt={props.frontmatter.title} />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
|
@ -21,12 +23,12 @@ const NewsCard = ({ ...props }) => {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<Link to={props.fields.slug} className="text-xl mt-6">
|
<Link {...linkProps} className="text-xl mt-6">
|
||||||
{props.frontmatter.title}
|
{props.frontmatter.title}
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
{props.frontmatter.description && (
|
{props.frontmatter.description && (
|
||||||
<Link to={props.fields.slug} className="font-content text-palette-400 mt-4">
|
<Link {...linkProps} className="font-content text-palette-400 mt-4">
|
||||||
{props.frontmatter.description}
|
{props.frontmatter.description}
|
||||||
</Link>
|
</Link>
|
||||||
)}
|
)}
|
||||||
|
@ -45,7 +47,7 @@ const NewsCard = ({ ...props }) => {
|
||||||
const NewsPage = ({ data }) => {
|
const NewsPage = ({ data }) => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SEO title="News" />
|
<Seo title="News" />
|
||||||
|
|
||||||
<Section className="bg-white" first={true}>
|
<Section className="bg-white" first={true}>
|
||||||
<div className="grid grid-cols-1 desktop:grid-cols-3 gap-x-8 gap-y-24">
|
<div className="grid grid-cols-1 desktop:grid-cols-3 gap-x-8 gap-y-24">
|
||||||
|
@ -73,6 +75,7 @@ export const query = graphql`
|
||||||
description
|
description
|
||||||
author
|
author
|
||||||
categories
|
categories
|
||||||
|
external
|
||||||
thumbnail {
|
thumbnail {
|
||||||
childImageSharp {
|
childImageSharp {
|
||||||
gatsbyImageData(width: 320, placeholder: BLURRED, formats: [AUTO, WEBP, AVIF])
|
gatsbyImageData(width: 320, placeholder: BLURRED, formats: [AUTO, WEBP, AVIF])
|
||||||
|
|
|
@ -2,7 +2,7 @@ import * as React from "react";
|
||||||
import { graphql } from "gatsby";
|
import { graphql } from "gatsby";
|
||||||
import { Section, SectionTitle } from "../components/Layout";
|
import { Section, SectionTitle } from "../components/Layout";
|
||||||
import { NewsSummary } from "../components/News";
|
import { NewsSummary } from "../components/News";
|
||||||
import SEO from "../components/seo";
|
import Seo from "../components/seo";
|
||||||
import { TwitterShareButton, LinkedinShareButton, FacebookShareButton } from "react-share";
|
import { TwitterShareButton, LinkedinShareButton, FacebookShareButton } from "react-share";
|
||||||
import { TwitterSmall, LinkedinSmall, FacebookSmall } from "../components/Icons";
|
import { TwitterSmall, LinkedinSmall, FacebookSmall } from "../components/Icons";
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ const BlogPostTemplate = ({ data, location }) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SEO title={post.frontmatter.title} description={post.frontmatter.description || post.excerpt} />
|
<Seo title={post.frontmatter.title} description={post.frontmatter.description || post.excerpt} />
|
||||||
<Section className="bg-white" first={true}>
|
<Section className="bg-white" first={true}>
|
||||||
<article className="blog-post" itemScope itemType="http://schema.org/Article">
|
<article className="blog-post" itemScope itemType="http://schema.org/Article">
|
||||||
<SectionTitle itemProp="headline" className="mb-16">
|
<SectionTitle itemProp="headline" className="mb-16">
|
||||||
|
|