Compare commits

...

7 Commits
master ... dev

Author SHA1 Message Date
caishi 8679343ab4 search 2023-07-05 16:43:45 +08:00
caishi 7f0a14ee07 save 2023-07-05 14:43:25 +08:00
caishi fc896614c7 route 2023-06-30 14:25:37 +08:00
caishi 1f74e2bee2 onBrokenLinks 2023-06-29 17:10:49 +08:00
caishi b978811153 route 2023-06-29 15:52:12 +08:00
caishi 22b6ca5b96 底部样式 2023-06-29 10:18:19 +08:00
caishi 85ec8ae4e4 搜索框 2023-06-28 18:19:43 +08:00
79 changed files with 23067 additions and 13779 deletions

View File

@ -1,11 +0,0 @@
---
slug: first-post
title: First Post
author: luffyZh
author_title: 第一篇文章 @ Facebook
author_url: https://github.com/luffyZh
author_image_url: https://avatars.githubusercontent.com/u/17840558?s=60&v=4
tags: [test]
---
## 第一篇文章

View File

@ -1,11 +0,0 @@
---
slug: hola
title: Hola
author: Gao Wei
author_title: Docusaurus Core Team
author_url: https://github.com/wgao19
author_image_url: https://avatars1.githubusercontent.com/u/2055384?v=4
tags: [hola, docusaurus]
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View File

@ -1,17 +0,0 @@
---
slug: hello-world
title: Hello
author: Endilie Yacop Sucipto
author_title: Maintainer of Docusaurus
author_url: https://github.com/endiliey
author_image_url: https://avatars1.githubusercontent.com/u/17883920?s=460&v=4
tags: [hello, docusaurus]
---
Welcome to this blog. This blog is created with [**Docusaurus 2**](https://docusaurus.io/).
<!--truncate-->
This is a test post.
A whole bunch of other information.

View File

@ -1,13 +0,0 @@
---
slug: welcome
title: Welcome
author: Yangshun Tay
author_title: Front End Engineer @ Facebook
author_url: https://github.com/yangshun
author_image_url: https://avatars0.githubusercontent.com/u/1315101?s=400&v=4
tags: [facebook, hello, docusaurus]
---
Blog features are powered by the blog plugin. Simply add files to the `blog` directory. It supports tags as well!
Delete the whole directory if you don't want the blog features. As simple as that!

View File

@ -1,11 +0,0 @@
---
slug: last-post
title: Last Post
author: luffyZh
author_title: 最后一篇文章 @ Facebook
author_url: https://github.com/yangshun
author_image_url: https://avatars.githubusercontent.com/u/17840558?s=60&v=4
tags: [test]
---
## 我是最后一篇文章

View File

@ -1,6 +1,8 @@
---
sidebar_label: "介绍"
label: "介绍"
sidebar_position: 1
slug: /
---
# 关于GitLink
@ -53,7 +55,7 @@ GitLink确实开源是CCF官方指定的开源创新服务平台旨在
<p>DevOps引擎(Engine)使用及设置[6个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/docs/维基/维基也面管理">
<a class="card padding--lg cardContainer" href="/docs/维基/模板导入及导出">
<h2 class="text--truncate cardTitle" title="维基">维基</h2>
<p>维基(Wiki)使用及设置[2个文档]</p>
</a></article>
@ -63,7 +65,7 @@ GitLink确实开源是CCF官方指定的开源创新服务平台旨在
<p>Bot市场使用及设置[4个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/docs/第三方服务/服务简介">
<a class="card padding--lg cardContainer" href="/docs/第三方服务/跨平台代码同步">
<h2 class="text--truncate cardTitle" title="第三方服务">第三方服务</h2>
<p>第三方服务使用及设置[3个文档]</p>
</a></article>

View File

@ -4,96 +4,146 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula');
/** @type {import('@docusaurus/types').DocusaurusConfig} */
module.exports = {
title: 'gitlink',
tagline: 'gitlink帮助中心',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/icon.ico',
url: 'https://luffyzh.github.io',
tagline:'gitlink帮助中心',
url: 'https://boxyhq.com',
baseUrl: '/',
onBrokenLinks: 'ignore',
onBrokenMarkdownLinks: 'ignore',
favicon: 'img/icon.ico',
organizationName: 'luffyZh', // Usually your GitHub org/user name.
projectName: 'docusaurus-luffyzh-website', // Usually your repo name.
scripts: [],
// stylesheets: ['styles/dark-mode.css'],
themeConfig: {
algolia: {
apiKey: '0f9f28b9ab9efae89810921a351753b5',
indexName: 'github',
contextualSearch: true,
facetFilters: ['language:zh-CH'],
},
navbar: {
title: '',
logo: {
alt: 'gitlink',
src: 'img/gitlink.png',
},
items: [
{
type: 'doc',
docId: 'intro',
position: 'left',
label: '帮助中心',
}
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: '文档',
to: '/docs/intro',
},
],
},
{
title: 'Blog',
items: [
{
label: '博客',
to: '/blog',
},
],
},
{
title: '更多',
items: [
{
label: '掘金',
href: 'https://juejin.cn/user/96412752681079'
},
{
label: 'GitHub',
href: 'https://github.com/luffzh/docusaurus-luffyzh-website',
},
],
},
],
copyright: `<p>©Copyright 2023 CCF 开源发展委员会</p><p>Powered by Trustie& IntelliDE 京ICP备13000930号</p>`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
zoom: {
selector: '.markdown :not(em) > img',
config: {
background: {
light: 'rgb(255, 255, 255)',
dark: 'rgb(50, 50, 50)',
},
},
},
colorMode: {
defaultMode: 'light',
disableSwitch: false,
respectPrefersColorScheme: true,
},
navbar: {
style:"dark",
title: '',
logo: {
// width: '32px',
// height: '32px',
alt: 'gitlink',
src: 'img/gitlink.png'
// srcDark: 'img/logo-dark.png',
},
items: [
{
type: 'doc',
docId: 'intro',
position: 'left',
label: '帮助中心'
},
// {
// href: 'https://github.com/boxyhq',
// position: 'right',
// className: 'header-github-link',
// },
],
},
footer: {
style: 'dark',
logo:{
src:"img/gitlink.png"
},
links: [
{
title: '社区',
items: [
{
label: '网站首页',
to: 'https://www.gitlink.org.cn',
},
{
label: '关于我们',
to: 'https://www.gitlink.org.cn/aboutus',
},
{
label: '教学实践',
to: 'https://www.gitlink.org.cn/educoder',
},
{
label: '合作伙伴',
to: 'https://forum.trustie.net/forums/5030/detail',
},
],
},
{
title: '支持与服务',
items: [
{
label: 'API文档',
to: 'https://forgeplus.trustie.net/docs/api',
},
{
label: 'Git常用命令',
to: 'https://git-scm.com',
},
{
label: '引擎使用手册',
to: 'https://forum.gitlink.org.cn/forums/7487/detail',
},
{
label: '服务协议',
to: 'https://forum.trustie.net/forums/5029/detail',
},
],
},
{
title: '加入我们',
items: [
{
label: '官网邮箱gitlink@ccf.org.cn',
to:"https://www.gitlink.org.cn"
},
{
label:'QQ群',
to:'https://www.gitlink.org.cn'
},
{
label:'公众号',
to:'https://www.gitlink.org.cn'
}
],
},
],
copyright: `<p>©Copyright ${new Date().getFullYear()} CCF 开源发展委员会</p><p>Powered by Trustie& IntelliDE 京ICP备13000930号</p>`,
},
},
presets: [
[
//此为docusaurus的默认界面风格
'@docusaurus/preset-classic',
{
//此为docs的侧边栏修饰
docs: {
sidebarPath: require.resolve('./sidebars.js'),
//此为网页左下的Edit this page 链接地址
// sidebarPath: require.resolve('./sidebars.js'),
editUrl:'https://www.gitlink.org.cn/Gitlink/gitlink_help_center/tree/master/',
routeBasePath: "/",
},
//修饰的css文件格式
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
plugins: [
['@cmfcmf/docusaurus-search-local', {}],
],
i18n: {
defaultLocale: 'zh-cn',
locales: ['zh-cn'],

25067
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +1,30 @@
{
"name": "my-website",
"name": "docusaurus",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"dev": "docusaurus start --port 3000",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"gh-pages": "sh ./deploy.sh",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "2.0.0-beta.3",
"@docusaurus/preset-classic": "2.0.0-beta.3",
"@docusaurus/theme-search-algolia": "^2.0.0-beta.5",
"@mdx-js/react": "^1.6.21",
"@svgr/webpack": "^5.5.0",
"clsx": "^1.1.1",
"file-loader": "^6.2.0",
"prism-react-renderer": "^1.2.1",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"url-loader": "^4.1.1"
"@cmfcmf/docusaurus-search-local": "1.1.0",
"@docusaurus/core": "2.4.1",
"@docusaurus/plugin-client-redirects": "2.4.1",
"@docusaurus/preset-classic": "2.4.1",
"@mdx-js/react": "1.6.22",
"clsx": "1.2.1",
"docusaurus-gtm-plugin": "0.0.2",
"docusaurus-plugin-image-zoom": "1.0.1",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-modal": "3.16.1"
},
"browserslist": {
"production": [
@ -38,5 +37,8 @@
"last 1 firefox version",
"last 1 safari version"
]
},
"engines": {
"node": ">=14.18.1 <=18.x"
}
}
}

4
prettier.config.js Normal file
View File

@ -0,0 +1,4 @@
module.exports = {
singleQuote: true,
trailingComma: 'es5',
};

View File

@ -1,26 +1,9 @@
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
module.exports = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
// But you can create a sidebar manually
/*
tutorialSidebar: [
DocsSidebar: [
{
type: 'category',
label: 'Tutorial',
items: ['hello'],
},
type: 'doc',
id: 'index',
label: 'Docs',
}
],
*/
};

View File

@ -1,64 +0,0 @@
import React from 'react';
import clsx from 'clsx';
import styles from './HomepageFeatures.module.css';
const FeatureList = [
{
title: 'next-antd-scaffold',
repo: 'https://github.com/luffyZh/next-antd-scaffold',
src: require('../../static/img/next-antd-scaffold.jpg').default,
description: (
<>
A simple scaffold based on Next.js for quick use with ant-design, redux, redux-saga, fetch and pm2.
</>
),
},
{
title: 'dynamic-antd-theme',
repo: 'https://github.com/luffyZh/dynamic-antd-theme',
src: require('../../static/img/dynamic-antd-theme.png').default,
description: (
<>
A simple plugin to dynamic change ant-design theme whether less or css.
</>
),
},
{
title: 'mini-dynamic-antd-theme',
repo: 'https://github.com/luffyZh/mini-dynamic-antd-theme',
src: require('../../static/img/mini-dynamic-antd-theme.png').default,
description: (
<>
A simple plugin to dynamic change ant-design || ant-design-vue theme whether less or css.
</>
),
},
];
function Feature({src, title, description, repo}) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<img src={src} className={styles.featureSvg} alt={title} />
</div>
<div className="text--center padding-horiz--md">
<h3><a href={repo} target="_blank">{title}</a></h3>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures() {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}

View File

@ -1,13 +0,0 @@
/* stylelint-disable docusaurus/copyright-header */
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
width: 100%;
height: 200px;
}

View File

@ -43,3 +43,101 @@ html[data-theme=light] .menu{
html[data-theme='dark'] .docusaurus-highlight-code-line {
background-color: rgba(0, 0, 0, 0.3);
}
.footer{
height: 473px;
position: relative;
background: #1e1e1e;
}
.container{
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.footer__bottom .margin-bottom--sm{
position: absolute;
margin-top: -150px;
top:50%
}
.footer__links .footer__title{
height: 25px;
font-size: 18px;
font-weight: 600;
color: #fff;
line-height: 25px;
margin-bottom: 20px;
}
.footer__links .footer__col:last-child .footer__items:last-child{
display: flex;
flex-wrap: wrap;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item{
width: 50%;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(2){
background-image: url(../../static/img/gitlink-qq.png);
background-size: 100% 100%;
height: 90px;
width: 90px;
background-color: #fff;
border-radius: 4px;
position: relative;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(3){
background-image: url(../../static/img/gongzhong.png);
background-size: 100% 100%;
height: 90px;
width: 90px;
background-color: #fff;
border-radius: 4px;
position: relative;
margin-left: 34px;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(2) a,
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(3) a{
position: absolute;
top: 95px;
left: 50%;
margin-left: -17px;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:first-child{
width: 100%;
}
.container .footer__links{
margin-left: 420px;
}
.container .footer__links .footer__col .footer__item{
color: #bdc2d1;
font-size: 14px;
font-weight: 400;
line-height: 20px;
height: 20px;
margin-bottom: 15px;
}
.footer__bottom .margin-bottom--sm img{
width: 300px;
max-width: unset;
}
.container .footer__copyright{
position: absolute;
width: 100%;
left: 0px;
font-size: 12px;
font-weight: 400;
color: #bdc2d1;
line-height: 28px;
padding: 15px 0;
text-align: center;
background-color: #1b212c;
}
.container .footer__copyright p{
margin-bottom: 0px!important;
}
.aa-Form{
width: unset;
flex:1;
}
.widget{
display: none!important;
opacity: 0;
}

149
src/pages/_index.js Normal file
View File

@ -0,0 +1,149 @@
import React from 'react';
import Layout from '@theme/Layout';
import Link from '@docusaurus/Link';
import clsx from 'clsx';
import NewsSection from '../components/NewsSection';
import HeroSection from '../components/HeroSection';
import ProductsSection from '../components/ProductsSection';
import InvestorsSection from '../components/InvestorsSection';
import CustomersSection from '../components/CustomersSection';
import DeveloperCommunitySection from '../components/DeveloperCommunitySection';
import FeatureSection from '../components/FeatureSection';
const Icon3 = require('../../static/img/home-buildingblocks.svg').default;
const title = 'BoxyHQ';
const description = 'Security Building Blocks for Developers';
const IndexPage = () => {
return (
<Layout title={title} description={description}>
<HeroSection
title="Security Building Blocks for Developers"
description="Reduce Time to Market without sacrificing your security posture! BoxyHQs suite of APIs for security and privacy helps engineering teams build and ship compliant cloud applications faster."
image="/img/home-hero.svg"
buttons={[
{
title: 'Get Started',
href: 'https://boxyhq.com/docs',
className: 'button--primary',
},
{
title: 'Book a demo',
href: 'https://meetings.hubspot.com/deepakprab/demo?__hstc=213510283.9a563789bb583fca1e9fb20a629c5c94.1651597904536.1664893584285.1664895920328.169&__hssc=213510283.1.1664895920328&__hsfp=498882655',
className: 'button--primary button--outline',
},
]}
/>
{/* <CustomersSection />
<ProductsSection /> */}
<section className="page__section">
<div className="container">
<div className="row" style={{ gap: '10px', marginTop: '20px' }}>
<div className="col col--5 col--offset-1">
<div className="col-demo">
<div className="card-demo" style={{}}>
<div className="card">
<div className="card__header">
<h3
className="text--center"
style={{ whiteSpace: 'pre-line' }}
>
The Importance of Developer Security
</h3>
</div>
<div className="card__body">
<p className="text--center">
Cyber crimes are predicted to cost $10.5 trillion
annually by 2025, but time pressures often cause 70% of
development teams to skip crucial security steps.
</p>
<p>
In today's world, it is no longer sufficient to
prioritize productivity alone. The faster a developer
moves, the more potential security holes will be left
unaddressed.{' '}
</p>
</div>
<div className="card__footer">
<Link
className={clsx('button button--primary button--block')}
href="https://meetings.hubspot.com/deepakprab/demo?__hstc=213510283.9a563789bb583fca1e9fb20a629c5c94.1651597904536.1664893584285.1664895920328.169&__hssc=213510283.1.1664895920328&__hsfp=498882655"
>
Book a free developer-security session
</Link>
</div>
</div>
</div>
</div>
</div>
<div className="col col--5">
<div className="col-demo">
<div className="card-demo">
<div className="card">
<div className="card__header">
<h3
className="text--center"
style={{ whiteSpace: 'pre-line' }}
>
Build or buy?
</h3>
</div>
<div className="card__body">
<p className="text--center">
Save time and money with BoxyHQ's free open-source
solution. Available under an Apache 2.0 license, our
solutions make it easy for developers to collaborate and
innovate, without the need for custom building or
expensive fees.
</p>
<p className="text--center">
Our solutions run in your environment, giving you full
control. We simply provide the building blocks to help
you succeed.
</p>
</div>
<div className="card__footer">
<Link
className={clsx('button button--primary button--block')}
href="mailto:hello@boxyhq.com"
>
Contact Us
</Link>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<FeatureSection
title="Developer Security Tools"
btnLink="https://awesome-oss-devsec.boxyhq.com/"
btnText="Read More"
image={Icon3}
direction="right"
>
<p>
We have curated a list of awesome open-source developer security
tools.
</p>
<p>
It includes security principles and controls relevant to popular
compliance certifications (like ISO27001, SOC2, MVSP, etc.)
</p>
</FeatureSection>
{/* <NewsSection />
<InvestorsSection />
<DeveloperCommunitySection /> */}
</Layout>
);
};
export default IndexPage;

View File

@ -1,33 +0,0 @@
import React from 'react';
import clsx from 'clsx';
import Layout from '@theme/Layout';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import styles from './index.module.css';
import HomepageFeatures from '../components/HomepageFeatures';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<h1 className="hero__title">{siteConfig.title}</h1>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<p>车到山前必有路船到桥头自然直</p>
</div>
</header>
);
}
export default function Home() {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}

View File

@ -1,26 +0,0 @@
/* stylelint-disable docusaurus/copyright-header */
/**
* CSS files with the .module.css suffix will be treated as CSS modules
* and scoped locally.
*/
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
background-color: #25c2a0;
}
@media screen and (max-width: 966px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}

View File

@ -1,7 +0,0 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

View File

@ -0,0 +1,45 @@
import React from 'react';
import Link from '@docusaurus/Link';
import styles from './styles.module.css';
const Author = ({ authors, name, title, url, image }) => {
return (
<div className="avatar">
{authors && authors.length > 1 ? (
<>
<a href={authors[0].url} target="_blank">
<img
className="avatar__photo"
src={authors[0].image_url}
alt={authors[0].name}
/>
</a>
<a href={authors[1].url} target="_blank">
<img
className="avatar__photo"
src={authors[1].image_url}
alt={authors[1].name}
/>
</a>
</>
) : (
<>
<img className="avatar__photo" src={image} alt={name} />
<div className="avatar__intro">
<div className="avatar__name">
<Link to={url} className={styles.authorUrl}>
{name}
</Link>
</div>
<small className={`avatar__subtitle ${styles.avatarSubtitle}`}>
{title}
</small>
</div>
</>
)}
</div>
);
};
export default Author;

View File

@ -0,0 +1,8 @@
.authorUrl {
color: var(--theme-text-color);
}
.avatarSubtitle {
overflow: hidden;
height: 25px;
}

View File

@ -0,0 +1,49 @@
import React from 'react';
import Link from '@docusaurus/Link';
import styles from './styles.module.css';
import Author from '../Author';
const ListItem = ({ content }) => {
const { frontMatter, metadata } = content;
const { authors, author, author_title, author_url, author_image_url } =
frontMatter;
const imageUrl = frontMatter.image ?? '/img/default-blog-post-banner.png';
return (
<div className="col col--4" style={{ marginBottom: '20px' }}>
<div className="col-demo">
<div className="card-demo">
<div className="card" style={{ border: '1px solid #ddd' }}>
<div className={`card__image ${styles.cardImage}`}>
<Link to={metadata.permalink}>
<img
src={imageUrl}
alt={metadata.title}
title={metadata.title}
/>
</Link>
</div>
<div className="card__body">
<small>{metadata.formattedDate}</small>
<Link to={metadata.permalink}>
<h3 className={styles.title}>{metadata.title}</h3>
</Link>
<Author
authors={authors}
name={author}
title={author_title}
url={author_url}
image={author_image_url}
/>
</div>
</div>
</div>
</div>
</div>
);
};
export default ListItem;

View File

@ -0,0 +1,15 @@
.title {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
min-height: 110px;
overflow: hidden;
color: var(--theme-text-color);
font-size: 1.3rem;
margin: 0;
}
.cardImage {
height: 200px;
overflow: hidden;
}

View File

@ -0,0 +1,33 @@
import React from 'react';
import { ThemeClassNames } from '@docusaurus/theme-common';
import Layout from '@theme/Layout';
import styles from './styles.module.css';
import ListItem from './ListItem';
export default function BlogListPage(props) {
const { metadata, items } = props;
const { blogDescription, blogTitle } = metadata;
const posts = [...items];
return (
<Layout
title={blogTitle}
description={blogDescription}
wrapperClassName={ThemeClassNames.wrapper.blogPages}
pageClassName={ThemeClassNames.page.blogListPage}
>
<main className={styles.root}>
<h1>{blogTitle}</h1>
<h2 className={styles.description}>{blogDescription}</h2>
<div className="row">
{posts.map(({ content }) => (
<ListItem key={content.metadata.permalink} content={content} />
))}
</div>
</main>
</Layout>
);
}

View File

@ -0,0 +1,16 @@
.root {
max-width: var(--ifm-container-width);
margin: 2rem auto;
padding: 0 1rem;
}
.description {
line-height: 35px;
font-size: 1.2rem;
font-weight: normal;
}
@media screen and (min-width: 900px) {
.root {
margin-top: 5rem;
}
}

View File

@ -0,0 +1,14 @@
import React from 'react';
import CodeBlock from '@theme-original/CodeBlock';
import Prism from 'prism-react-renderer/prism';
(typeof global !== 'undefined' ? global : window).Prism = Prism;
require('prismjs/components/prism-ruby');
export default function CodeBlockWrapper(props) {
return (
<>
<CodeBlock {...props} />
</>
);
}

View File

@ -0,0 +1,4 @@
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW/RH98SOSzXTe+piYUIVIl2mJwBE
EUcYsFvjnHD0tZgSDdFQPBU26hGh6ttTUsnSkXpIWpORQVck9CGdKeutgw==
-----END PUBLIC KEY-----

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="420px" height="842px" viewBox="0 0 420 842" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background: #FFFFFF;">
<!-- Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch -->
<title>Artboard 4</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4">
<g id="HtmlToSvg" transform="translate(-5.000000, -5.000000)">
<g id="Created-by-HiQPdf">
<g id="Group">
<g id="second-one" transform="translate(24.000000, 363.000000)">
<g id="Group-3">
<path d="M381,0 C382.657,0 384,1.343 384,3 L384,212 C384,213.657 382.657,215 381,215 L3,215 C1.343,215 0,213.657 0,212 L0,3 C0,1.343 1.343,0 3,0 L381,0 Z" id="Shape" fill="#F5F5F5"></path>
<g id="Group" transform="translate(12.000000, 121.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 47.000000)" fill="#395185">
<path d="M19.8409684,21.0000692 C20.4809758,21.0000692 20.9999872,20.4811399 20.9999872,19.8410504 L20.9999872,1.15901882 C20.9999872,0.51884734 20.4809758,0 19.8409684,0 L1.15901882,0 C0.518765309,0 0,0.51884734 0,1.15901882 L0,19.8410504 C0,20.4811399 0.518765309,21.0000692 1.15901882,21.0000692 L19.8409684,21.0000692" id="Shape"></path>
</g>
<g id="Group" transform="translate(28.449214, 50.117186)" fill="#FFFFFF">
<path d="M6.04036741,17.8828836 L6.04036741,9.75055656 L8.77011965,9.75055656 L9.17879909,6.58128114 L6.04036741,6.58128114 L6.04036741,4.5577355 C6.04036741,3.6401345 6.29523835,3.01481066 7.61110083,3.01481066 L9.28937715,3.01407238 L9.28937715,0.179484266 C8.9989867,0.14084757 8.00279981,0.054550748 6.84386302,0.054550748 C4.42410668,0.054550748 2.76756863,1.5315225 2.76756863,4.24396616 L2.76756863,6.58128114 L0.0308437312,6.58128114 L0.0308437312,9.75055656 L2.76756863,9.75055656 L2.76756863,17.8828836 L6.04036741,17.8828836" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 88.000000)" fill="#55ACEE">
<path d="M1.0664056,0 L19.9335816,0 C20.5225656,0 20.9999872,0.477446193 20.9999872,1.0664056 L20.9999872,19.9335816 C20.9999872,20.5225656 20.5225656,20.9999872 19.9335816,20.9999872 L1.0664056,20.9999872 C0.477446193,20.9999872 0,20.5225656 0,19.9335816 L0,1.0664056 C0,0.477446193 0.477446193,0 1.0664056,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(22.953123, 92.347654)" fill="#FFFFFF">
<path d="M15.1674868,1.45563544 C14.6094286,1.70252474 14.0096985,1.86939261 13.3801911,1.94444296 C14.0226594,1.56023342 14.5160771,0.951881842 14.7483894,0.227029549 C14.1471828,0.582725035 13.4812535,0.8410823 12.7724219,0.980330262 C12.204766,0.377007192 11.3960204,0 10.50106,0 C8.78250637,0 7.3891244,1.38987923 7.3891244,3.10420006 C7.3891244,3.3474964 7.41676892,3.58442711 7.46976107,3.81162072 C4.88355523,3.68216729 2.59066014,2.44630984 1.055881,0.568230122 C0.78802452,1.0267107 0.634568754,1.55995452 0.634568754,2.12884909 C0.634568754,3.20581211 1.18398092,4.15594669 2.01894369,4.71261041 C1.50881627,4.69653229 1.02902398,4.55691519 0.609442597,4.32435674 C0.609221113,4.33731767 0.609221113,4.35036063 0.609221113,4.36340359 C0.609221113,5.86744564 1.68185288,7.12211285 3.10538951,7.4072533 C2.84425139,7.47821029 2.56935664,7.5161087 2.28552048,7.5161087 C2.08501982,7.5161087 1.89006447,7.49674934 1.70010482,7.46049155 C2.09606122,8.69374861 3.24525271,9.59125197 4.60693782,9.61635351 C3.54195956,10.4488882 2.20019163,10.9451769 0.742308532,10.9451769 C0.491153607,10.9451769 0.243443992,10.9304933 0,10.9017824 C1.37710697,11.7825514 3.0128009,12.2964769 4.77009787,12.2964769 C10.4937592,12.2964769 13.6236597,7.56631179 13.6236597,3.46416117 C13.6236597,3.32956438 13.6207065,3.19568126 13.6147183,3.06257743 C14.2226515,2.62490817 14.7502762,2.07815381 15.1674868,1.45563544" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 129.000000)" fill="#D53F71">
<path d="M20.1250023,0 C20.6082716,0 21.0000024,0.391751006 21.0000024,0.8750001 L21.0000024,20.1250023 C21.0000024,20.6082716 20.6082716,21.0000024 20.1250023,21.0000024 L0.8750001,21.0000024 C0.391751006,21.0000024 0,20.6082716 0,20.1250023 L0,0.8750001 C0,0.391751006 0.391751006,0 0.8750001,0 L20.1250023,0 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(22.692000, 131.692000)" fill="#FFFFFF">
<path d="M0,4.51006686 C0,2.01922427 2.01943965,0 4.51006686,0 L11.1052993,0 C13.5961554,0 15.6153864,2.01943965 15.6153864,4.51006686 L15.6153864,11.1052993 C15.6153864,13.5961554 13.5959535,15.6153864 11.1052993,15.6153864 L4.51006686,15.6153864 C2.01922427,15.6153864 0,13.5959535 0,11.1052993 L0,4.51006686 M1.4134617,4.64466207 C1.4134617,2.86011956 2.86024744,1.4134617 4.64466207,1.4134617 L10.9707513,1.4134617 C12.7552803,1.4134617 14.2019247,2.86024744 14.2019247,4.64466207 L14.2019247,10.9707513 C14.2019247,12.7552803 12.7551457,14.2019247 10.9707513,14.2019247 L4.64466207,14.2019247 C2.86011956,14.2019247 1.4134617,12.7551457 1.4134617,10.9707513 L1.4134617,4.64466207" id="Shape"></path>
</g>
<g id="Group" transform="translate(26.528539, 135.528539)" fill="#FFFFFF">
<path d="M3.9711543,7.9423086 C6.1643757,7.9423086 7.9423086,6.1643757 7.9423086,3.9711543 C7.9423086,1.77794636 6.1643757,0 3.9711543,0 C1.77794636,0 0,1.77794636 0,3.9711543 C0,6.1643757 1.77794636,7.9423086 3.9711543,7.9423086 M3.9711543,6.5288469 C5.383741,6.5288469 6.5288469,5.383741 6.5288469,3.9711543 C6.5288469,2.55858106 5.383741,1.4134617 3.9711543,1.4134617 C2.55858106,1.4134617 1.4134617,2.55858106 1.4134617,3.9711543 C1.4134617,5.383741 2.55858106,6.5288469 3.9711543,6.5288469" id="Shape"></path>
</g>
<g id="Group" transform="translate(33.663155, 134.384308)" fill="#FFFFFF">
<path d="M1.8846156,0.9423078 C1.8846156,1.46273094 1.46273094,1.8846156 0.9423078,1.8846156 C0.421884664,1.8846156 0,1.46273094 0,0.9423078 C0,0.421884664 0.421884664,0 0.9423078,0 C1.46273094,0 1.8846156,0.421884664 1.8846156,0.9423078" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 170.000000)" fill="#231F20">
<path d="M1.0664056,0 L19.9335816,0 C20.5225656,0 20.9999872,0.477446193 20.9999872,1.0664056 L20.9999872,19.9335816 C20.9999872,20.5225656 20.5225656,20.9999872 19.9335816,20.9999872 L1.0664056,20.9999872 C0.477446193,20.9999872 0,20.5225656 0,19.9335816 L0,1.0664056 C0,0.477446193 0.477446193,0 1.0664056,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(32.714401, 174.758000)" fill="#7F7F7F">
<path d="M0.445921603,0.0612928103 C0.240105322,-0.041772748 0.0716952688,0.062456669 0.0716952688,0.292898962 L0.0716952688,9.46008408 L3.82823204,11.3409775 C4.24166929,11.5478601 4.57676674,11.402993 4.57676674,11.0174464 L4.57676674,2.18971624 C4.57676674,2.15286783 4.55584879,2.11898074 4.52295427,2.10242684 L0.445921603,0.0612928103" id="Shape"></path>
</g>
<g id="Group" transform="translate(28.202685, 174.758000)" fill="#ABACAD">
<path d="M0.0784382334,7.20449678 L4.36414187,0.230697984 C4.48472774,0.0343948618 4.75182132,-0.041772748 4.9576376,0.0612928103 L9.03926402,2.10475653 C9.0657601,2.1180784 9.07519369,2.15118619 9.05968979,2.17640258 L4.58341127,9.46008408 L0.0784382334,7.20449678" id="Shape"></path>
</g>
<g id="Group" transform="translate(24.019094, 174.840031)" fill="#D8D8D8">
<path d="M0.380692034,0.104182085 C0.0375637271,-0.0676804158 -0.0786629989,0.0594381669 0.122409418,0.386609764 L4.26202943,7.12246558 L8.76700247,9.37805288 L4.27171732,2.06319952 C4.26538451,2.05285539 4.25621342,2.04457844 4.2453689,2.03914798 L0.380692034,0.104182085" id="Shape"></path>
</g>
<g id="Group" transform="translate(23.773000, 174.758000)" fill="#FFFFFF">
<path d="M4.50812303,11.0174464 C4.50812303,11.4015165 4.22737125,11.5751765 3.88436599,11.4034032 L0.377285278,9.64744334 C0.171433724,9.54433012 0.00303408799,9.27149435 0.00303408799,9.04106871 L0.00303408799,0.432562002 C0.00303408799,0.125304299 0.22761033,-0.0137110229 0.502035046,0.123753089 L4.4838418,2.1172991 C4.49869765,2.12480495 4.50812303,2.13993151 4.50812303,2.1564854 L4.50812303,11.0174464" id="Shape"></path>
</g>
<g id="social-networks" transform="translate(18.000000, 18.000000)">
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="36" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="77" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="118" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="159" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="305" y="77" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="305" y="36" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#52CA6F" x="305" y="118" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="305" y="159" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="77" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="36" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="118" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="159" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#B3B3B3" x="0" y="0" width="138" height="9" rx="4.5"></rect>
</g>
</g>
</g>
<g id="Group-2">
<g id="Group" stroke="#F5F5F5" fill="#FFFFFF">
<polygon id="Shape" points="435 0 435 73 0 73 0 0"></polygon>
</g>
<g id="Group" transform="translate(29.000000, 32.000000)" fill="#CCCCCC">
<path d="M12.5,11 L11.71,11 L11.43,10.73 C12.41,9.59 13,8.11 13,6.5 C13,2.91 10.09,0 6.5,0 C2.91,0 0,2.91 0,6.5 C0,10.09 2.91,13 6.5,13 C8.11,13 9.59,12.41 10.73,11.43 L11,11.71 L11,12.5 L16,17.49 L17.49,16 L12.5,11 M6.5,11 C4.01,11 2,8.99 2,6.5 C2,4.01 4.01,2 6.5,2 C8.99,2 11,4.01 11,6.5 C11,8.99 8.99,11 6.5,11" id="Shape"></path>
</g>
</g>
<g id="topone" transform="translate(24.000000, 96.000000)">
<g id="top-one" fill="#F5F5F5">
<path d="M381,0 C382.657,0 384,1.343 384,3 L384,253 C384,254.657 382.657,256 381,256 L3,256 C1.343,256 0,254.657 0,253 L0,3 C0,1.343 1.343,0 3,0 L381,0 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 88.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 80.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 129.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 121.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 170.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 162.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 211.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 203.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(136.000000, 88.000000)"></g>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="95" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="218" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C6C6C6" x="323" y="54" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="136" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="177" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="56" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="97" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="138" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="179" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="219" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="97" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="56" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="138" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="179" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="219" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="97" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="56" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="138" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="179" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="219" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#B3B3B3" x="18" y="15" width="110" height="9" rx="4.5"></rect>
</g>
<g id="bottom-one" transform="translate(24.000000, 594.000000)">
<g id="top-one" fill="#F5F5F5">
<path d="M381,0 C382.657,0 384,1.343 384,3 L384,253 C384,254.657 382.657,256 381,256 L3,256 C1.343,256 0,254.657 0,253 L0,3 C0,1.343 1.343,0 3,0 L381,0 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 88.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 80.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(12.000000, 40.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 129.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 121.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 170.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 162.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 211.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 203.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(136.000000, 88.000000)"></g>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="95" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="218" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#52CA6F" x="323" y="54" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="136" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="177" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="56" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="97" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="138" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="179" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="219" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="97" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="56" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="138" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="179" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="219" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="97" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="56" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="138" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="179" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="219" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#B3B3B3" x="18" y="15" width="110" height="9" rx="4.5"></rect>
</g>
</g>
</g>
</g>
<g id="default-tlds" transform="translate(59.000000, 29.000000)" fill="#B3B3B3" fill-opacity="0.699999988">
<rect id="Rectangle" x="0" y="0" width="123" height="13" rx="6.5"></rect>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

260
static/images/devices/webapp.svg Executable file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 62 KiB

BIN
static/images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
static/images/logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
static/img/gitlink-qq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
static/img/gongzhong.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

4
static/robots.txt Normal file
View File

@ -0,0 +1,4 @@
# deliberately empty
Sitemap: https://boxyhq.com/sitemap.xml
User-agent: *
Disallow:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

10416
yarn.lock

File diff suppressed because it is too large Load Diff