Overview¶
Attention
These docs are for Scribe v2, which is no longer maintained. See scribe.knuckles.wtf/laravel for Scribe v3.
Generate API documentation for humans from your Laravel/Lumen/Dingo codebase. Here’s what the output looks like. There’s a Node.js version, too!
Wondering where to start? Try one of these links:
Tip
Scribe helps you generate docs automatically, but if you really want to make friendly, maintainable and testable API docs, there’s some more stuff you need to know. So I made a course for you.🤗
Features¶
- Pretty HTML documentation page, with included code samples and friendly text
- Included “Try It Out” button so users can test endpoints right from their browser
- Markdown source files that can be edited to modify docs
- Extracts body parameters information from FormRequests
- Safely calls API endpoints to generate sample responses, with authentication and other custom configuration supported
- Supports generating responses from Transformers or Eloquent API Resources
- Supports Postman collection and OpenAPI (Swagger) spec generation
- Included UI components for additional styling
- Easily customisable with custom views
- Easily extensible with custom strategies
Contents¶
- Getting Started
- Scribe 2: What’s new, and how to migrate
- Migrating from mpociot/laravel-apidoc-generator to Scribe v1
- Documenting your API
- Adding general information about your API
- Specifying metadata about an endpoint
- Documenting headers for endpoints
- Documenting query and URL parameters for an endpoint
- Documenting body and file parameters for an endpoint
- Documenting responses from an endpoint
- Excluding endpoints from the documentation
- Generating Documentation
- Configuration
- Troubleshooting and Debugging
- Customizing the generated documentation
- How Scribe works
- Extending functionality with plugins
- Contributing to Scribe
Installation¶
PHP 7.2.5 and Laravel/Lumen 6 or higher are required.
composer require --dev knuckleswtf/scribe
Laravel¶
Publish the config file by running:
php artisan vendor:publish --provider="Knuckles\Scribe\ScribeServiceProvider" --tag=scribe-config
This will create a scribe.php
file in your config
folder.
Lumen¶
- Register the service provider in your
bootstrap/app.php
:
$app->register(\Knuckles\Scribe\ScribeServiceProvider::class);
- Copy the config file from
vendor/knuckleswtf/scribe/config/scribe.php
to your project asconfig/scribe.php
. Then add to yourbootstrap/app.php
:
$app->configure('scribe');
Next up: follow the Getting Started guide to see what you can do with Scribe.