diff options
Diffstat (limited to 'listeners/GenerateIndex.php')
| -rw-r--r-- | listeners/GenerateIndex.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/listeners/GenerateIndex.php b/listeners/GenerateIndex.php new file mode 100644 index 0000000..80dd481 --- /dev/null +++ b/listeners/GenerateIndex.php @@ -0,0 +1,22 @@ +<?php + +namespace App\Listeners; + +use TightenCo\Jigsaw\Jigsaw; + +class GenerateIndex +{ + public function handle(Jigsaw $jigsaw) + { + $data = collect($jigsaw->getCollection('posts')->map(function ($page) use ($jigsaw) { + return [ + 'title' => $page->title, + 'categories' => $page->categories, + 'link' => rightTrimPath($jigsaw->getConfig('baseUrl')) . $page->getPath(), + 'snippet' => $page->getExcerpt(), + ]; + })->values()); + + file_put_contents($jigsaw->getDestinationPath() . '/index.json', json_encode($data)); + } +} |
