{"id":19936303,"url":"https://github.com/sourcey/spectacle-rails","last_synced_at":"2026-06-15T09:31:33.794Z","repository":{"id":145284187,"uuid":"49797958","full_name":"sourcey/spectacle-rails","owner":"sourcey","description":"Generate beautiful static documentation for your Rails API from a OpenAPI/Swagger 2.0 spec.","archived":false,"fork":false,"pushed_at":"2026-03-10T22:03:59.000Z","size":26,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-11T03:50:37.346Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-17T01:15:06.000Z","updated_at":"2026-03-10T22:04:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2489db4-c1b2-4505-ae2c-a1d405ff297c","html_url":"https://github.com/sourcey/spectacle-rails","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sourcey/spectacle-rails","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcey%2Fspectacle-rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcey%2Fspectacle-rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcey%2Fspectacle-rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcey%2Fspectacle-rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcey","download_url":"https://codeload.github.com/sourcey/spectacle-rails/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcey%2Fspectacle-rails/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34357281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T23:25:01.557Z","updated_at":"2026-06-15T09:31:33.775Z","avatar_url":"https://github.com/sourcey.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spectacle for Rails\n\nGenerate beautiful static API documentation from OpenAPI/Swagger specifications directly in your Rails app.\n\nThis gem wraps [spectacle-docs](https://github.com/sourcey/spectacle) to provide Rake tasks and configuration for generating API docs as part of your Rails workflow.\n\n## Prerequisites\n\n- Node.js \u003e= 20\n- npm\n\n## Installation\n\nAdd to your Gemfile:\n\n```ruby\ngem 'spectacle'\n```\n\nThen install the spectacle-docs npm package:\n\n```bash\nrake spectacle:install\n# or: npm install -g spectacle-docs\n```\n\n## Configuration\n\nCreate an initializer at `config/initializers/spectacle.rb`:\n\n```ruby\nSpectacle::Config.spec_file = Rails.root.join('public/openapi.yaml').to_s\nSpectacle::Config.output_dir = Rails.root.join('public/docs').to_s\n\n# Optional\nSpectacle::Config.logo = Rails.root.join('app/assets/images/logo.png').to_s\nSpectacle::Config.embeddable = true   # Strip \u003chtml\u003e/\u003cbody\u003e tags for embedding\nSpectacle::Config.single_file = true  # Bundle everything into one HTML file\n```\n\n### Defaults\n\n| Option | Default |\n|--------|---------|\n| `spec_file` | `public/openapi.yaml` |\n| `output_dir` | `public/docs` |\n| `logo` | `nil` |\n| `embeddable` | `false` |\n| `single_file` | `false` |\n| `spectacle_bin` | `npx spectacle` |\n\n## Usage\n\n### Generate docs\n\n```bash\nrake spectacle:generate\n```\n\nThis reads your OpenAPI spec and writes `index.html`, `spectacle.css`, and `spectacle.js` to the output directory.\n\n### Validate your spec\n\n```bash\nrake spectacle:validate\n```\n\n### Install spectacle-docs\n\n```bash\nrake spectacle:install\n```\n\n## Supported specs\n\n- OpenAPI 3.0 / 3.1\n- Swagger 2.0 (auto-converted to OpenAPI 3.0)\n- JSON or YAML format\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcey%2Fspectacle-rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcey%2Fspectacle-rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcey%2Fspectacle-rails/lists"}