-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathconfig.php
96 lines (87 loc) · 2.99 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
use Illuminate\Support\Str;
return [
'baseUrl' => 'http://localhost:3000/',
'appUrl' => 'https://app.addy.io',
'production' => false,
'siteName' => 'addy.io',
'siteDescription' => 'Create unlimited email aliases for free. Protect your real email from spam by using a different address for each service. Privacy friendly, anonymous replies.',
'siteAuthor' => 'addy.io',
// collections
'collections' => [
'posts' => [
'author' => 'Will Browning', // Default author, if not provided in a post
'sort' => '-date',
'path' => 'blog/{filename}',
],
'categories' => [
'path' => '/blog/category/{filename}',
'posts' => function ($page, $allPosts) {
return $allPosts->filter(function ($post) use ($page) {
return $post->categories ? in_array($page->getFilename(), $post->categories, true) : false;
});
},
],
'articles' => [
'author' => 'Will Browning', // Default author, if not provided in a post
'sort' => 'title',
'path' => 'help/{filename}',
],
'helpCategories' => [
'path' => '/help/category/{filename}',
'articles' => function ($page, $allPosts) {
return $allPosts->filter(function ($post) use ($page) {
return $post->helpCategories ? in_array($page->getFilename(), $post->helpCategories, true) : false;
});
},
],
'newsletter' => [
'path' => 'newsletters/{filename}',
],
],
'menuItems' => [
[
'title' => 'Help',
'href' => '/help/',
],
[
'title' => 'FAQ',
'href' => '/faq/',
],
[
'title' => 'Blog',
'href' => '/blog/',
],
[
'title' => 'Pricing',
'href' => '/#pricing',
],
],
// helpers
'getDate' => function ($page) {
return Datetime::createFromFormat('U', $page->date);
},
'getExcerpt' => function ($page, $length = 255) {
$content = $page->excerpt ?? $page->getContent();
$cleaned = strip_tags(
preg_replace(['/<pre>[\w\W]*?<\/pre>/', '/<h\d>[\w\W]*?<\/h\d>/'], '', $content),
'<code>'
);
$truncated = substr($cleaned, 0, $length);
if (substr_count($truncated, '<code>') > substr_count($truncated, '</code>')) {
$truncated .= '</code>';
}
return strlen($cleaned) > $length
? preg_replace('/\s+?(\S+)?$/', '', $truncated).'...'
: $cleaned;
},
'isActive' => function ($page, $path) {
return Str::endsWith($page->getUrl(), $path);
},
'startsWith' => function ($page, $needle) {
if ($needle !== '' && substr($page->getUrl(), 0, strlen($needle)) === (string) $needle) {
return true;
}
return false;
},
];