This repo holds the source of the TryRuby website. TryRuby is a website where you can learn the Ruby language. Starting from zero knowledge about programming you can learn the basics of Ruby in 56 short lessons.
Try Ruby version 1 by why the lucky stiff
Try Ruby version 2 by Andrew McElroy & David Miani
Try Ruby version 3 by Eric Allam & Nick Walsh
Try Ruby version 4 by Ivo Herweijer
This website is partially based on OpalRb.com by Adam Beynon.
Spanish translation by Jesus Gabriel y Galan & Pablo García
Dutch translation by Ivo Herweijer
Brazilian Portuguese translation by Ricardo da Verdade Silva
Japanese translation by Koji Shimada & Masayoshi Takahashi
Russian translation by Alexander Nikolaev
Ukrainian translation by Andrii Palchik
Macedonian translation by Violeta Pavleska
Chinese translation by Ye Junzhe & Bitfox & Heng Li
Turkish translation by Ali Rıza Şahin
Suggestions to improve translations are welcome. If you submit a pull request updating a translation please only change the files in folder translations, not the json files in folder source. These files will be updated automatically by the build/publish task.
The TryRuby is kind of unique in a way, that it is a frontend application created
in Ruby with Opal. The source code for this application is
located in app
directory.
You can deploy the website using docker by running the following commands:
# creating the image
docker build -f Dockerfile . -t tryruby
# running the image, you can access tryruby on http://localhost:9099
docker run -p 9099:4567 -d tryruby:latest
Clone this repo, and use bundler to get dependencies:
$ bundle install
The website is built using middleman. Livereload is enabled.
Note: to install the 'eventmachine' gem a ruby development environment needs to be present. You may need to run something like:
$ sudo apt-get install ruby2.3-dev
$ bin/middleman server
Then visit http://localhost:4567
.
$ bin/rake publish
Git branch 'gh-pages' now holds the publishable version of TryRuby, accessible via try.ruby-lang.org/.
When adding a new translation: see the README file in /translations.
See the website try-ruby-version-4 for more background information on how and why this website was created.
Copyright (C) 2014-2019 Ivo Herweijer
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.