summaryrefslogtreecommitdiff
path: root/listeners/GenerateIndex.php
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2020-02-17 19:59:15 +0000
committerDavid T. Sadler <davidtsadler@googlemail.com>2020-02-17 19:59:15 +0000
commit498913806182905cc0c14bd12a61f9af26fa16b4 (patch)
tree0c36a6df72900c184e900b274bad14aa5114fc5d /listeners/GenerateIndex.php
parent12b052b1f480c5a95acd1477e28ce76f84ff7932 (diff)
Switch over to Jigsaw
Diffstat (limited to 'listeners/GenerateIndex.php')
-rw-r--r--listeners/GenerateIndex.php22
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));
+ }
+}