knuckleswtf / scribe
Generate API documentation for humans from your Laravel codebase.✍
Fund package maintenance!
Patreon
Installs: 123 308
Dependents: 1
Suggesters: 0
Security: 0
Stars: 260
Watchers: 6
Forks: 47
Open Issues: 18
Requires
- php: >=7.2.5
- ext-fileinfo: *
- ext-json: *
- ext-pdo: *
- erusev/parsedown: ^1.7.4
- fakerphp/faker: ^1.9.1
- illuminate/console: ^6.0|^7.0|^8.0
- illuminate/routing: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
- knuckleswtf/pastel: ^1.3.6
- league/flysystem: ^1.0
- mpociot/reflection-docblock: ^1.0.1
- nunomaduro/collision: ^3.0|^4.0|^5.0
- ramsey/uuid: ^3.8|^4.0
- shalvah/clara: ^2.6
- symfony/var-exporter: ^4.0|^5.0
- symfony/yaml: ^4.0|^5.0
Requires (Dev)
- brianium/paratest: ^5.0|^6.0
- dms/phpunit-arraysubset-asserts: ^0.2.0
- laravel/legacy-factories: ^1.0.4
- laravel/lumen-framework: ^6.0|^7.0|^8.0
- league/fractal: ^0.19.0
- nikic/fast-route: ^1.3
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpstan/phpstan: ^0.12.19
- phpunit/phpunit: ^9.0
Suggests
- league/fractal: Required for transformers support
Replaces
This package is auto-updated.
Last update: 2020-12-24 14:42:17 UTC
README
Still on v1? Here's the v2 migration guide.
Generate API documentation for humans from your Laravel codebase. Here's what the output looks like. There's a Node.js version, too!
👋 Scribe helps you generate docs automatically, but if you really want to make friendly, maintainable and testable API docs, there's some more things 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 Laravel FormRequests
- Safely calls API endpoints to generate sample responses, with authentication and other custom configuration supported
- Supports generating responses from Eloquent API Resources or Fractal Transformers
- Supports Postman collection and OpenAPI (Swagger) spec generation
- Included UI components for additional styling
- Easily customisable with custom views
- Easily extensible with custom strategies
Documentation
See the migration guide if you're coming from mpociot/laravel-apidoc-generator.
Check out the documentation at ReadTheDocs.
Installation
PHP 7.2.5 and Laravel/Lumen 6.0 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
- When using Lumen, you will need to run
composer require knuckleswtf/scribe
instead (no--dev
). - 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');
Contributing
Contributing is easy! See our contribution guide.