div#code
  :markdown
    # The Code
    Radian contains the documentation as comments in the source code of its files. Also to jazz things up a bit I've run the code through the awesome [Docco](http://jashkenas.github.io/docco/) and <a href="docs/app.html" target="_self">the generated docs are also available</a> for your browsing pleasure.

    Radian has three major parts to it:

    - The app code
    - The local tasks and helpers
    - The tests

    Here's an overview of these bases and you can follow the code documentation onwards:

    ## The app code
    Remember that Radian is simply an abstract of how to develop [AngularJS](http://angularjs.org) in a scalable manner. We begin our journey by looking at how the use of AMD available from [RequireJS](http://requirejs.org) helps bring things together: jump to <a href="docs/app.html" target="_self">`app.coffee`</a>.

    ## The local tasks and helpers
    There are three main local tasks:

    - The grunt tasks (<a href="docs/Gruntfile.html" target="_self">`Gruntfile.coffee`</a>)
    - The local server (<a href="docs/server.html" target="_self">`server.coffee`</a>)
    - The web crawler (<a href="docs/crawler.html" target="_self">`crawler.coffee`</a>)

    And not forgetting the [Yeoman generator](https://github.com/ahmednuaman/generator-radian).

    ### The grunt tasks
    [Grunt](http://gruntjs.com) is a great utility. It's used to run all the preprocessors that the app uses and also used to put everything into place when the app is built. The task that you'll probably use the most is the default `grunt` task; this does the following:

    - Installs the [Bower](http://bower.io) dependancies
    - Runs the [Compass](http://compass-style.org), [CoffeeScript](http://coffeescript.org) and [Jade](http://jade-lang.com) compilers in dev mode
    - Runs the local server
    - And watches for any updates to files ready to be recompiled

    You can find out more by reviewing <a href="docs/Gruntfile.html" target="_self">`Gruntfile.coffee`</a>.

    ### The local server
    This is a very handy little server that runs off [expressjs](http://expressjs.com). It'll serve the local files by default to `http://localhost:8000` and it'll also serve the raw non-compiled files as `text/plain` for convience of debugging.

    You can find out more by reviewing <a href="docs/server.html" target="_self">`server.coffee`</a>.

    ### The web crawler
    <img src="http://i.imgur.com/dckQ9tO.gif" alt="A screen shot showing Radian working on the lynx screen reader" width="100%" />

    One of the biggest issues with creating single HTML page apps is trying to deal with SEO. This has been solved for you by a web crawler that uses [PhantomJS](http://phantomjs.org). It'll go to your homepage, find local site links and go off and cache `html` versions of those pages. This makes dealing with an SEO stratergy a lot easier.

    You can find out more by reviewing <a href="docs/crawler.html" target="_self">`crawler.coffee`</a>.