GitHub - mruby/mruby.github.io: mruby - Embedded Ruby

mruby.org

This is the Jekyll source of the mruby.org website.

Prerequisites

  • Ruby — version is specified in .ruby-version
  • Bundlergem install bundler
  • gh CLI — required by gen:mrbdoc and gen:releasedata to query the GitHub API

Local development

git clone https://github.com/mruby/mruby.github.io
cd mruby.github.io
bundle install

Serve the site locally with live reload:

bundle exec rake serve
# or use the convenience script:
./server

Build

Runs all data generation tasks then builds the Jekyll site:

Data generation tasks

Each task can also be run individually:

rake gen:mgemdata

Regenerates _data/mgems.yml from the mrbgems registry. Do not edit this file manually.

bundle exec rake gen:mgemdata

rake gen:mrbdoc

Clones the latest stable mruby release into mruby/, generates YARD API documentation, and copies it to docs/api/. Requires the gh CLI.

bundle exec rake gen:mrbdoc

rake gen:contributors

Generates _data/contributors.yml from the mruby AUTHORS file. Requires mruby/ to exist (run gen:mrbdoc first). The CONTRIBUTOR_THRESHOLD environment variable sets the minimum commit count (default: 10).

bundle exec rake gen:contributors
CONTRIBUTOR_THRESHOLD=20 bundle exec rake gen:contributors

rake gen:releasedata

Generates _data/releases.yml from the GitHub API. Requires the gh CLI.

bundle exec rake gen:releasedata

Deployment

GitHub Actions (.github/workflows/pages.yml) triggers on push to master. It runs bundle exec rake build (with GH_TOKEN set for the gh CLI calls) and deploys the result to GitHub Pages via actions/deploy-pages.

CI

The lint workflow (.github/workflows/lint.yml) runs on all pull requests and checks for spelling errors (misspell) and merge conflict markers.