add seo
This commit is contained in:
121
config/health.php
Normal file
121
config/health.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
* A result store is responsible for saving the results of the checks. The
|
||||
* `EloquentHealthResultStore` will save results in the database. You
|
||||
* can use multiple stores at the same time.
|
||||
*/
|
||||
'result_stores' => [
|
||||
Spatie\Health\ResultStores\EloquentHealthResultStore::class => [
|
||||
'connection' => env('HEALTH_DB_CONNECTION', env('DB_CONNECTION')),
|
||||
'model' => Spatie\Health\Models\HealthCheckResultHistoryItem::class,
|
||||
'keep_history_for_days' => 5,
|
||||
],
|
||||
|
||||
/*
|
||||
Spatie\Health\ResultStores\CacheHealthResultStore::class => [
|
||||
'store' => 'file',
|
||||
],
|
||||
|
||||
Spatie\Health\ResultStores\JsonFileHealthResultStore::class => [
|
||||
'disk' => 's3',
|
||||
'path' => 'health.json',
|
||||
],
|
||||
|
||||
Spatie\Health\ResultStores\InMemoryHealthResultStore::class,
|
||||
*/
|
||||
],
|
||||
|
||||
/*
|
||||
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
|
||||
* For Slack you need to install laravel/slack-notification-channel.
|
||||
*/
|
||||
'notifications' => [
|
||||
/*
|
||||
* Notifications will only get sent if this option is set to `true`.
|
||||
*/
|
||||
'enabled' => true,
|
||||
|
||||
'notifications' => [
|
||||
Spatie\Health\Notifications\CheckFailedNotification::class => ['mail'],
|
||||
],
|
||||
|
||||
/*
|
||||
* Here you can specify the notifiable to which the notifications should be sent. The default
|
||||
* notifiable will use the variables specified in this config file.
|
||||
*/
|
||||
'notifiable' => Spatie\Health\Notifications\Notifiable::class,
|
||||
|
||||
/*
|
||||
* When checks start failing, you could potentially end up getting
|
||||
* a notification every minute.
|
||||
*
|
||||
* With this setting, notifications are throttled. By default, you'll
|
||||
* only get one notification per hour.
|
||||
*/
|
||||
'throttle_notifications_for_minutes' => 60,
|
||||
'throttle_notifications_key' => 'health:latestNotificationSentAt:',
|
||||
|
||||
'mail' => [
|
||||
'to' => 'your@example.com',
|
||||
|
||||
'from' => [
|
||||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||
],
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'webhook_url' => env('HEALTH_SLACK_WEBHOOK_URL', ''),
|
||||
|
||||
/*
|
||||
* If this is set to null the default channel of the webhook will be used.
|
||||
*/
|
||||
'channel' => null,
|
||||
|
||||
'username' => null,
|
||||
|
||||
'icon' => null,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* You can let Oh Dear monitor the results of all health checks. This way, you'll
|
||||
* get notified of any problems even if your application goes totally down. Via
|
||||
* Oh Dear, you can also have access to more advanced notification options.
|
||||
*/
|
||||
'oh_dear_endpoint' => [
|
||||
'enabled' => false,
|
||||
|
||||
/*
|
||||
* When this option is enabled, the checks will run before sending a response.
|
||||
* Otherwise, we'll send the results from the last time the checks have run.
|
||||
*/
|
||||
'always_send_fresh_results' => true,
|
||||
|
||||
/*
|
||||
* The secret that is displayed at the Application Health settings at Oh Dear.
|
||||
*/
|
||||
'secret' => env('OH_DEAR_HEALTH_CHECK_SECRET'),
|
||||
|
||||
/*
|
||||
* The URL that should be configured in the Application health settings at Oh Dear.
|
||||
*/
|
||||
'url' => '/oh-dear-health-check-results',
|
||||
],
|
||||
|
||||
/*
|
||||
* You can set a theme for the local results page
|
||||
*
|
||||
* - light: light mode
|
||||
* - dark: dark mode
|
||||
*/
|
||||
'theme' => 'light',
|
||||
|
||||
/*
|
||||
* When enabled, completed `HealthQueueJob`s will be displayed
|
||||
* in Horizon's silenced jobs screen.
|
||||
*/
|
||||
'silence_health_queue_job' => true,
|
||||
];
|
||||
158
config/sluggable.php
Normal file
158
config/sluggable.php
Normal file
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/**
|
||||
* What attributes do we use to build the slug?
|
||||
* This can be a single field, like "name" which will build a slug from:
|
||||
*
|
||||
* $model->name;
|
||||
*
|
||||
* Or it can be an array of fields, like ["name", "company"], which builds a slug from:
|
||||
*
|
||||
* $model->name . ' ' . $model->company;
|
||||
*
|
||||
* If you've defined custom getters in your model, you can use those too,
|
||||
* since Eloquent will call them when you request a custom attribute.
|
||||
*
|
||||
* Defaults to null, which uses the toString() method on your model.
|
||||
*/
|
||||
|
||||
'source' => null,
|
||||
|
||||
/**
|
||||
* The maximum length of a generated slug. Defaults to "null", which means
|
||||
* no length restrictions are enforced. Set it to a positive integer if you
|
||||
* want to make sure your slugs aren't too long.
|
||||
*/
|
||||
|
||||
'maxLength' => null,
|
||||
|
||||
/**
|
||||
* If you are setting a maximum length on your slugs, you may not want the
|
||||
* truncated string to split a word in half. The default setting of "true"
|
||||
* will ensure this, e.g. with a maxLength of 12:
|
||||
*
|
||||
* "my source string" -> "my-source"
|
||||
*
|
||||
* Setting it to "false" will simply truncate the generated slug at the
|
||||
* desired length, e.g.:
|
||||
*
|
||||
* "my source string" -> "my-source-st"
|
||||
*/
|
||||
|
||||
'maxLengthKeepWords' => true,
|
||||
|
||||
/**
|
||||
* If left to "null", then use the cocur/slugify package to generate the slug
|
||||
* (with the separator defined below).
|
||||
*
|
||||
* Set this to a closure that accepts two parameters (string and separator)
|
||||
* to define a custom slugger. e.g.:
|
||||
*
|
||||
* 'method' => function( $string, $sep ) {
|
||||
* return preg_replace('/[^a-z]+/i', $sep, $string);
|
||||
* },
|
||||
*
|
||||
* Otherwise, this will be treated as a callable to be used. e.g.:
|
||||
*
|
||||
* 'method' => array('Str','slug'),
|
||||
*/
|
||||
|
||||
'method' => null,
|
||||
|
||||
/**
|
||||
* Separator to use when generating slugs. Defaults to a hyphen.
|
||||
*/
|
||||
|
||||
'separator' => '-',
|
||||
|
||||
/**
|
||||
* Enforce uniqueness of slugs? Defaults to true.
|
||||
* If a generated slug already exists, an incremental numeric
|
||||
* value will be appended to the end until a unique slug is found. e.g.:
|
||||
*
|
||||
* my-slug
|
||||
* my-slug-1
|
||||
* my-slug-2
|
||||
*/
|
||||
|
||||
'unique' => true,
|
||||
|
||||
/**
|
||||
* If you are enforcing unique slugs, the default is to add an
|
||||
* incremental value to the end of the base slug. Alternatively, you
|
||||
* can change this value to a closure that accepts three parameters:
|
||||
* the base slug, the separator, and a Collection of the other
|
||||
* "similar" slugs. The closure should return the new unique
|
||||
* suffix to append to the slug.
|
||||
*/
|
||||
|
||||
'uniqueSuffix' => null,
|
||||
|
||||
/**
|
||||
* What is the first suffix to add to a slug to make it unique?
|
||||
* For the default method of adding incremental integers, we start
|
||||
* counting at 2, so the list of slugs would be, e.g.:
|
||||
*
|
||||
* - my-post
|
||||
* - my-post-2
|
||||
* - my-post-3
|
||||
*/
|
||||
'firstUniqueSuffix' => 2,
|
||||
|
||||
/**
|
||||
* Should we include the trashed items when generating a unique slug?
|
||||
* This only applies if the softDelete property is set for the Eloquent model.
|
||||
* If set to "false", then a new slug could duplicate one that exists on a trashed model.
|
||||
* If set to "true", then uniqueness is enforced across trashed and existing models.
|
||||
*/
|
||||
|
||||
'includeTrashed' => false,
|
||||
|
||||
/**
|
||||
* An array of slug names that can never be used for this model,
|
||||
* e.g. to prevent collisions with existing routes or controller methods, etc..
|
||||
* Defaults to null (i.e. no reserved names).
|
||||
* Can be a static array, e.g.:
|
||||
*
|
||||
* 'reserved' => array('add', 'delete'),
|
||||
*
|
||||
* or a closure that returns an array of reserved names.
|
||||
* If using a closure, it will accept one parameter: the model itself, and should
|
||||
* return an array of reserved names, or null. e.g.
|
||||
*
|
||||
* 'reserved' => function( Model $model) {
|
||||
* return $model->some_method_that_returns_an_array();
|
||||
* }
|
||||
*
|
||||
* In the case of a slug that gets generated with one of these reserved names,
|
||||
* we will do:
|
||||
*
|
||||
* $slug .= $separator + "1"
|
||||
*
|
||||
* and continue from there.
|
||||
*/
|
||||
|
||||
'reserved' => null,
|
||||
|
||||
/**
|
||||
* Whether to update the slug value when a model is being
|
||||
* re-saved (i.e. already exists). Defaults to false, which
|
||||
* means slugs are not updated.
|
||||
*
|
||||
* Be careful! If you are using slugs to generate URLs, then
|
||||
* updating your slug automatically might change your URLs which
|
||||
* is probably not a good idea from an SEO point of view.
|
||||
* Only set this to true if you understand the possible consequences.
|
||||
*/
|
||||
|
||||
'onUpdate' => false,
|
||||
|
||||
/**
|
||||
* If the default slug engine of cocur/slugify is used, this array of
|
||||
* configuration options will be used when instantiating the engine.
|
||||
*/
|
||||
'slugEngineOptions' => [],
|
||||
|
||||
];
|
||||
Reference in New Issue
Block a user