blob: 735ad160f1ef010e195a483888f75c7d2d0681d3 [file] [log] [blame] [view]
# Apache Usergrid Website
This directory contains the source files for the project website. Website content is written in [Markdown](https://help.github.com/articles/markdown-basics) and the site files are generated from that source by a tool called [Pandoc](http://johnmacfarlane.net/pandoc).
Source files for the website are in ``${usergrid-project-dir}/website/content``
Generated files for the website are in ``${usergrid-project-dir}/content``
The website is updated by a "sync" tool that monitors the __asf-site__ branch of our Git repo, so after to make changes you must push your updated source and generated files to that branch. The content will be published to the [Usegrid website](http://usergrid.apache.org), after a 5-20 minute delay.
## Prerequsites
To generate the site locally, you need Ruby, Python, Pandoc and a couple of Ruby Gems.
Install Pandoc (Haskell-based markup format converter):
http://johnmacfarlane.net/pandoc/installing.html
Install Pygments (Python-basd syntax coloring library):
$ sudo easy_install Pygments
Install Nanoc and other Ruby Gems needed:
$ sudo gem install nanoc pygments.rb htmlentities pandoc-ruby nokogiri rack mime-types adsf
## How to change/update the website
### 1. Find and edit the source files you need to change
Generally, you should make your changes in the __master__ branch unless you have a very good reason to do otherwise. When you're ready to publish, merge them to the __asf-site__ branch.
If you are changing the actual content of the site, then find Markdown file that you need to edit under the ``content/docs`` directory and make your change.
If you need to change the layout or styling of the site, then you will probably need to change an HTML, JS or CSS file under the ``content`` directory.
## 2. Test your changes locally
To test locally, you can use the autocompiler (will build changes on every request) and check the website at [http://0.0.0.0:3000](http://0.0.0.0:3000)
$ nanoc view
## 3. Publish your changes to the site
Run the nanoc compiler to generate the HTML for the website. It is configured via the ``nanoc.yaml`` to place website files into the ``content`` directory at the top
$ nanoc compile
Run ``git status`` and you should see your changes plus some update files under the ``${usergrid-project-dir}/content`` directory.
Once you are happy with your changes, commit them, merge to the __asf-site__ branch and push.
The site should update in 5-10 minutes and if not [file a JIRA against the INFRA project](https://issues.apache.org/jira/browse/INFRA) or ask for advice on the Infrastructure project's HipChat room [#asfinfra](https://www.hipchat.com/g4P84gemn).