Set up a fresh Statamic site

This commit is contained in:
2025-11-23 13:41:35 +01:00
commit 618cc0f799
104 changed files with 15130 additions and 0 deletions

View File

@ -0,0 +1,60 @@
<?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' => [
],
];

87
config/statamic/api.php Normal file
View File

@ -0,0 +1,87 @@
<?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'),
/*
|--------------------------------------------------------------------------
| Middleware & Authentication
|--------------------------------------------------------------------------
|
| 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' => [
//
],
];

238
config/statamic/assets.php Normal file
View File

@ -0,0 +1,238 @@
<?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" or "imagick" (if installed on your server)
|
*/
'driver' => 'gd',
/*
|--------------------------------------------------------------------------
| Additional Image Extensions
|--------------------------------------------------------------------------
|
| Define any additional image file extensions you would like Statamic to
| process. You should ensure that both your server and the selected
| image manipulation driver properly supports these extensions.
|
*/
'additional_extensions' => [
// 'heic',
],
/*
|--------------------------------------------------------------------------
| 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,
],
/*
|--------------------------------------------------------------------------
| 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' => [],
/*
|--------------------------------------------------------------------------
| 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,
/*
|--------------------------------------------------------------------------
| Use V6 Permissions
|--------------------------------------------------------------------------
|
| This allows you to opt in to the asset permissions that will become the
| default behavior in Statamic 6. This will be removed in Statamic 6.
|
*/
'v6_permissions' => false,
];

View File

@ -0,0 +1,36 @@
<?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,
];

160
config/statamic/cp.php Normal file
View File

@ -0,0 +1,160 @@
<?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' => [
'getting_started',
],
/*
|--------------------------------------------------------------------------
| Date Format
|--------------------------------------------------------------------------
|
| When a date is encountered throughout the Control Panel, it will be
| rendered in the following format unless overridden in specific
| fields, and so on. Any PHP date variables are permitted.
|
| This takes precedence over the date_format in system.php.
|
| https://www.php.net/manual/en/function.date.php
|
*/
'date_format' => 'Y-m-d',
/*
|--------------------------------------------------------------------------
| 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 "Useful Links" header
| dropdown. Use 'false' to remove it entirely.
|
*/
'support_url' => env('STATAMIC_SUPPORT_URL', 'https://statamic.com/support'),
/*
|--------------------------------------------------------------------------
| Theme
|--------------------------------------------------------------------------
|
| Optionally spice up the login and other outside-the-control-panel
| screens. You may choose between "rad" or "business" themes.
|
*/
'theme' => env('STATAMIC_THEME', 'rad'),
/*
|--------------------------------------------------------------------------
| 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),
/*
|--------------------------------------------------------------------------
| Thumbnails
|--------------------------------------------------------------------------
|
| Here you may define additional CP asset thumbnail presets.
|
*/
'thumbnail_presets' => [
// 'medium' => 800,
],
];

View File

@ -0,0 +1,11 @@
<?php
return [
'pro' => env('STATAMIC_PRO_ENABLED', false),
'addons' => [
//
],
];

57
config/statamic/forms.php Normal file
View File

@ -0,0 +1,57 @@
<?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,
],
],
];

184
config/statamic/git.php Normal file
View File

@ -0,0 +1,184 @@
<?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('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),
];

View File

@ -0,0 +1,91 @@
<?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,
],
/*
|--------------------------------------------------------------------------
| 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,
],
];

View File

@ -0,0 +1,48 @@
<?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,
];

View File

@ -0,0 +1,28 @@
<?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' => '#',
// ],
],
],
];

69
config/statamic/oauth.php Normal file
View File

@ -0,0 +1,69 @@
<?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,
];

View File

@ -0,0 +1,53 @@
<?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,
],
],
];

View File

@ -0,0 +1,30 @@
<?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),
/*
|--------------------------------------------------------------------------
| Storage Path
|--------------------------------------------------------------------------
|
| This is the directory where your revision files will be located. Within
| here, they will be further organized into collection, site, ID, etc.
|
*/
'path' => env('STATAMIC_REVISIONS_PATH', storage_path('statamic/revisions')),
];

View File

@ -0,0 +1,56 @@
<?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',
];

View File

@ -0,0 +1,82 @@
<?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' => 'all',
'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'],
],
];

118
config/statamic/ssg.php Normal file
View File

@ -0,0 +1,118 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Base URL
|--------------------------------------------------------------------------
|
| This informs the generator where the static site will eventually be hosted.
| For instance, if you are relying on absolute URLs in your app, this one
| will be used. It should be an absolute URL, eg. "http://my-app.com"
|
*/
'base_url' => config('app.url'),
/*
|--------------------------------------------------------------------------
| Destination Directory
|--------------------------------------------------------------------------
|
| This option defines where the static files will be saved.
|
*/
'destination' => storage_path('app/static'),
/*
|--------------------------------------------------------------------------
| Files and Symlinks
|--------------------------------------------------------------------------
|
| You are free to define a set of directories to be copied along with the
| generated HTML files. For example, you may want to link your CSS,
| JavaScript, static images, and perhaps any uploaded assets.
| You may choose to symlink rather than copy.
|
*/
'copy' => [
public_path('build') => 'build',
],
'symlinks' => [
// public_path('build') => 'build',
],
/*
|--------------------------------------------------------------------------
| Additional URLs
|--------------------------------------------------------------------------
|
| Here you may define a list of additional URLs to be generated,
| such as manually created routes.
|
*/
'urls' => [
//
],
/*
|--------------------------------------------------------------------------
| Exclude URLs
|--------------------------------------------------------------------------
|
| Here you may define a list of URLs that should not be generated.
|
*/
'exclude' => [
//
],
/*
|--------------------------------------------------------------------------
| Pagination Route
|--------------------------------------------------------------------------
|
| Here you may define how paginated entries are routed. This will take
| effect wherever pagination is detected in your antlers templates,
| like if you use the `paginate` param on the `collection` tag.
|
*/
'pagination_route' => '{url}/{page_name}/{page_number}',
/*
|--------------------------------------------------------------------------
| Glide
|--------------------------------------------------------------------------
|
| Glide images are dynamically resized server-side when requesting a URL.
| On a static site, you would just be serving HTML files without PHP.
| Glide images will be pre-generated into the given directory.
|
*/
'glide' => [
'directory' => 'img',
'override' => true,
],
/*
|--------------------------------------------------------------------------
| Failures
|--------------------------------------------------------------------------
|
| You may configure whether the console command will exit early with a
| failure status code when it encounters errors or warnings. You may
| want to do this to prevent deployments in CI environments, etc.
|
*/
'failures' => false, // 'errors' or 'warnings'
];

View File

@ -0,0 +1,77 @@
<?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,
],
];

View File

@ -0,0 +1,179 @@
<?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' => false,
'allowed_query_strings' => [
//
],
'disallowed_query_strings' => [
//
],
/*
|--------------------------------------------------------------------------
| 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'),
'nocache_js_position' => 'body',
/*
|--------------------------------------------------------------------------
| 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),
/*
|--------------------------------------------------------------------------
| 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,
];

243
config/statamic/system.php Normal file
View File

@ -0,0 +1,243 @@
<?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
|--------------------------------------------------------------------------
|
| Whenever a Carbon date is cast to a string on front-end routes, it will
| use this format. On CP routes, the format defined in cp.php is used.
| 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',
/*
|--------------------------------------------------------------------------
| 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'),
];

182
config/statamic/users.php Normal file
View File

@ -0,0 +1,182 @@
<?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,
],
/*
|--------------------------------------------------------------------------
| 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),
],
/*
|--------------------------------------------------------------------------
| Default Sorting
|--------------------------------------------------------------------------
|
| Here you may configure the default sort behavior for user listings.
|
*/
'sort_field' => 'email',
'sort_direction' => 'asc',
];