react/docs
Christoph Pojer 124096a9fe Fix #845, Trivial year change
This was accidentally pulled into gh-pages.
2014-01-13 08:56:20 -08:00
..
_css docs better error display for live editor and JSX compiler 2014-01-01 19:41:08 -05:00
_data Merge pull request #623 from chenglou/tips-communication 2013-12-30 14:09:01 -08:00
_includes Put nav data in "_data" 2013-11-19 15:52:42 -08:00
_js docs better error display for live editor and JSX compiler 2014-01-01 19:41:08 -05:00
_layouts Fix #845, Trivial year change 2014-01-13 08:56:20 -08:00
_plugins Make doc headers clickable again 2013-11-18 17:34:44 -08:00
_posts Fix #874: Edit thinking-in-react 2014-01-13 08:51:29 -08:00
blog Fix blog pagination 2013-12-02 15:46:20 -08:00
css Initial public release 2013-05-29 12:54:02 -07:00
docs Document PropTypes.renderable and PropTypes.component 2014-01-10 09:36:22 -08:00
downloads 0.8 starter kit 2013-12-19 13:21:27 -08:00
img Merge pull request #688 from vjeux/community_14 2014-01-06 09:11:09 -08:00
js Upgrade codemirror and enable line wrapping 2013-12-30 18:06:00 -07:00
tips docs tips fix small typo and code 2014-01-01 15:28:44 -05:00
_config.yml Put nav data in "_data" 2013-11-19 15:52:42 -08:00
downloads.md Add info about dev vs. prod builds 2013-12-31 10:35:49 -07:00
extractCode.js undo changes to extractCode, using grunt task instead 2013-10-29 10:15:45 -07:00
favicon.ico Initial public release 2013-05-29 12:54:02 -07:00
feed.xml [docs] RSS: Pass title through xml_escape 2013-06-03 11:36:04 -07:00
Gemfile Update jekyll to 1.3 2013-11-19 15:18:15 -08:00
Gemfile.lock Update jekyll to 1.3 2013-11-19 15:18:15 -08:00
html-jsx.md Simple HTML to JSX converter, built during Hackathon 40 at Facebook. 2013-12-21 17:44:38 -08:00
index.md docs remove video at the bottom 2013-12-24 01:42:45 -05:00
jsx-compiler.md Use script to find remaining 404s. Fix them. 2013-08-22 10:59:22 -07:00
Rakefile Don't update the docs version by default 2013-09-18 10:40:12 -07:00
README.md Moved cookbook recipes into separate directory. Updated nav_docs to loop through cookbook yaml. Added cookbook directory to js/ to add live editing of code samples 2013-10-29 10:14:19 -07:00
support.md Add Stack Overflow link for doc support page. 2013-09-04 16:01:48 -04:00

React Documentation & Website

We use Jekyll to build the site using (mostly) Markdown, and we host it by pushing HTML to GitHub Pages.

Installation

If you are working on the site, you will want to install and run a local copy of it.

Dependencies

In order to use Jekyll, you will need to have Ruby installed.

Mac OS X comes pre-installed with Ruby, but you may need to update RubyGems (via gem update --system). Otherwise, RVM and rbenv are popular ways to install Ruby. Once you have RubyGems and installed Bundler (via gem install bundler), use it to install the dependencies:

$ cd react/docs
$ bundle install # Might need sudo.
$ npm install # Might need sudo.

Instructions

The site requires React, so first make sure you've built the project (via grunt).

Use Jekyll to serve the website locally (by default, at http://localhost:4000):

$ cd react/docs
$ rake
$ jekyll serve -w
$ open http://localhost:4000/react/

We use SASS (with Bourbon) for our CSS, and we use JSX to transform some of our JS. If you only want to modify the HTML or Markdown, you do not have to do anything because we package pre-compiled copies of the CSS and JS. If you want to modify the CSS or JS, use Rake to compile them:

$ cd react/docs
$ rake watch # Automatically compiles as needed.
# rake         Manually compile CSS and JS.
# rake css     Manually compile CSS, only.
# rake js      Manually compile JS, only.

Afterthoughts

Updating facebook.github.io/react

The easiest way to do this is to have a separate clone of this repository, checked out to the gh-pages branch. We have a build step that expects this to be in a directory named react-gh-pages at the same depth as react. Then it's just a matter of running grunt docs, which will compile the site and copy it out to this repository. From there you can check it in.

Note: This should only be done for new releases. You should create a tag corresponding to the relase tag in the main repository.

Removing the Jekyll / Ruby Dependency

In an ideal world, we would not be adding a Ruby dependency on part of our project. We would like to move towards a point where we are using React to render the website.