/** * Copyright (c) 2017-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import React, {useEffect, useState} from 'react'; import Helmet from 'react-helmet'; import classnames from 'classnames'; import styles from './styles.module.css'; const FEATURE_INTERVAL = 3000; const FEATURES = [ { title: 'Powered by Markdown', description: ( <> Save time and focus on your projects documentation. Simply write docs and blog posts with Markdown and Docusaurus will publish a set of static html files ready to serve. ), icon: '/img/markdown.png', }, { title: 'Built Using React', description: ( <> Extend or customize your project's layout by reusing React. Docusaurus can be extended while reusing the same header and footer. ), icon: '/img/react.svg', }, { title: 'Ready for Translations', description: ( <> Localization comes pre-configured. Use Crowdin to translate your docs into over 70 languages. ), icon: '/img/translation.svg', }, { title: 'Document Versioning', description: ( <> Support users on all versions of your project. Document versioning helps you keep documentation in sync with project releases. ), icon: '/img/versioning.svg', }, { title: 'Document Search', description: ( <> Make it easy for your community to find what they need in your documentation. We proudly support Algolia documentation search. ), icon: '/img/search.svg', }, ]; const QUOTES = [ { thumbnail: '/img/christopher-chedeau.jpg', name: 'Christopher "vjeux" Chedeau', title: 'Lead Prettier Developer', text: (

I've helped open source many projects at Facebook and every one needed a website. They all had very similar constraints: the documentation should be written in markdown and be deployed via GitHub pages. None of the existing solutions were great, so I hacked my own and then forked it whenever we needed a new website. I’m so glad that Docusaurus now exists so that I don’t have to spend a week each time spinning up a new one.

), }, { thumbnail: '/img/hector-ramos.png', name: 'Hector Ramos', title: 'Lead React Native Advocate', text: (

Open source contributions to the React Native docs have skyrocketed after our move to Docusaurus. The docs are now hosted on a small repo in plain markdown, with none of the clutter that a typical static site generator would require. Thanks Slash!

), }, { thumbnail: '/img/ricky-vetter.jpg', name: 'Ricky Vetter', title: 'ReasonReact Developer', text: (

Docusaurus has been a great choice for the ReasonML family of projects. It makes our documentation consistent, i18n-friendly, easy to maintain, and friendly for new contributors.

), }, ]; function Home() { const [featureIndex, setFeatureIndex] = useState(0); useEffect( () => { const timer = window.setTimeout(() => { setFeatureIndex( prevFeatureIndex => (prevFeatureIndex + 1) % FEATURES.length, ); }, FEATURE_INTERVAL); return () => { window.clearTimeout(timer); }; }, [featureIndex], ); return (
Docusaurus

Docusaurus

Easy to maintain Open Source
Documentation websites

Get Started GitHub

Features

    {FEATURES.map((feature, index) => (
  • { setFeatureIndex(index); }}>
  • ))}
{(() => { const feature = FEATURES[featureIndex]; return (
{feature.title}

{feature.title}

{feature.description}

); })()}
{QUOTES.map(quote => (
{quote.name}

{quote.name}

{quote.title}

{quote.text}

))}
); } export default Home;