Skip to content

Latest commit

 

History

History
90 lines (56 loc) · 3.52 KB

File metadata and controls

90 lines (56 loc) · 3.52 KB

Ruby API: Easily Find Ruby documentation

A fast, mobile-friendly documentation browser for Ruby and the Ruby standard library. Live at rubyapi.org.

Why?

The existing Ruby docs sites are hard to search and uncomfortable to read on a phone, which is where a lot of us actually look up docs. RubyAPI's job is to fix that: instant search, pages small enough to load over a slow connection, and layouts that work the same on a phone as on a laptop. It's free, supported by Ruby Central, and there are no ads.

The search experience is inspired by Dash. Documentation is imported directly from the official Ruby source via RDoc and indexed in OpenSearch.

We aim to improve the Ruby ecosystem by being:

  • Readable on any size device
  • Fast on any speed internet connection
  • Relevant search results that surface useful APIs
  • Search engine optimized pages for every API method
  • Free, with no ads. Ever.

Getting started

The fastest way to try the project is GitHub Codespaces, which boots a fully configured environment in one click:

Open in GitHub Codespaces

To run locally, you need Ruby 4 and Docker. PostgreSQL and OpenSearch run in containers. Then:

bin/setup            # install gems, copy database.yml, prepare the database
docker compose up -d # start PostgreSQL and OpenSearch
bin/dev              # start the Rails server on port 3000

bin/setup is also what you run when you pull updates: it refreshes gems and applies new migrations.

Alternatives to Docker

Docker is the only setup we officially support, but Podman tends to work fine if you already use it:

podman-compose up -d

Importing documentation

Pull docs for a single Ruby version:

bin/rails import:ruby[4.0]

Or every currently supported version at once:

bin/rails import:ruby:all

Running tests

bin/rails test

Tests hit a real database, so PostgreSQL and OpenSearch both need to be running.

Linting code

RuboCop is the linter. Run it to see violations, or pass -a to autocorrect what it can:

bin/rubocop
bin/rubocop -a

Sponsorship

rubyapi.org is supported by Ruby Central, a non-profit that funds Ruby community infrastructure including RubyGems.org, RubyConf, RailsConf, and Bundler. You can support Ruby Central by attending or sponsoring a conference, or by joining as a supporting member.

Hosting is donated by Amazon Web Services, and CDN service is donated by Fastly. More about our sponsors.

Code Of Conduct

Everyone interacting with the source code, issue trackers, and chat rooms is expected to follow the Code of Conduct.

License

MIT. See LICENSE.md.