Skip to content
This repository

Awestruct built static website for

Octocat-spinner-32 .settings Eclips settings file to default to UTF8
Octocat-spinner-32 _config Try to make SDK APIdoc more discoverable.
Octocat-spinner-32 _data Updated Ross's bio to Cornell
Octocat-spinner-32 _ext Stop using puts in some extensions.
Octocat-spinner-32 _layouts add interop chapter to tour
Octocat-spinner-32 _partials footer: Updated copyright year
Octocat-spinner-32 blog blog
Octocat-spinner-32 code Split developer environment setup instructions into one that uses HTT…
Octocat-spinner-32 community Add drinks section for ceylon tour
Octocat-spinner-32 documentation Fixed type (see ceylon/ceylon-compiler#1606)
Octocat-spinner-32 easter-egg Added easter-egg target for ceylond
Octocat-spinner-32 eclipse Don't need Gef4 anymore
Octocat-spinner-32 images Added conference page for Ceylon Tour Paris 2014
Octocat-spinner-32 js More M5->M6 bumps
Octocat-spinner-32 stylesheets Don’t show pointer cursor on non-clickable elements
Octocat-spinner-32 .awestruct_ignore Ignore Gemfiles when publishing the site
Octocat-spinner-32 .gitignore Fixed .rvmrc typo in git ignore file
Octocat-spinner-32 .htaccess Added links to 1.0.0 release without mentioning it much
Octocat-spinner-32 .project missing .project file
Octocat-spinner-32 404.html.haml #26 Add 404 page and .htaccess
Octocat-spinner-32 Gemfile Improve Gemfile by adding Asciidoctor and an purposely old Listen ver…
Octocat-spinner-32 Minor change to README: added example for Fedora/RedHat based distros…
Octocat-spinner-32 Rakefile migrate to awestruct 0.5.0 w/ Ruby 1.9
Octocat-spinner-32 download-archive.html.haml Fixed archive links
Octocat-spinner-32 blog announcement
Octocat-spinner-32 favicon.ico Fix #65, using a copy rather than a symlink for the benefit of folks …
Octocat-spinner-32 flow-dependent -> flow-sensitive
Octocat-spinner-32 index.html.haml conference is over
layout title tab author
Building the website
Emmanuel Bernard

How to build

A bit of Git, a bit a Ruby and you will get your local version of served.


  • get Git
  • get Ruby 1.9 (part of the RVM install if you follow that path - see below)
  • if on Mac OS, get XCode (needed for native gems)
  • If on Linux:
    • Get libxslt-devel - eg via sudo yum install libxslt-devel
    • may be called libxslt1-dev for some distros - eg sudo apt-get install libxslt-dev

Install Git to your system. GitHub's help page is a good starting point. Emmanuel's blog on Git tips and tricks is useful too.

Ruby like many other platforms has its dependency hell. We do recommend you use RVM to isolate your dependencies. The RVM steps are optional though.

Install RVM.

Then set up the isolated environment

rvm install 1.9.3
rvm use 1.9.3
rvm gemset create awestruct

Next, let's retrieve the website.

git clone

If you use RVM, add a .rvmrc file in the directory containing

rvm ruby-1.9.3@awestruct

This will set up the right environment when you enter the directory. The first time, leave and reenter the directory cd ..;cd

Finally, let's install Awestruct

gem install bundler
# or sudo gem install bundler on Mac OS X if you don't use RVM
bundle install

Note that if someone updates Awestruct or any dependent gem via the Gemfile dependency management, you need to rerun bundle install.

Serve the site locally

Any change will be automatically picked up except for _partials files, _base.css and sometimes new blog entries.

How to also include the spec and ceylon doc pages

Use ./ This will clone or refresh the spec, language and compiler repos into _tmp and build the appropriate artifacts before pushing them to the site.

If you have already run ./ and don't wish to rebuild the spec and ceylondoc, use

./ --light

to simply copy them to the website structure. This is much faster.

If your changes are not visible...

If for whatever reason you make some changes which don't show up, you can completely regenerate the site:

awestruct -d --force

If serving the site is slow...

On Linux, serving the file may be atrociously slow (something to do with WEBRick).

Use the following alternative:

  • Go in your ~/ directory.
  • Run awestruct --auto -P development
  • In parallel, go to the ~/ directory
  • Run python -m SimpleHTTPServer 4242

You should be back to millisecond serving :)


The content of this repository is released under Creative Commons Attribution Share-Alike 3.0 Unported (CC BY-SA 3.0). Sample code available on this website is released under Apache Software License 2.0.

By submitting a "pull request" or otherwise contributing to this repository, you agree to license your contribution under the respective licenses mentioned above.


This website uses:

Something went wrong with that request. Please try again.