<?php

/*
 * This file is part of Laravel Markdown.
 *
 * (c) Graham Campbell <graham@mineuk.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

return [

    /*
    |--------------------------------------------------------------------------
    | Enable The Engines
    |--------------------------------------------------------------------------
    |
    | This option specifies if the view engines are enabled so you can write
    | markdown views and have them compiled into html. The following extensions
    | are currently supported: ".md", ".md.php", and ".md.blade.php". You may
    | disable the engines if they are conflicting with another package.
    |
    | Default: true
    |
    */

    'engines' => true,

];
