/react-static

⚛️ 🚀 A progressive static site generator for React.

Primary LanguageJavaScriptMIT LicenseMIT

React Static v6 is under active development on the v6 branch! The docs below are for the stable 5.x.x version.

React Static Logo

Travis CI Build Status David Dependancy Status npm package v npm package dm Join the community on Spectrum Github Stars Twitter Follow



React Static

A progressive static-site generator for React.

Read the introduction article on Medium

React-Static is a fast, lightweight, and powerful framework for building static-progressive React applications and websites. It's been carefully designed to meet the highest standards of SEO, site performance, and user/developer experience.

Sponsored By GraphCMS

Features

  • ⚛️ 100% React (or Preact!)
  • 🚀 Blazing fast builds and performance.
  • 🚚 Data Agnostic. Supply your site with data from anywhere, however you want.
  • ✂️ Automatic code and data splitting for routes!
  • 💥 Instant page views via PRPL pattern.
  • 🎯 Built for SEO.
  • 🥇 React-first developer experience.
  • 😌 Painless project setup & migration.
  • 💯 Supports 100% of the React ecosystem. Including CSS-in-JS libraries, custom Query layers like GraphQL, and even Redux.
  • 🔥 Hot Reloadable out-of-the-box. Edit React components & styles in real-time.
  • 📲 LAN accessible dev environment for testing on other devices like phones and tablets.

Videos & Tutorials

Sites Built with React-Static

Quick Start

  1. Install the CLI:
$ yarn global add react-static
# or
$ npm install -g react-static
  1. Create a new project:
$ react-static create
  1. Pick a template! See the full list of templates
  2. Navigate to your new project:
$ cd my-static-site
  1. Start the dev server and edit some code!
$ yarn start # or react-static start
  1. Test a production build
$ yarn stage # or react-static build --staging
$ yarn serve
  1. Build for production!
$ yarn build # or react-static build

Once you've installed and test driven sufficiently, you may want to:

Examples and Templates

All of the following examples can be used as a template at project creation.

Can't find an example? We invite you to write one! Simply copy the basic or blank templates and make the necessary changes. Then submit a PR including your new example directory and a new item in the list above. When merged, your example will automatically become a template in the CLI. How magical!

Documentation

Chat with us on the React Static Spectrum community!

Need some help? Have a quick question? Click here to sign up for the React-Tools spectrum community! We are constantly answering questions, discussing features and helping each other out!

Contributing

We are always looking for people to help us grow react-static's capabilities and examples. If you have an issue, feature request, or pull request, let us know!

License

React Static uses the MIT license. For more information on this license, click here.