Statamic Config Files
antlers.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Debugbar
|--------------------------------------------------------------------------
|
| Here you may specify whether the Antlers profiler should be added
| to the Laravel Debugbar. This is incredibly useful for finding
| performance impacts within any of your Antlers templates.
|
*/
'debugbar' => env('STATAMIC_ANTLERS_DEBUGBAR', true),
/*
|--------------------------------------------------------------------------
| Guarded Variables
|--------------------------------------------------------------------------
|
| Any variable pattern that appears in this list will not be allowed
| in any Antlers template, including any user-supplied values.
|
*/
'guardedVariables' => [
'config.app.key',
],
/*
|--------------------------------------------------------------------------
| Guarded Tags
|--------------------------------------------------------------------------
|
| Any tag pattern that appears in this list will not be allowed
| in any Antlers template, including any user-supplied values.
|
*/
'guardedTags' => [
],
/*
|--------------------------------------------------------------------------
| Guarded Modifiers
|--------------------------------------------------------------------------
|
| Any modifier pattern that appears in this list will not be allowed
| in any Antlers template, including any user-supplied values.
|
*/
'guardedModifiers' => [
],
/*
|--------------------------------------------------------------------------
| User content allowlists
|--------------------------------------------------------------------------
|
| These control which tags and modifiers will be permitted in user-supplied
| Antlers (e.g. fields with `antlers: true`). Include the literal string
| `@default` in the array to merge Statamic's defaults with your own.
|
*/
// 'allowedContentTags' => [
// '@default',
// 'foo:*',
// ],
// 'allowedContentModifiers' => [
// '@default',
// 'foo'
// ],
];api.php
<?php
return [
/*
|--------------------------------------------------------------------------
| API
|--------------------------------------------------------------------------
|
| Whether the API should be enabled, and through what route. You
| can enable or disable the whole API, and expose individual
| resources per environment, depending on your site needs.
|
| https://statamic.dev/content-api#enable-the-api
|
*/
'enabled' => env('STATAMIC_API_ENABLED', false),
'resources' => [
'collections' => false,
'navs' => false,
'taxonomies' => false,
'assets' => false,
'globals' => false,
'forms' => false,
'users' => false,
],
'route' => env('STATAMIC_API_ROUTE', 'api'),
/*
|--------------------------------------------------------------------------
| Authentication
|--------------------------------------------------------------------------
|
| By default, the API will be publicly accessible. However, you may define
| an API token here which will be used to authenticate requests.
|
*/
'auth_token' => env('STATAMIC_API_AUTH_TOKEN'),
/*
|--------------------------------------------------------------------------
| Middleware
|--------------------------------------------------------------------------
|
| Define the middleware / middleware group that will be applied to the
| API route group. If you want to externally expose this API, here
| you can configure a middleware-based authentication layer.
|
*/
'middleware' => env('STATAMIC_API_MIDDLEWARE', 'api'),
/*
|--------------------------------------------------------------------------
| Pagination
|--------------------------------------------------------------------------
|
| The numbers of items to show on each paginated page.
|
*/
'pagination_size' => 50,
/*
|--------------------------------------------------------------------------
| Caching
|--------------------------------------------------------------------------
|
| By default, Statamic will cache each endpoint until the specified
| expiry, or until content is changed. See the documentation for
| more details on how to customize your cache implementation.
|
| https://statamic.dev/content-api#caching
|
*/
'cache' => [
'expiry' => 60,
],
/*
|--------------------------------------------------------------------------
| Exclude Keys
|--------------------------------------------------------------------------
|
| Here you may provide an array of keys to be excluded from API responses.
| For example, you may want to hide things like edit_url, api_url, etc.
|
*/
'excluded_keys' => [
//
],
];assets.php
<?php
return [
'image_manipulation' => [
/*
|--------------------------------------------------------------------------
| Route Prefix
|--------------------------------------------------------------------------
|
| The route prefix for serving HTTP based manipulated images through Glide.
| If using the cached option, this should be the URL of the cached path.
|
*/
'route' => 'img',
/*
|--------------------------------------------------------------------------
| Require Glide security token
|--------------------------------------------------------------------------
|
| With this option enabled, you are protecting your website from mass image
| resize attacks. You will need to generate tokens using the Glide tag
| but may want to disable this while in development to tinker.
|
*/
'secure' => true,
/*
|--------------------------------------------------------------------------
| Image Manipulation Driver
|--------------------------------------------------------------------------
|
| The driver that will be used under the hood for image manipulation.
| Supported: "gd", "imagick" or a class name of a custom driver.
|
*/
'driver' => 'gd',
/*
|--------------------------------------------------------------------------
| Save Cached Images
|--------------------------------------------------------------------------
|
| Enabling this will make Glide save publicly accessible images. It will
| increase performance at the cost of the dynamic nature of HTTP based
| image manipulation. You will need to invalidate images manually.
|
*/
'cache' => false,
'cache_path' => public_path('img'),
/*
|--------------------------------------------------------------------------
| Image Manipulation Defaults
|--------------------------------------------------------------------------
|
| You may define global defaults for all manipulation parameters, such as
| quality, format, and sharpness. These can and will be overwritten
| on the tag parameter level as well as the preset level.
|
*/
'defaults' => [
// 'quality' => 50,
],
/*
|--------------------------------------------------------------------------
| Image Manipulation Presets
|--------------------------------------------------------------------------
|
| Rather than specifying your manipulation params in your templates with
| the glide tag, you may define them here and reference their handles.
| They may also be automatically generated when you upload assets.
| Containers can be configured to warm these caches on upload.
|
*/
'presets' => [
// 'small' => ['w' => 200, 'h' => 200, 'q' => 75, 'fit' => 'crop'],
],
/*
|--------------------------------------------------------------------------
| Generate Image Manipulation Presets on Upload
|--------------------------------------------------------------------------
|
| By default, presets will be automatically generated on upload, ensuring
| the cached images are available when they are first used. You may opt
| out of this behavior here and have the presets generated on demand.
|
*/
'generate_presets_on_upload' => true,
],
/*
|--------------------------------------------------------------------------
| Auto-Crop Assets
|--------------------------------------------------------------------------
|
| Enabling this will make Glide automatically crop assets at their focal
| point (which is the center if no focal point is defined). Otherwise,
| you will need to manually add any crop related parameters.
|
*/
'auto_crop' => true,
/*
|--------------------------------------------------------------------------
| Control Panel Thumbnail Restrictions
|--------------------------------------------------------------------------
|
| Thumbnails will not be generated for any assets any larger (in either
| axis) than the values listed below. This helps prevent memory usage
| issues out of the box. You may increase or decrease as necessary.
|
*/
'thumbnails' => [
'max_width' => 10000,
'max_height' => 10000,
],
/*
|--------------------------------------------------------------------------
| Control Panel Video Thumbnails
|--------------------------------------------------------------------------
|
| When enabled, Statamic will generate thumbnails for videos.
| Generated thumbnails are displayed in the Control Panel.
|
*/
'video_thumbnails' => true,
/*
|--------------------------------------------------------------------------
| File Previews with Google Docs
|--------------------------------------------------------------------------
|
| Filetypes that cannot be rendered with HTML5 can opt into the Google Docs
| Viewer. Google will get temporary access to these files so keep that in
| mind for any privacy implications: https://policies.google.com/privacy
|
*/
'google_docs_viewer' => false,
/*
|--------------------------------------------------------------------------
| Cache Metadata
|--------------------------------------------------------------------------
|
| Asset metadata (filesize, dimensions, custom data, etc) will get cached
| to optimize performance, so that it will not need to be constantly
| re-evaluated from disk. You may disable this option if you are
| planning to continually modify the same asset repeatedly.
|
*/
'cache_meta' => true,
/*
|--------------------------------------------------------------------------
| Focal Point Editor
|--------------------------------------------------------------------------
|
| When editing images in the Control Panel, there is an option to choose
| a focal point. When working with third-party image providers such as
| Cloudinary it can be useful to disable Statamic's built-in editor.
|
*/
'focal_point_editor' => true,
/*
|--------------------------------------------------------------------------
| Enforce Lowercase Filenames
|--------------------------------------------------------------------------
|
| Control whether asset filenames will be converted to lowercase when
| uploading and renaming. This can help you avoid file conflicts
| when working in case-insensitive filesystem environments.
|
*/
'lowercase' => true,
/*
|--------------------------------------------------------------------------
| Additional Uploadable Extensions
|--------------------------------------------------------------------------
|
| Statamic will only allow uploads of certain approved file extensions.
| If you need to allow more file extensions, you may add them here.
|
*/
'additional_uploadable_extensions' => [],
/*
|--------------------------------------------------------------------------
| Additional Filename Character Replacements
|--------------------------------------------------------------------------
|
| When uploading files, certain characters in filenames will be replaced
| to ensure a safe filename. You may configure additional replacements.
| These are in addition to the native ones. They are not overridable.
|
*/
'additional_filename_replacements' => [],
/*
|--------------------------------------------------------------------------
| SVG Sanitization
|--------------------------------------------------------------------------
|
| Statamic will automatically sanitize SVG files when uploaded to avoid
| potential security issues. However, if you have a valid reason for
| disabling this, and you trust your users, you may do so here.
|
*/
'svg_sanitization_on_upload' => true,
/*
|--------------------------------------------------------------------------
| FFmpeg
|--------------------------------------------------------------------------
|
| Statamic uses FFmpeg to extract thumbnails from videos to be shown in the
| Control Panel. You may adjust the binary location and cache path here.
|
*/
'ffmpeg' => [
'binary' => null,
'cache_path' => storage_path('statamic/glide/ffmpeg'),
],
/*
|--------------------------------------------------------------------------
| Replicator and Bard Set Preview Images
|--------------------------------------------------------------------------
|
| Replicator and Bard sets may have preview images to give users a visual
| representation of the content within. Here you may specify the asset
| container and folder where these preview images are to be stored.
|
*/
'set_preview_images' => [
'container' => 'assets',
'folder' => 'set-previews',
],
];autosave.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Enable autosave
|--------------------------------------------------------------------------
|
| THIS IS A EXPERIMENTAL FEATURE. Things may go wrong.
|
| Set to true to enable autosave. You must also enable autosave
| manually in every collection in order for it to work.
|
| For example, inside `content/collections/pages.yaml`, add
| `autosave: 5000` for a 5s interval or `autosave: true`
| to use the default interval as defined below.
|
*/
'enabled' => false,
/*
|--------------------------------------------------------------------------
| Default autosave interval
|--------------------------------------------------------------------------
|
| The default value may be set here and will apply to all collections.
| However, it is also possible to manually adjust the value in the
| each collection's config file. By default, this is set to 5s.
|
*/
'interval' => 5000,
];cp.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Control Panel
|--------------------------------------------------------------------------
|
| Whether the Control Panel should be enabled, and through what route.
|
*/
'enabled' => env('CP_ENABLED', true),
'route' => env('CP_ROUTE', 'cp'),
/*
|--------------------------------------------------------------------------
| Authentication
|--------------------------------------------------------------------------
|
| Whether the Control Panel's authentication pages should be enabled,
| and where users should be redirected in order to authenticate.
|
*/
'auth' => [
'enabled' => true,
'redirect_to' => null,
],
/*
|--------------------------------------------------------------------------
| Start Page
|--------------------------------------------------------------------------
|
| When a user logs into the Control Panel, they will be taken here.
| For example: "dashboard", "collections/pages", etc.
|
*/
'start_page' => 'dashboard',
/*
|--------------------------------------------------------------------------
| Dashboard Widgets
|--------------------------------------------------------------------------
|
| Here you may define any number of dashboard widgets. You're free to
| use the same widget multiple times in different configurations.
|
*/
'widgets' => [
//
],
/*
|--------------------------------------------------------------------------
| Pagination
|--------------------------------------------------------------------------
|
| Here you may define the default pagination size as well as the options
| the user can select on any paginated listing in the Control Panel.
|
*/
'pagination_size' => 50,
'pagination_size_options' => [10, 25, 50, 100, 500],
/*
|--------------------------------------------------------------------------
| Links to Documentation
|--------------------------------------------------------------------------
|
| Show contextual links to documentation throughout the Control Panel.
|
*/
'link_to_docs' => env('STATAMIC_LINK_TO_DOCS', true),
/*
|--------------------------------------------------------------------------
| Support Link
|--------------------------------------------------------------------------
|
| Set the location of the support link in the header.
|
*/
'support_url' => env('STATAMIC_SUPPORT_URL', 'https://statamic.com/support'),
/*
|--------------------------------------------------------------------------
| White Labeling
|--------------------------------------------------------------------------
|
| When in Pro Mode you may replace the Statamic name, logo, favicon,
| and add your own CSS to the control panel to match your
| company or client's brand.
|
*/
'custom_cms_name' => env('STATAMIC_CUSTOM_CMS_NAME', 'Statamic'),
'custom_logo_url' => env('STATAMIC_CUSTOM_LOGO_URL', null),
'custom_dark_logo_url' => env('STATAMIC_CUSTOM_DARK_LOGO_URL', null),
'custom_logo_text' => env('STATAMIC_CUSTOM_LOGO_TEXT', null),
'custom_favicon_url' => env('STATAMIC_CUSTOM_FAVICON_URL', null),
'custom_css_url' => env('STATAMIC_CUSTOM_CSS_URL', null),
/*
|--------------------------------------------------------------------------
| Default Timezone
|--------------------------------------------------------------------------
|
| Determines the timezone used when displaying and entering dates in the
| Control Panel. Can be overridden by individual date fields. Defaults to
| "auto" which uses the browser's local timezone.
|
*/
'default_timezone' => env('STATAMIC_CP_DEFAULT_TIMEZONE', 'auto'),
/*
|--------------------------------------------------------------------------
| Thumbnails
|--------------------------------------------------------------------------
|
| Here you may define additional CP asset thumbnail presets.
|
*/
'thumbnail_presets' => [
// 'medium' => 800,
],
];editions.php
<?php
return [
'pro' => env('STATAMIC_PRO_ENABLED', false),
'addons' => [
//
],
];forms.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Forms Path
|--------------------------------------------------------------------------
|
| Where your form YAML files are stored.
|
*/
'forms' => resource_path('forms'),
/*
|--------------------------------------------------------------------------
| Email View Folder
|--------------------------------------------------------------------------
|
| The folder under resources/views where your email templates are found.
|
*/
'email_view_folder' => null,
/*
|--------------------------------------------------------------------------
| Send Email Job
|--------------------------------------------------------------------------
|
| The class name of the job that will be used to send an email.
|
*/
'send_email_job' => \Statamic\Forms\SendEmail::class,
/*
|--------------------------------------------------------------------------
| Exporters
|--------------------------------------------------------------------------
|
| Here you may define all the available form submission exporters.
| You may customize the options within each exporter's array.
|
*/
'exporters' => [
'csv' => [
'class' => Statamic\Forms\Exporters\CsvExporter::class,
],
'json' => [
'class' => Statamic\Forms\Exporters\JsonExporter::class,
],
],
];git.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Git Integration
|--------------------------------------------------------------------------
|
| Whether Statamic's git integration should be enabled. This feature
| assumes that git is already installed and accessible by your
| PHP process' server user. For more info, see the docs at:
|
| https://statamic.dev/git-automation
|
*/
'enabled' => env('STATAMIC_GIT_ENABLED', false),
/*
|--------------------------------------------------------------------------
| Automatically Run
|--------------------------------------------------------------------------
|
| By default, commits are automatically queued when `Saved` or `Deleted`
| events are fired. If you prefer users to manually trigger commits
| using the `Git` utility interface, you may set this to `false`.
|
| https://statamic.dev/git-automation#committing-changes
|
*/
'automatic' => env('STATAMIC_GIT_AUTOMATIC', true),
/*
|--------------------------------------------------------------------------
| Queue Connection
|--------------------------------------------------------------------------
|
| You may choose which queue connection should be used when dispatching
| commit jobs. Unless specified, the default connection will be used.
|
| https://statamic.dev/git-automation#queueing-commits
|
*/
'queue_connection' => env('STATAMIC_GIT_QUEUE_CONNECTION'),
/*
|--------------------------------------------------------------------------
| Dispatch Delay
|--------------------------------------------------------------------------
|
| When `Saved` and `Deleted` events queue up commits, you may wish to
| set a delay time in minutes for each queued job. This can allow
| for more consolidated commits when you have multiple users
| making simultaneous content changes to your repository.
|
| Note: Not supported by default `sync` queue driver.
|
*/
'dispatch_delay' => env('STATAMIC_GIT_DISPATCH_DELAY', 0),
/*
|--------------------------------------------------------------------------
| Git User
|--------------------------------------------------------------------------
|
| The git user that will be used when committing changes. By default, it
| will attempt to commit with the authenticated user's name and email
| when possible, falling back to the below user when not available.
|
| https://statamic.dev/git-automation#git-user
|
*/
'use_authenticated' => true,
'user' => [
'name' => env('STATAMIC_GIT_USER_NAME', 'Spock'),
'email' => env('STATAMIC_GIT_USER_EMAIL', 'spock@example.com'),
],
/*
|--------------------------------------------------------------------------
| Tracked Paths
|--------------------------------------------------------------------------
|
| Define the tracked paths to be considered when staging changes. Default
| stache and file locations are already set up for you, but feel free
| to modify these paths to suit your storage config. Referencing
| absolute paths to external repos is also completely valid.
|
*/
'paths' => [
base_path('content'),
base_path('users'),
resource_path('addons'),
resource_path('blueprints'),
resource_path('fieldsets'),
resource_path('forms'),
resource_path('users'),
resource_path('preferences.yaml'),
resource_path('sites.yaml'),
storage_path('forms'),
public_path('assets'),
],
/*
|--------------------------------------------------------------------------
| Git Binary
|--------------------------------------------------------------------------
|
| By default, Statamic will try to use the "git" command, but you can set
| an absolute path to the git binary if necessary for your environment.
|
*/
'binary' => env('STATAMIC_GIT_BINARY', 'git'),
/*
|--------------------------------------------------------------------------
| Commands
|--------------------------------------------------------------------------
|
| Define a list commands to be run when Statamic is ready to `git add`
| and `git commit` your changes. These commands will be run once
| per repo, attempting to consolidate commits where possible.
|
| https://statamic.dev/git-automation#customizing-commits
|
*/
'commands' => [
'{{ git }} add {{ paths }}',
'{{ git }} -c "user.name={{ name }}" -c "user.email={{ email }}" commit -m "{{ message }}"',
],
/*
|--------------------------------------------------------------------------
| Push
|--------------------------------------------------------------------------
|
| Determine whether `git push` should be run after the commands above
| have finished. This is disabled by default, but can be enabled
| globally, or per environment using the provided variable.
|
| https://statamic.dev/git-automation#pushing-changes
|
*/
'push' => env('STATAMIC_GIT_PUSH', false),
/*
|--------------------------------------------------------------------------
| Ignored Events
|--------------------------------------------------------------------------
|
| Statamic will listen on all `Saved` and `Deleted` events, as well
| as any events registered by installed addons. If you wish to
| ignore any specific events, you may reference them here.
|
*/
'ignored_events' => [
// \Statamic\Events\UserSaved::class,
// \Statamic\Events\UserDeleted::class,
],
/*
|--------------------------------------------------------------------------
| Locale
|--------------------------------------------------------------------------
|
| The locale to be used when translating commit messages, etc. By
| default, the authenticated user's locale will be used, but
| feel free to override this using the provided variable.
|
*/
'locale' => env('STATAMIC_GIT_LOCALE', null),
];graphql.php
<?php
return [
/*
|--------------------------------------------------------------------------
| GraphQL
|--------------------------------------------------------------------------
|
| Here you may enable the GraphQL API, and select which resources
| are available to be queried, depending on your site's needs.
|
| https://statamic.dev/graphql
|
*/
'enabled' => env('STATAMIC_GRAPHQL_ENABLED', false),
'resources' => [
'collections' => false,
'navs' => false,
'taxonomies' => false,
'assets' => false,
'globals' => false,
'forms' => false,
'sites' => false,
'users' => false,
],
/*
|--------------------------------------------------------------------------
| Authentication
|--------------------------------------------------------------------------
|
| By default, the GraphQL API will be publicly accessible. However, you
| may define an API token here which will be used to authenticate requests.
|
*/
'auth_token' => env('STATAMIC_GRAPHQL_AUTH_TOKEN'),
/*
|--------------------------------------------------------------------------
| Queries
|--------------------------------------------------------------------------
|
| Here you may list queries to be added to the Statamic schema.
|
| https://statamic.dev/graphql#custom-queries
|
*/
'queries' => [
//
],
/*
|--------------------------------------------------------------------------
| Mutations
|--------------------------------------------------------------------------
|
| Here you may list mutations to be added to the Statamic schema.
|
| https://statamic.dev/graphql#custom-mutations
*/
'mutations' => [
//
],
/*
|--------------------------------------------------------------------------
| Middleware
|--------------------------------------------------------------------------
|
| Here you may list middleware to be added to the Statamic schema.
|
| https://statamic.dev/graphql#custom-middleware
|
*/
'middleware' => [
//
],
/*
|--------------------------------------------------------------------------
| Caching
|--------------------------------------------------------------------------
|
| By default, Statamic will cache each request until the specified
| expiry, or until content is changed. See the documentation for
| more details on how to customize your cache implementation.
|
| https://statamic.dev/graphql#caching
|
*/
'cache' => [
'expiry' => 60,
],
/*
|--------------------------------------------------------------------------
| Introspection
|--------------------------------------------------------------------------
|
| Introspection queries allow a user to see the schema and will power
| development tools. This is "auto" by default, which will enable
| it locally and keep it disabled everywhere else for security.
|
*/
'introspection' => env('STATAMIC_GRAPHQL_INTROSPECTION_ENABLED', 'auto'),
];live_preview.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Devices
|--------------------------------------------------------------------------
|
| Live Preview displays a device selector for you to preview the page
| in predefined sizes. You are free to add or edit these presets.
|
*/
'devices' => [
'Laptop' => ['width' => 1440, 'height' => 900],
'Tablet' => ['width' => 1024, 'height' => 786],
'Mobile' => ['width' => 375, 'height' => 812],
],
/*
|--------------------------------------------------------------------------
| Additional Inputs
|--------------------------------------------------------------------------
|
| Additional fields may be added to the Live Preview header bar. You
| may define a list of Vue components to be injected. Their values
| will be added to the cascade on the front-end for you to use.
|
*/
'inputs' => [
//
],
/*
|--------------------------------------------------------------------------
| Force Reload Javascript Modules
|--------------------------------------------------------------------------
|
| To force a reload, Live Preview appends a timestamp to the URL on
| script tags of type 'module'. You may disable this behavior here.
|
*/
'force_reload_js_modules' => true,
/*
|--------------------------------------------------------------------------
| Hot Reload Contents
|--------------------------------------------------------------------------
|
| Should the Live Preview embed be hot-reloaded when the content changes?
| Only applies when "Refresh" is disabled on the live preview target.
|
*/
'hot_reload_contents' => true,
];markdown.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Markdown Parser Configurations
|--------------------------------------------------------------------------
|
| Here you may define the configuration arrays for each markdown parser.
| You may use the base CommonMark options as well as any extensions'
| options here. The available options are in the CommonMark docs.
|
| https://statamic.dev/extending/markdown#configuration
|
*/
'configs' => [
'default' => [
// 'heading_permalink' => [
// 'symbol' => '#',
// ],
],
],
];oauth.php
<?php
return [
'enabled' => env('STATAMIC_OAUTH_ENABLED', false),
'email_login_enabled' => true,
'providers' => [
// 'github',
],
'routes' => [
'login' => 'oauth/{provider}',
'callback' => 'oauth/{provider}/callback',
],
/*
|--------------------------------------------------------------------------
| Create User
|--------------------------------------------------------------------------
|
| Whether or not a user account should be created upon authentication
| with an OAuth provider. If disabled, a user account will be need
| to be explicitly created ahead of time.
|
*/
'create_user' => true,
/*
|--------------------------------------------------------------------------
| Merge User Data
|--------------------------------------------------------------------------
|
| When authenticating with an OAuth provider, the user data returned
| such as their name will be merged with the existing user account.
|
*/
'merge_user_data' => true,
/*
|--------------------------------------------------------------------------
| Unauthorized Redirect
|--------------------------------------------------------------------------
|
| This controls where the user is taken after authenticating with
| an OAuth provider but their account is unauthorized. This may
| happen when the create_user option has been set to false.
|
*/
'unauthorized_redirect' => null,
/*
|--------------------------------------------------------------------------
| Remember Me
|--------------------------------------------------------------------------
|
| Whether or not the "remember me" functionality should be used when
| authenticating using OAuth. When enabled, the user will remain
| logged in indefinitely, or until they manually log out.
|
*/
'remember_me' => true,
];protect.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Default (or site-wide) Scheme
|--------------------------------------------------------------------------
|
| The default scheme will be applied to every page of the site.
| By default, you probably won't want to protect anything
| at all, but you are free to select one if necessary.
|
*/
'default' => null,
/*
|--------------------------------------------------------------------------
| Protection Schemes
|--------------------------------------------------------------------------
|
| Here you may define all of the protection schemes for your application
| as well as their drivers. You may even define multiple schemes for
| the same driver to easily protect different types of pages.
|
| Supported drivers: "ip_address", "auth", "password"
|
*/
'schemes' => [
'ip_address' => [
'driver' => 'ip_address',
'allowed' => ['127.0.0.1'],
],
'logged_in' => [
'driver' => 'auth',
'login_url' => '/login',
'append_redirect' => true,
],
'password' => [
'driver' => 'password',
'allowed' => ['secret'],
'field' => null,
'form_url' => null,
],
],
];revisions.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Revisions
|--------------------------------------------------------------------------
|
| Revisions must be enabled per-collection by adding `revisions: true` to
| the collection's yaml file. Here you may disable revisions completely
| in one go. This is useful for disabling revisions per environment.
|
*/
'enabled' => env('STATAMIC_REVISIONS_ENABLED', false),
];routes.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Enable Routes
|--------------------------------------------------------------------------
|
| Statamic adds its own routes to the front-end of your site. You are
| free to disable this behavior.
|
| More info: https://statamic.dev/routing
|
*/
'enabled' => true,
/*
|--------------------------------------------------------------------------
| Enable Route Bindings
|--------------------------------------------------------------------------
|
| Whether route bindings for Statamic repositories (entry, taxonomy,
| collections, etc) are enabled for front end routes. This may be
| useful if you want to make your own custom routes with them.
|
*/
'bindings' => false,
/*
|--------------------------------------------------------------------------
| Action Route Prefix
|--------------------------------------------------------------------------
|
| Some extensions may provide routes that go through the frontend of your
| website. These URLs begin with the following prefix. We've chosen an
| unobtrusive default but you are free to select whatever you want.
|
*/
'action' => '!',
/*
|--------------------------------------------------------------------------
| Middleware
|--------------------------------------------------------------------------
|
| Define the middleware that will be applied to the web route group.
|
*/
'middleware' => 'web',
];search.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Default search index
|--------------------------------------------------------------------------
|
| This option controls the search index that gets queried when performing
| search functions without explicitly selecting another index.
|
*/
'default' => env('STATAMIC_DEFAULT_SEARCH_INDEX', 'default'),
/*
|--------------------------------------------------------------------------
| Search Indexes
|--------------------------------------------------------------------------
|
| Here you can define all of the available search indexes.
|
*/
'indexes' => [
'default' => [
'driver' => 'local',
'searchables' => 'content',
'fields' => ['title'],
],
// 'blog' => [
// 'driver' => 'local',
// 'searchables' => 'collection:blog',
// ],
],
/*
|--------------------------------------------------------------------------
| Driver Defaults
|--------------------------------------------------------------------------
|
| Here you can specify default configuration to be applied to all indexes
| that use the corresponding driver. For instance, if you have two
| indexes that use the "local" driver, both of them can have the
| same base configuration. You may override for each index.
|
*/
'drivers' => [
'local' => [
'path' => storage_path('statamic/search'),
],
'algolia' => [
'credentials' => [
'id' => env('ALGOLIA_APP_ID', ''),
'secret' => env('ALGOLIA_SECRET', ''),
],
],
],
/*
|--------------------------------------------------------------------------
| Search Defaults
|--------------------------------------------------------------------------
|
| Here you can specify default configuration to be applied to all indexes
| regardless of the driver. You can override these per driver or per index.
|
*/
'defaults' => [
'fields' => ['title'],
],
/*
|--------------------------------------------------------------------------
| Indexing Queue
|--------------------------------------------------------------------------
|
| Here you may configure the queue name and connection used when indexing
| documents.
|
*/
'queue' => env('STATAMIC_SEARCH_QUEUE'),
'queue_connection' => env('STATAMIC_SEARCH_QUEUE_CONNECTION'),
/*
|--------------------------------------------------------------------------
| Chunk Size
|--------------------------------------------------------------------------
|
| Here you can configure the chunk size used when indexing documents.
| The higher you make it, the more memory it will use, but the quicker
| the indexing process will be.
|
*/
'chunk_size' => 100,
];stache.php
<?php
return [
/*
|--------------------------------------------------------------------------
| File Watcher
|--------------------------------------------------------------------------
|
| File changes will be noticed and data will be updated accordingly.
| This can be disabled to reduce overhead, but you will need to
| either update the cache manually or use the Control Panel.
|
*/
'watcher' => env('STATAMIC_STACHE_WATCHER', 'auto'),
/*
|--------------------------------------------------------------------------
| Cache Store
|--------------------------------------------------------------------------
|
| Here you may configure which Cache Store the Stache uses.
|
*/
'cache_store' => null,
/*
|--------------------------------------------------------------------------
| Stores
|--------------------------------------------------------------------------
|
| Here you may configure the stores that are used inside the Stache.
|
| https://statamic.dev/stache#stores
|
*/
'stores' => [
//
],
/*
|--------------------------------------------------------------------------
| Indexes
|--------------------------------------------------------------------------
|
| Here you may define any additional indexes that will be inherited
| by each store in the Stache. You may also define indexes on a
| per-store level by adding an "indexes" key to its config.
|
*/
'indexes' => [
//
],
/*
|--------------------------------------------------------------------------
| Locking
|--------------------------------------------------------------------------
|
| In order to prevent concurrent requests from updating the Stache at the
| same time and wasting resources, it will be locked so that subsequent
| requests will have to wait until the first one has been completed.
|
| https://statamic.dev/stache#locks
|
*/
'lock' => [
'enabled' => true,
'timeout' => 30,
],
/*
|--------------------------------------------------------------------------
| Warming Optimization
|--------------------------------------------------------------------------
|
| These options control performance optimizations during Stache warming.
|
*/
'warming' => [
// Enable parallel store processing for faster warming on multi-core systems
'parallel_processing' => env('STATAMIC_STACHE_PARALLEL_WARMING', false),
// Maximum number of parallel processes (0 = auto-detect CPU cores)
'max_processes' => env('STATAMIC_STACHE_MAX_PROCESSES', 0),
// Minimum number of stores required to enable parallel processing
'min_stores_for_parallel' => env('STATAMIC_STACHE_MIN_STORES_PARALLEL', 3),
// Concurrency driver: 'process', 'fork', or 'sync'
'concurrency_driver' => env('STATAMIC_STACHE_CONCURRENCY_DRIVER', 'process'),
],
];static_caching.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Active Static Caching Strategy
|--------------------------------------------------------------------------
|
| To enable Static Caching, you should choose a strategy from the ones
| you have defined below. Leave this null to disable static caching.
|
*/
'strategy' => env('STATAMIC_STATIC_CACHING_STRATEGY', null),
/*
|--------------------------------------------------------------------------
| Caching Strategies
|--------------------------------------------------------------------------
|
| Here you may define all of the static caching strategies for your
| application as well as their drivers.
|
| Supported drivers: "application", "file"
|
*/
'strategies' => [
'half' => [
'driver' => 'application',
'expiry' => null,
],
'full' => [
'driver' => 'file',
'path' => public_path('static'),
'lock_hold_length' => 0,
'permissions' => [
'directory' => 0755,
'file' => 0644,
],
],
],
/*
|--------------------------------------------------------------------------
| Exclusions
|--------------------------------------------------------------------------
|
| Here you may define a list of URLs to be excluded from static
| caching. You may want to exclude URLs containing dynamic
| elements like contact forms, or shopping carts.
|
*/
'exclude' => [
'class' => null,
'urls' => [
//
],
],
/*
|--------------------------------------------------------------------------
| Invalidation Rules
|--------------------------------------------------------------------------
|
| Here you may define the rules that trigger when and how content would be
| flushed from the static cache. See the documentation for more details.
| If a custom class is not defined, the default invalidator is used.
|
| https://statamic.dev/static-caching
|
*/
'invalidation' => [
'class' => null,
'rules' => [
//
],
],
/*
|--------------------------------------------------------------------------
| Ignoring Query Strings
|--------------------------------------------------------------------------
|
| Statamic will cache pages of the same URL but with different query
| parameters separately. This is useful for pages with pagination.
| If you'd like to ignore the query strings, you may do so.
|
*/
'ignore_query_strings' => true,
'allowed_query_strings' => [
//
],
'disallowed_query_strings' => [
'fbclid', 'gclid', 'msclkid', 'utm_campaign', 'utm_content', 'utm_medium', 'utm_source', 'utm_term',
],
/*
|--------------------------------------------------------------------------
| Nocache
|--------------------------------------------------------------------------
|
| Here you may define where the nocache data is stored.
|
| https://statamic.dev/tags/nocache#database
|
| Supported drivers: "cache", "database"
|
*/
'nocache' => 'cache',
'nocache_db_connection' => env('STATAMIC_NOCACHE_DB_CONNECTION'),
/*
|--------------------------------------------------------------------------
| Replacers
|--------------------------------------------------------------------------
|
| Here you may define replacers that dynamically replace content within
| the response. Each replacer must implement the Replacer interface.
|
*/
'replacers' => [
\Statamic\StaticCaching\Replacers\CsrfTokenReplacer::class,
\Statamic\StaticCaching\Replacers\NoCacheReplacer::class,
],
/*
|--------------------------------------------------------------------------
| Warm Queue
|--------------------------------------------------------------------------
|
| Here you may define the queue name and connection
| that will be used when warming the static cache and
| optionally set the "--insecure" flag by default.
|
*/
'warm_queue' => env('STATAMIC_STATIC_WARM_QUEUE'),
'warm_queue_connection' => env('STATAMIC_STATIC_WARM_QUEUE_CONNECTION'),
'warm_insecure' => env('STATAMIC_STATIC_WARM_INSECURE', false),
/*
|--------------------------------------------------------------------------
| Background Re-cache
|--------------------------------------------------------------------------
|
| When this is enabled, Statamic will re-cache URLs in the background,
| overwriting the existing cache, without removing it first.
|
*/
'background_recache' => env('STATAMIC_BACKGROUND_RECACHE', false),
'recache_token' => env('STATAMIC_RECACHE_TOKEN'),
'recache_token_parameter' => '__recache',
/*
|--------------------------------------------------------------------------
| Shared Error Pages
|--------------------------------------------------------------------------
|
| You may choose to share the same statically generated error page across
| all errors. For example, the first time a 404 is encountered it will
| be generated and cached, and then served for all subsequent 404s.
|
| This is only supported for half measure.
|
*/
'share_errors' => false,
];system.php
<?php
return [
/*
|--------------------------------------------------------------------------
| License Key
|--------------------------------------------------------------------------
|
| The license key for the corresponding domain from your Statamic account.
| Without a key entered, your app will be considered to be in Trial Mode.
|
| https://statamic.dev/licensing#trial-mode
|
*/
'license_key' => env('STATAMIC_LICENSE_KEY'),
/*
|--------------------------------------------------------------------------
| Enable Multi-site
|--------------------------------------------------------------------------
|
| Whether Statamic's multi-site functionality should be enabled. It is
| assumed Statamic Pro is also enabled. To get started, you can run
| the `php please multisite` command to update your content file
| structure, after which you can manage your sites in the CP.
|
| https://statamic.dev/multi-site
|
*/
'multisite' => false,
/*
|--------------------------------------------------------------------------
| Default Addons Paths
|--------------------------------------------------------------------------
|
| When generating addons via `php please make:addon`, this path will be
| used by default. You can still specify custom repository paths in
| your composer.json, but this is the path used by the generator.
|
*/
'addons_path' => base_path('addons'),
/*
|--------------------------------------------------------------------------
| Blueprints Path
|--------------------------------------------------------------------------
|
| Where your blueprint YAML files are stored.
|
*/
'blueprints_path' => resource_path('blueprints'),
/*
|--------------------------------------------------------------------------
| Fieldsets Path
|--------------------------------------------------------------------------
|
| Where your fieldset YAML files are stored.
|
*/
'fieldsets_path' => resource_path('fieldsets'),
/*
|--------------------------------------------------------------------------
| Send the Powered-By Header
|--------------------------------------------------------------------------
|
| Websites like builtwith.com use the X-Powered-By header to determine
| what technologies are used on a particular site. By default, we'll
| send this header, but you are absolutely allowed to disable it.
|
*/
'send_powered_by_header' => true,
/*
|--------------------------------------------------------------------------
| Date Format
|--------------------------------------------------------------------------
|
| This format will be used whenever a Carbon date is cast to a string on
| front-end routes. It doesn't affect how dates are formatted in the CP.
| You can customize this format using PHP's date string constants.
| Setting this value to null will use Carbon's default format.
|
| https://www.php.net/manual/en/function.date.php
|
*/
'date_format' => 'F jS, Y',
/*
|--------------------------------------------------------------------------
| Timezone
|--------------------------------------------------------------------------
|
| Statamic will use this timezone when displaying dates on the front-end.
| You can use any timezone supported by PHP. When set to null it will
| fall back to the timezone defined in your `app.php` config file.
|
| https://www.php.net/manual/en/timezones.php
|
*/
'display_timezone' => null,
/*
|--------------------------------------------------------------------------
| Localize Dates in Modifiers
|--------------------------------------------------------------------------
|
| When using date-related modifiers, Carbon instances will be in UTC.
| Enabling this setting will ensure that dates get localized into
| the timezone defined in `display_timezone`. Otherwise you'll
| need to manually localize dates in all of your templates.
|
*/
'localize_dates_in_modifiers' => false,
/*
|--------------------------------------------------------------------------
| Default Character Set
|--------------------------------------------------------------------------
|
| Statamic will use this character set when performing specific string
| encoding and decoding operations; This does not apply everywhere.
|
*/
'charset' => 'UTF-8',
/*
|--------------------------------------------------------------------------
| Track Last Update
|--------------------------------------------------------------------------
|
| Statamic will automatically set an `updated_at` timestamp (along with
| `updated_by`, where applicable) when specific content is updated.
| In some situations, you may wish disable this functionality.
|
*/
'track_last_update' => true,
/*
|--------------------------------------------------------------------------
| Enable Cache Tags
|--------------------------------------------------------------------------
|
| Sometimes you'll want to be able to disable the {{ cache }} tags in
| Antlers, so here is where you can do that. Otherwise, it will be
| enabled all the time.
|
*/
'cache_tags_enabled' => env('STATAMIC_CACHE_TAGS_ENABLED', true),
/*
|--------------------------------------------------------------------------
| Intensive Operations
|--------------------------------------------------------------------------
|
| Sometimes Statamic requires extra resources to complete intensive
| operations. Here you may configure system resource limits for
| those rare times when we need to turn things up to eleven!
|
*/
'php_memory_limit' => '-1',
'php_max_execution_time' => '0',
'ajax_timeout' => '600000',
'pcre_backtrack_limit' => '-1',
/*
|--------------------------------------------------------------------------
| Debugbar Integration
|--------------------------------------------------------------------------
|
| Statamic integrates with Laravel Debugbar to bring more detail to your
| debugging experience. Here you may adjust various default options.
|
*/
'debugbar' => [
'pretty_print_variables' => true,
],
/*
|--------------------------------------------------------------------------
| ASCII
|--------------------------------------------------------------------------
|
| During various string manipulations (e.g. slugification), Statamic will
| need to make ASCII character conversions. Here you may define whether
| or not extra characters get converted. e.g. "%" becomes "percent".
|
*/
'ascii_replace_extra_symbols' => false,
/*
|--------------------------------------------------------------------------
| Update References on Change
|--------------------------------------------------------------------------
|
| With this enabled, Statamic will attempt to update references to assets
| and terms when moving, renaming, replacing, deleting, etc. This will
| be queued, but it can disabled as needed for performance reasons.
|
*/
'update_references' => true,
/*
|--------------------------------------------------------------------------
| Always Augment to Query
|--------------------------------------------------------------------------
|
| By default, Statamic will augment relationship fields with max_items: 1
| to the result of a query, for example an Entry instance. Setting this
| to true will augment to the query builder instead of the result.
|
*/
'always_augment_to_query' => false,
/*
|--------------------------------------------------------------------------
| Row ID handle
|--------------------------------------------------------------------------
|
| Rows in Grid, Replicator, and Bard fields will be given a unique ID using
| the "id" field. You may need your own field named "id", in which case
| you may customize the handle of the field that Statamic will use.
|
*/
'row_id_handle' => 'id',
/*
|--------------------------------------------------------------------------
| Fake SQL Queries
|--------------------------------------------------------------------------
|
| Enable while using the flat-file Stache driver to show fake "SQL" query
| approximations in your database debugging tools — including Debugbar,
| Laravel Telescope, and Ray with the ray()->showQueries() helper.
|
*/
'fake_sql_queries' => config('app.debug'),
/*
|--------------------------------------------------------------------------
| Layout
|--------------------------------------------------------------------------
|
| Define the default layout that will be used by views.
|
*/
'layout' => env('STATAMIC_LAYOUT', 'layout'),
];templates.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Template Language
|--------------------------------------------------------------------------
|
| The preferred templated language to use when scaffolding templates.
|
| Acceptable values are 'blade' and 'antlers'
*/
'language' => 'antlers',
/*
|--------------------------------------------------------------------------
| Code Style
|--------------------------------------------------------------------------
|
| Here you may configure the code generator's output style.
|
*/
'style' => [
'line_ending' => 'auto',
'indent_type' => 'space',
'indent_size' => 4,
'final_newline' => false,
],
/*
|--------------------------------------------------------------------------
| Antlers Settings
|--------------------------------------------------------------------------
|
| Antlers specific template generation settings.
|
*/
'antlers' => [
'use_components' => false,
],
];users.php
<?php
return [
/*
|--------------------------------------------------------------------------
| User Repository
|--------------------------------------------------------------------------
|
| Statamic uses a repository to get users, roles, groups, and their
| relationships from specified storage locations. The file driver
| gets it from disk, while the eloquent driver gets from a DB.
|
| Supported: "file", "eloquent"
|
*/
'repository' => 'file',
'repositories' => [
'file' => [
'driver' => 'file',
'paths' => [
'roles' => resource_path('users/roles.yaml'),
'groups' => resource_path('users/groups.yaml'),
],
],
'eloquent' => [
'driver' => 'eloquent',
],
],
/*
|--------------------------------------------------------------------------
| Avatars
|--------------------------------------------------------------------------
|
| User avatars are initials by default, with custom options for services
| like Gravatar.com.
|
| Supported: "initials", "gravatar", or a custom class name.
|
*/
'avatars' => 'initials',
/*
|--------------------------------------------------------------------------
| New User Roles
|--------------------------------------------------------------------------
|
| When registering new users through the user:register_form tag, these
| roles will automatically be applied to your newly created users.
|
*/
'new_user_roles' => [
//
],
/*
|--------------------------------------------------------------------------
| New User Groups
|--------------------------------------------------------------------------
|
| When registering new users through the user:register_form tag, these
| groups will automatically be applied to your newly created users.
|
*/
'new_user_groups' => [
//
],
/*
|--------------------------------------------------------------------------
| Registration form honeypot field
|--------------------------------------------------------------------------
|
| When registering new users through the user:register_form tag,
| specify the field to act as a honeypot for bots
|
*/
'registration_form_honeypot_field' => null,
/*
|--------------------------------------------------------------------------
| User Wizard Invitation Email
|--------------------------------------------------------------------------
|
| When creating new users through the wizard in the control panel,
| you may choose whether to be able to send an invitation email.
| Setting to true will give the user the option. But setting
| it to false will disable the invitation option entirely.
|
*/
'wizard_invitation' => true,
/*
|--------------------------------------------------------------------------
| Password Brokers
|--------------------------------------------------------------------------
|
| When resetting passwords, Statamic uses an appropriate password broker.
| Here you may define which broker should be used for each situation.
| You may want a longer expiry for user activations, for example.
|
*/
'passwords' => [
'resets' => 'users',
'activations' => 'activations',
],
/*
|--------------------------------------------------------------------------
| Database
|--------------------------------------------------------------------------
|
| Here you may configure the database connection and its table names.
|
*/
'database' => config('database.default'),
'tables' => [
'users' => 'users',
'role_user' => 'role_user',
'roles' => false,
'group_user' => 'group_user',
'groups' => false,
'webauthn' => 'webauthn',
],
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| By default, Statamic will use the `web` authentication guard. However,
| if you want to run Statamic alongside the default Laravel auth
| guard, you can configure that for your cp and/or frontend.
|
*/
'guards' => [
'cp' => 'web',
'web' => 'web',
],
/*
|--------------------------------------------------------------------------
| Impersonation
|--------------------------------------------------------------------------
|
| Here you can configure if impersonation is available, and what URL to
| redirect to after impersonation begins.
|
*/
'impersonate' => [
'enabled' => env('STATAMIC_IMPERSONATE_ENABLED', true),
'redirect' => env('STATAMIC_IMPERSONATE_REDIRECT', null),
],
/*
|--------------------------------------------------------------------------
| Elevated Sessions
|--------------------------------------------------------------------------
|
| Users may be required to reauthorize before performing certain
| sensitive actions. This is called an elevated session. Here
| you may configure the duration of the session in minutes.
| You may also disable the elevated session entirely.
|
*/
'elevated_sessions_enabled' => env('STATAMIC_ELEVATED_SESSIONS_ENABLED', true),
'elevated_session_duration' => 15,
'elevated_sessions_url' => null,
/*
|--------------------------------------------------------------------------
| Two-Factor Authentication
|--------------------------------------------------------------------------
|
| Here you may disable two-factor authentication entirely. This can be
| useful on local or staging environments, or when using OAuth.
|
*/
'two_factor_enabled' => env('STATAMIC_TWO_FACTOR_ENABLED', true),
/*
|--------------------------------------------------------------------------
| Enforce Two-Factor Authentication
|--------------------------------------------------------------------------
|
| Specify which user roles should be required to enable two-factor
| authentication. Use "*" to enforce 2FA for all users, or "super_users"
| to enforce it for super users.
|
*/
'two_factor_enforced_roles' => [],
/*
|--------------------------------------------------------------------------
| Two-Factor Authentication URLs
|--------------------------------------------------------------------------
|
| When users log in to the frontend and need to verify a two-factor code
| or set up two-factor authentication, they will be redirected to these
| URLs. Leave null to use the built-in pages. Control panel flows are
| unaffected and always use their own pages.
|
*/
'two_factor_challenge_url' => null,
'two_factor_setup_url' => null,
/*
|--------------------------------------------------------------------------
| Default Sorting
|--------------------------------------------------------------------------
|
| Here you may configure the default sort behavior for user listings.
|
*/
'sort_field' => 'email',
'sort_direction' => 'asc',
];webauthn.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Allow password logins to be used when user has a passkey
|--------------------------------------------------------------------------
|
| Whether or not the password field should be shown to users that
| have set up a passkey, or whether it should be hidden.
|
*/
'allow_password_login_with_passkey' => true,
/*
|--------------------------------------------------------------------------
| Remember Me
|--------------------------------------------------------------------------
|
| Whether or not the "remember me" functionality should be used when
| authenticating using WebAuthn. When enabled, the user will remain
| logged in indefinitely, or until they manually log out.
|
*/
'remember_me' => true,
/*
|--------------------------------------------------------------------------
| Model
|--------------------------------------------------------------------------
|
| When using eloquent passkeys you can specify the model you want to use
|
*/
'model' => \Statamic\Auth\Eloquent\WebAuthnModel::class,
];