index.md 2.2 KB

Overview

Generate API documentation for humans from your Laravel/Lumen/Dingo codebase. Here's what the output looks like.

.. admonition:: Wondering where to get started? Try one of these links:
   
   - `what's new in v2 <migrating-v2.html>`_
   - `migrating from mpociot/laravel-apidoc-generator <migrating.html>`_, or
   - the `getting started guide <guide-getting-started.html>`_.
.. Tip:: Looking to document your Node.js APIs? Check out `Scribe for JS <https://github.com/knuckleswtf/scribe-js>`_.

Features

  • Pretty HTML documentation page, with included code samples and friendly text
  • Included "Try It Out" button so users can test your API
  • 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

.. toctree::
   :maxdepth: 2

   guide-getting-started
   migrating-v2
   migrating
   documenting/index
   generating-documentation
   config
   troubleshooting
   customization
   architecture
   plugins
   contributing

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 as config/scribe.php. Then add to your bootstrap/app.php:
$app->configure('scribe');