Prohlížeč zdrojového kódu

# About — Ruby Portfolio Showcase
A Rails application for showcasing Ruby code examples with an interactive scenario runner and a built-in source browser.
## Features
- **Interactive examples** — run predefined scenarios against Ruby code snippets directly in the browser
- **Source browser** — browse the application's own source code with syntax highlighting
- **Dark/light mode** — persisted per-browser via `localStorage`
## Tech Stack
| Layer | Technology |
|---------------------|-----------------------------------------|
| Language | Ruby 3.2.5 |
| Framework | Rails 7.2 |
| Database | MariaDB (mysql2) |
| Frontend | Importmaps + Turbo + Stimulus (Hotwire) |
| Styles | Pico CSS v2 + SCSS (dartsass-sprockets) |
| Syntax highlighting | Rouge |
| Markdown | Redcarpet |
| Web server | Puma |
| Deployment | Mina |
| Testing | RSpec + FactoryBot + Capybara |
## Requirements
- Ruby 3.2.5
- MariaDB / MySQL
- Bundler 2.6.9
## Installation
```bash
# Clone the repository
git clone <repo-url>
cd about
# Install dependencies
bundle install
# Configure database
cp config/database.yml.example config/database.yml
# Edit config/database.yml with your credentials
# Set up the database
rails db:create
rails db:migrate
# Start the development server
rails server
```
The app will be available at `http://localhost:3000`.
## Living Specs
Design documents describing how key features work: [docs/specs/index.md](docs/specs/index.md).
## Running Tests
```bash
rspec
```
## Deployment
Deployment is managed by [Mina](https://github.com/mina-deploy/mina). Configuration lives in `config/deploy.rb`.
```bash
# Deploy to production
mina deploy
# Restart Puma on the server
mina restart
```
Shared files (`config/database.yml`, `config/master.key`) must be present on the server before the first deploy.