Install package

Add the package in your composer.json by executing the command.

composer require astrotomic/stancy

Configure dependencies


Stancy uses spatie/sheets as base - a sheet is the data file which is used to fill a page. By default sheets can be Markdown (with YAML frontmatter), JSON or YAML files. But you can define your own content parsers. To use sheets you have to create a collection which is a folder that contains your sheets. You can define as much collections as you want.


use Spatie\Sheets\ContentParsers\JsonParser;

return [
    'default_collection' => 'static',

    'collections' => [
        'data' => [
            'content_parser' => JsonParser::class,
            'extension' => 'json',


Stancy comes with feed (Atom & RSS) support which is provided by spatie/laravel-feeds. A feed is generated from a sheet collection. Below is an example feed configuration which uses the \Astrotomic\Stancy\Contracts\FeedFactory.


use Astrotomic\Stancy\Contracts\FeedFactory;

return [
    'feeds' => [
        'blog' => [
            'items' => [FeedFactory::class.'@makeFromSheetCollectionName', 'blog'],
            'url' => 'feed/blog.atom',
            'title' => 'Stancy Blog Feed',
            'description' => 'This is the Stancy blog feed.',
            'language' => 'en-US',
            'view' => 'feed::atom',
            'type' => 'application/atom+xml',
pageFeed Atom/RSS


Stancy integrates spatie/laravel-export to generate static files. You can configure the exporter in the config file or use the \Astrotomic\Stancy\Contracts\ExportFactory to add your pages programmatically. We recommend to disable the crawl option in the config/export.php and use the export factory to add pages to your export list.

pagestatic export

Last updated