Awestruct built static website for ceylon-lang.org
HTML JavaScript Ruby CSS ApacheConf
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings Eclips settings file to default to UTF8 Oct 17, 2013
_config Updated download info for 1.3.1 Nov 19, 2016
_data forgot to add this before Oct 26, 2016
_ext add toc to tour pages Oct 30, 2016
_layouts Merge branch '1.3.1' of github.com:ceylon/ceylon-lang.org Nov 16, 2016
_partials Minor Nov 2, 2015
blog minor fix to announcement Nov 22, 2016
code clean up. remove known issues Nov 16, 2016
community More https links to self Sep 19, 2016
documentation mention technologies used in DDDSample Dec 9, 2016
easter-egg Make easter egg links relative for #354 Sep 12, 2016
eclipse More https links to self Sep 19, 2016
images 1.3.1 release announcement Nov 17, 2016
js Improve anchor links Nov 15, 2016
stylesheets overflow-x:scroll on code snippets Nov 2, 2016
xsd Even better doc Nov 2, 2016
.awestruct_ignore Ignore Gemfiles when publishing the site Jun 14, 2013
.gitignore Update Rakefile to make rake usable and use local gem bundles Nov 6, 2014
.htaccess Activating the new download URLs for 1.3.1 Nov 18, 2016
.project missing .project file Oct 17, 2013
404.html.haml #26 Add 404 page and .htaccess Nov 7, 2011
Gemfile Make sure we use a specific awestruct version becuase newer versions … Feb 11, 2016
README.md add toc to tour pages Oct 30, 2016
RELEASE.md Update RELEASE.md Mar 11, 2016
Rakefile Update Rakefile to make rake usable and use local gem bundles Nov 6, 2014
download-archive.html.haml fix release date Nov 22, 2016
download.md fix release date Nov 22, 2016
favicon.ico Fix #65, using a copy rather than a symlink for the benefit of folks … Jan 9, 2012
features.md change links to use https://herd... Nov 27, 2015
index.html.haml fix release date Nov 22, 2016

README.md

layout title tab author
code
Building the website
code
Emmanuel Bernard

How to build ceylon-lang.org

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

Prerequisites

  • Get Git
  • Get Ruby > 2.1
  • If on Mac OS:
    • Get XCode (needed for compilation of native gems)
  • If on Linux:
    • Get libxslt-dev - eg via sudo apt-get install libxslt-dev (may be called libxslt1-dev for some distros)

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.

Installation

Ensure Rake is installed

Make sure Rake is available. It is often installed per default.

rake --version

If you get "command not found":

gem install rake

Ensure Bundler is installed

Make sure Bundler is available. It manages your Ruby gems locally to the project and prevents version conflicts between different Ruby projects. To quote from the website:

Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed.

bundle -v

If you get "command not found":

gem install bundler

Get the source

git clone git@github.com:ceylon/ceylon-lang.org.git
cd ceylon-lang.org

Setup awestruct

rake setup
rake check

Note that on existing installs, you might see the following error

/Users/alice/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'bundler' (>= 0) among 8 total gem(s) (Gem::LoadError)
        from /Users/alice/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec'
        from /Users/alice/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
        from /Users/alice/.rvm/gems/ruby-2.1.2/bin/bundle:22:in `<main>'
        from /Users/alice/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
        from /Users/alice/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
rake aborted!

It is due to a partial or corrupt installation of the bundles that you need to clear. Do either of these operations:

rake clean[all]
# if that fails, do
rm -fR .bundle _tmp _bin

Then run the rake setup command again.

Serve the site locally

rake preview

Point your browser to http://localhost:4242

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

Which other tasks exist in the Rake build file?

rake --tasks

This will list the available tasks with a short description

How to also include the spec and ceylon doc pages

Is that obsolete?

Use ./build-site.sh. 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 ./build-site.sh and don't wish to rebuild the spec and ceylondoc, use

./build-site.sh --light

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

If your changes are not visible...

Panic! Then completely regenerate the site via:

rake clean preview

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 ~/ceylon-lang.org directory.
  • Run rake gen
  • In parallel, go to the ~/ceylon-lang.org/_site directory
  • Run python -m SimpleHTTPServer 4242

You should be back to millisecond serving :)

License

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.

Acknowledgements

This website uses: