From e5701df8c6e23932a60305d884de056e8d7b8218 Mon Sep 17 00:00:00 2001 From: Niraj Tolia Date: Wed, 16 Nov 2022 14:48:43 -0800 Subject: [PATCH] Add docs landing page back (#1537) ## Description This reverts commit 18bc6b05e10df44083ed67010fc62ea9b0a2efd1 in prep for bringing the blog back to docs. ## Type of change - [x] :world_map: Documentation --- docs/docs/intro.md | 6 +- docs/docusaurus.config.js | 26 +++++++- docs/src/components/HomepageFeatures/index.js | 61 +++++++++++++++++++ docs/src/pages/index.js | 40 ++++++++++++ docs/src/pages/index.module.css | 25 ++++++++ docs/static/img/data.svg | 1 + docs/static/img/savings.svg | 1 + docs/static/img/security.svg | 1 + 8 files changed, 155 insertions(+), 6 deletions(-) create mode 100644 docs/src/components/HomepageFeatures/index.js create mode 100644 docs/src/pages/index.js create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/static/img/data.svg create mode 100644 docs/static/img/savings.svg create mode 100644 docs/static/img/security.svg diff --git a/docs/docs/intro.md b/docs/docs/intro.md index 40852ed2d..911c06cb9 100644 --- a/docs/docs/intro.md +++ b/docs/docs/intro.md @@ -1,8 +1,4 @@ ---- -slug: / ---- - -# Corso introduction +# Introduction ## Overview diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 53b909b91..59715949a 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -68,13 +68,19 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ navbar: { - title: 'Docs', + title: '', logo: { alt: 'Corso Logo', src: '/img/corso_horizontal_logo.svg', srcDark: 'img/corso_horizontal_logo_white.svg', }, items: [ + { + type: 'doc', + docId: 'intro', + position: 'left', + label: 'Docs', + }, { href: 'https://github.com/alcionai/corso', label: 'GitHub', @@ -90,6 +96,15 @@ const config = { height: 60, }, links: [ + { + title: 'Resources', + items: [ + { + label: 'Docs', + to: '/intro', + }, + ], + }, { title: 'Community', items: [ @@ -140,6 +155,15 @@ const config = { }, }, + image: 'img/cloudbackup.png', + + metadata : [ + {name: 'twitter:card', content: 'summary_large_image'}, + {name: 'twitter:site', content: '@corsobackup'}, + {name: 'twitter:title', content: 'Corso Documentation: Free, Secure, and Open-Source Backup for Microsoft 365'}, + {name: 'twitter:description', content: 'Documentation for Corso, an open-source tool, that protects Microsoft 365 data by securely and efficiently backing up all business-critical data to object storage.'}, + ], + prism: { theme: lightCodeTheme, darkTheme: darkCodeTheme, diff --git a/docs/src/components/HomepageFeatures/index.js b/docs/src/components/HomepageFeatures/index.js new file mode 100644 index 000000000..0ec565202 --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.js @@ -0,0 +1,61 @@ +import React from 'react'; +import clsx from 'clsx'; +import styles from './styles.module.css'; + +const FeatureList = [ + { + title: 'Secure', + Svg: require('@site/static/img/security.svg').default, + description: ( + <> + Corso provides secure data backup that protects customers against accidental data loss, service provider downtime, and malicious threats including ransomware attacks. + + ), + }, + { + title: 'Robust', + Svg: require('@site/static/img/data.svg').default, + description: ( + <> + Corso, purpose-built for M365 protection, provides easy-to-use comprehensive backup and restore workflows that reduce backup time, improve time-to-recovery, reduce admin overhead, and replace unreliable scripts or workarounds. + + ), + }, + { + title: 'Low Cost', + Svg: require('@site/static/img/savings.svg').default, + description: ( + <> + Corso, a 100% open-source tool, provides a free alternative for cost-conscious teams. It further reduces storage costs by supporting flexible retention policies and efficiently compressing and deduplicating data before storing it in low-cost cloud object storage. + + ), + }, +]; + +function Feature({Svg, title, description}) { + return ( +
+
+ +
+
+

{title}

+

{description}

+
+
+ ); +} + +export default function HomepageFeatures() { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ); +} diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js new file mode 100644 index 000000000..8e34c1deb --- /dev/null +++ b/docs/src/pages/index.js @@ -0,0 +1,40 @@ +import React from 'react'; +import clsx from 'clsx'; +import Layout from '@theme/Layout'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import styles from './index.module.css'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( +
+
+

{siteConfig.title}

+

{siteConfig.tagline}

+
+ + Corso Quickstart - 5min ⏱️ + +
+
+
+ ); +} + +export default function Home() { + const {siteConfig} = useDocusaurusContext(); + return ( + + +
+ +
+
+ ); +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 000000000..ce16907ce --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,25 @@ +/** + * 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; + --ifm-hero-text-color: #ffffff; + --ifm-color-primary: #4f46e5; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/docs/static/img/data.svg b/docs/static/img/data.svg new file mode 100644 index 000000000..50a0df552 --- /dev/null +++ b/docs/static/img/data.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/img/savings.svg b/docs/static/img/savings.svg new file mode 100644 index 000000000..bda751ddc --- /dev/null +++ b/docs/static/img/savings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/img/security.svg b/docs/static/img/security.svg new file mode 100644 index 000000000..e79e317ba --- /dev/null +++ b/docs/static/img/security.svg @@ -0,0 +1 @@ +