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.
- 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)
- Get libxslt-dev - eg via
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.
Make sure Rake is available. It is often installed per default.
rake --version
If you get "command not found":
gem install rake
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
git clone git@github.com:ceylon/ceylon-lang.org.git
cd ceylon-lang.org
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.
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.
rake --tasks
This will list the available tasks with a short description
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.
Panic! Then completely regenerate the site via:
rake clean preview
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 :)
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:
- Icons from Komodo Media, Rogie King (CC BY-SA 3.0 with link back to the creator)