/** * 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 from 'react'; import Helmet from 'react-helmet'; import classnames from 'classnames'; import styles from './styles.css'; 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. ), }, ]; export default class Home extends React.Component { constructor(props) { super(props); this.state = {featureIndex: 0}; } componentDidMount() { window.setInterval(() => { this.setState(prevState => ({ featureIndex: (prevState.featureIndex + 1) % FEATURES.length, })); }, 3000); } render() { return (
Docusaurus

Docusaurus

Easy to maintain Open Source
Documentation websites

Get Started GitHub
    {FEATURES.map((feature, index) => (
  • { this.setState({ featureIndex: index, }); }}> {feature.title}
  • ))}
{(() => { const feature = FEATURES[this.state.featureIndex]; return (

{feature.title}

{feature.description}

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

{quote.name}

{quote.title}

{quote.text}

))}
); } }