6bc2fd1048
After converting base 16 (hex) string of length 16 to integer and then to base 36 we can end up with a shorter string due to implicit zeroes on leading positions in the intermediate integer. This ensures "00000000000000000000000000000000", "ffffffffffffffffffffffffffffffff" and everything in between result in a string of length 25 after converting to base 36. |
||
---|---|---|
app | ||
bin | ||
config | ||
db | ||
doc | ||
lib | ||
public | ||
script | ||
spec | ||
src | ||
vendor | ||
.env.example | ||
.gitignore | ||
.rspec.example | ||
.ruby-version | ||
.travis.yml | ||
config.ru | ||
Gemfile | ||
Gemfile.lock | ||
Guardfile | ||
LICENSE | ||
Procfile | ||
Rakefile | ||
README.md | ||
sidekiq.ru |
asciinema.org
Record and share your terminal sessions, the right way.
asciinema is a free and open source solution for recording terminal sessions and sharing them on the web.
This is the source code of asciinema.org website. If you're looking for asciinema's terminal recorder go here: asciinema/asciinema
Setup instructions
Below you'll find setup instructions in case you want to contribute, play with it on your local machine, or setup your own instance for private use or for your organization.
1. Install dependencies
asciinema.org site is a Ruby on Rails application. You need to have following dependencies installed:
-
Ruby 2.0+ (Ruby 2.1 is recommended)
-
bundler gem
gem install bundler
-
PostgreSQL 8+ with libpq development headers
sudo apt-get install postgresql libpq-dev
on Debian/Ubuntu -
libtsm
See here for installation instructions. If you don't install it now the setup script (point 4 below) will try to install it for you anyway. -
phantomjs 2.0+
sudo add-apt-repository ppa:tanguy-patte/phantomjs && sudo apt-get update && sudo apt-get install phantomjs
2. Get the source code
Clone git repository:
$ git clone git://github.com/asciinema/asciinema.org.git
$ cd asciinema.org
3. Prepare database config file
Copy config/database.yml.example to config/database.yml. Then set database/user/password to whatever you prefer.
If database specified in database.yml doesn't exist then the following setup task will create it (make sure database user is allowed to create new databases).
4. Setup the app
Following script will install gem dependencies and setup database:
$ ./script/setup
5. Run Rails server
$ bundle exec rails server
6. Run the background job processor
The background job processor is needed for asciicast pre-processing and thumbnail generation.
$ bundle exec sidekiq
Contributing
If you want to contribute to this project check out Contributing page.
Authors
Developed with passion by Marcin Kulik and great open source contributors
Copyright
Copyright © 2011-2015 Marcin Kulik. See LICENSE.txt for details.