'http://localhost:3000', 'production' => false, 'siteName' => 'davidtsadler.com', 'siteDescription' => 'My little bit of the Internet', 'siteAuthor' => 'David T. Sadler', 'perPage' => 50, 'collections' => [ 'posts' => [ // Default author, if not provided in a post 'author' => 'David T. Sadler', 'sort' => '-date', 'path' => '/posts', 'filter' => function ($item) use ($now) { // Include every post if in development. if (!$item->production) { return true; } // Only publish posts that have a date and which is not in the future. $date = $item->getDate(); return $date ? $date <= $now : false; } ], 'tags' => [ 'path' => '/tags/{filename}', 'posts' => function ($page, $allPosts) { return $allPosts->filter(function ($post) use ($page) { $tagSlugs = array_map(function ($tag) { return Str::slug($tag); }, $post->tags); return $post->tags ? in_array($page->getFilename(), $tagSlugs, true) : false; }); }, ], ], // Helpers 'getDate' => function ($page) use ($now) { // Use post date if one has been specified. Otherwise default to today's date in development. return $page->date ? Carbon::createFromFormat('U', $page->date) : ($page->production ? null : $now); }, 'allTags' => function ($page, $allPosts) { return $allPosts->pluck('tags')->flatten()->unique()->sort(); }, ];