├── .env.example.dev
├── .env.example.production
├── .env.example.staging
├── .gitignore
├── bootstrap.php
├── composer.json
├── composer.json.default
├── config
├── app.php
├── general.php
├── htmlpurifier
│ └── Default.json
├── redirects.php
└── routes.php
├── craft
├── storage
└── .gitignore
├── templates
└── index.twig
└── web
├── .htaccess
├── cpresources
└── .gitignore
└── index.php
/.env.example.dev:
--------------------------------------------------------------------------------
1 | # Read about configuration, here:
2 | # https://craftcms.com/docs/5.x/configure.html
3 |
4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more
5 | CRAFT_APP_ID=
6 |
7 | # The environment Craft is currently running in (dev, staging, production, etc.)
8 | CRAFT_ENVIRONMENT=dev
9 |
10 | # General settings
11 | CRAFT_SECURITY_KEY=
12 | CRAFT_DEV_MODE=true
13 | CRAFT_ALLOW_ADMIN_CHANGES=true
14 | CRAFT_DISALLOW_ROBOTS=true
15 |
--------------------------------------------------------------------------------
/.env.example.production:
--------------------------------------------------------------------------------
1 | # Read about configuration, here:
2 | # https://craftcms.com/docs/5.x/configure.html
3 |
4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more
5 | CRAFT_APP_ID=
6 |
7 | # The environment Craft is currently running in (dev, staging, production, etc.)
8 | CRAFT_ENVIRONMENT=production
9 |
10 | # Database connection settings
11 | CRAFT_DB_DRIVER=mysql
12 | CRAFT_DB_SERVER=127.0.0.1
13 | CRAFT_DB_PORT=3306
14 | CRAFT_DB_DATABASE=
15 | CRAFT_DB_USER=root
16 | CRAFT_DB_PASSWORD=
17 | CRAFT_DB_SCHEMA=public
18 | CRAFT_DB_TABLE_PREFIX=
19 |
20 | # General settings
21 | CRAFT_SECURITY_KEY=
22 | CRAFT_DEV_MODE=false
23 | CRAFT_ALLOW_ADMIN_CHANGES=false
24 | CRAFT_DISALLOW_ROBOTS=false
25 |
--------------------------------------------------------------------------------
/.env.example.staging:
--------------------------------------------------------------------------------
1 | # Read about configuration, here:
2 | # https://craftcms.com/docs/5.x/configure.html
3 |
4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more
5 | CRAFT_APP_ID=
6 |
7 | # The environment Craft is currently running in (dev, staging, production, etc.)
8 | CRAFT_ENVIRONMENT=staging
9 |
10 | # Database connection settings
11 | CRAFT_DB_DRIVER=mysql
12 | CRAFT_DB_SERVER=127.0.0.1
13 | CRAFT_DB_PORT=3306
14 | CRAFT_DB_DATABASE=
15 | CRAFT_DB_USER=root
16 | CRAFT_DB_PASSWORD=
17 | CRAFT_DB_SCHEMA=public
18 | CRAFT_DB_TABLE_PREFIX=
19 |
20 | # General settings
21 | CRAFT_SECURITY_KEY=
22 | CRAFT_DEV_MODE=false
23 | CRAFT_ALLOW_ADMIN_CHANGES=false
24 | CRAFT_DISALLOW_ROBOTS=true
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.env
2 | /.idea
3 | /vendor
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/bootstrap.php:
--------------------------------------------------------------------------------
1 | safeLoad();
18 | }
19 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "craftcms/craft",
3 | "description": "Craft CMS",
4 | "keywords": [
5 | "craft",
6 | "cms",
7 | "craftcms",
8 | "project"
9 | ],
10 | "license": "0BSD",
11 | "homepage": "https://craftcms.com/",
12 | "type": "project",
13 | "support": {
14 | "email": "support@craftcms.com",
15 | "issues": "https://github.com/craftcms/cms/issues",
16 | "forum": "https://craftcms.stackexchange.com/",
17 | "source": "https://github.com/craftcms/cms",
18 | "docs": "https://craftcms.com/docs",
19 | "rss": "https://craftcms.com/changelog.rss"
20 | },
21 | "minimum-stability": "dev",
22 | "prefer-stable": true,
23 | "require": {
24 | "craftcms/cms": "^5.0.0",
25 | "vlucas/phpdotenv": "^5.4.0"
26 | },
27 | "require-dev": {
28 | "craftcms/generator": "^2.0.0",
29 | "yiisoft/yii2-shell": "^2.0.3"
30 | },
31 | "config": {
32 | "allow-plugins": {
33 | "craftcms/plugin-installer": true,
34 | "yiisoft/yii2-composer": true
35 | },
36 | "sort-packages": true,
37 | "optimize-autoloader": true,
38 | "platform": {
39 | "php": "8.2"
40 | }
41 | },
42 | "scripts": {
43 | "post-create-project-cmd": [
44 | "@php -r \"file_exists('.env') || copy('.env.example.dev', '.env');\"",
45 | "@php -r \"unlink('composer.json');\"",
46 | "@php -r \"rename('composer.json.default', 'composer.json');\"",
47 | "@php craft install"
48 | ]
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/composer.json.default:
--------------------------------------------------------------------------------
1 | {
2 | "minimum-stability": "dev",
3 | "prefer-stable": true,
4 | "require": {
5 | "craftcms/cms": "^5.0.0",
6 | "vlucas/phpdotenv": "^5.4.0"
7 | },
8 | "require-dev": {
9 | "craftcms/generator": "^2.0.0",
10 | "yiisoft/yii2-shell": "^2.0.3"
11 | },
12 | "config": {
13 | "allow-plugins": {
14 | "craftcms/plugin-installer": true,
15 | "yiisoft/yii2-composer": true
16 | },
17 | "sort-packages": true,
18 | "optimize-autoloader": true,
19 | "platform": {
20 | "php": "8.2"
21 | }
22 | },
23 | "scripts": {
24 | "post-root-package-install": [
25 | "@php -r \"file_exists('.env') || copy('.env.example.dev', '.env');\""
26 | ]
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/config/app.php:
--------------------------------------------------------------------------------
1 | App::env('CRAFT_APP_ID') ?: 'CraftCMS',
27 | ];
28 |
--------------------------------------------------------------------------------
/config/general.php:
--------------------------------------------------------------------------------
1 | defaultWeekStartDay(1)
18 | // Prevent generated URLs from including "index.php"
19 | ->omitScriptNameInUrls()
20 | // Preload Single entries as Twig variables
21 | ->preloadSingles()
22 | // Prevent user enumeration attacks
23 | ->preventUserEnumeration()
24 | // Set the @webroot alias so the clear-caches command knows where to find CP resources
25 | ->aliases([
26 | '@webroot' => dirname(__DIR__) . '/web',
27 | ])
28 | ;
29 |
--------------------------------------------------------------------------------
/config/htmlpurifier/Default.json:
--------------------------------------------------------------------------------
1 | {
2 | "Attr.AllowedFrameTargets": [
3 | "_blank"
4 | ],
5 | "Attr.EnableID": true,
6 | "HTML.AllowedComments": [
7 | "pagebreak"
8 | ],
9 | "HTML.SafeIframe": true,
10 | "URI.SafeIframeRegexp": "%^(https?:)?//(www\\.youtube\\.com/|youtu\\.be|player\\.vimeo\\.com/)%"
11 | }
12 |
--------------------------------------------------------------------------------
/config/redirects.php:
--------------------------------------------------------------------------------
1 | 'new/path',
12 | * ];
13 | * ```
14 | *
15 | * …or a nested array with `from`, `to`, `caseSensitive`, and `statusCode` keys:
16 | *
17 | * ```php
18 | * return [
19 | * [
20 | * 'from' => 'Helpdesk.aspx',
21 | * 'to' => 'account/tickets',
22 | * 'caseSensitive' => true,
23 | * 'statusCode' => 301,
24 | * ],
25 | * ];
26 | * ```
27 | *
28 | * Read all about Craft’s redirection behavior and capabilities, here:
29 | * @link https://craftcms.com/docs/5.x/system/routing.html#redirection
30 | */
31 |
32 | return [];
33 |
--------------------------------------------------------------------------------
/config/routes.php:
--------------------------------------------------------------------------------
1 | run();
14 | exit($exitCode);
15 |
--------------------------------------------------------------------------------
/storage/.gitignore:
--------------------------------------------------------------------------------
1 | backups
2 | composer-backups
3 | config-backups
4 | logs
5 | runtime
6 |
--------------------------------------------------------------------------------
/templates/index.twig:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Welcome to Craft CMS
7 |
8 |
9 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
Welcome
160 |
Thanks for installing Craft CMS!
161 |
You’re looking at the index.twig
template file located in your
162 | templates/
folder. Once you’re ready to start building out your site’s
163 | front end, you can replace this with something custom.
164 |
If you’re new to Craft CMS, take some time to check out the resources on the right
165 | when you get a chance—especially
166 | Discord
167 | and Stack Exchange.
168 | The Craft community is full of smart, friendly, and helpful people!
169 |
Go to your control panel
170 |
171 |
172 |
173 |
174 |
Popular Resources
175 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
--------------------------------------------------------------------------------
/web/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | RewriteEngine On
3 |
4 | # Route 404s to index.php
5 | RewriteCond %{REQUEST_FILENAME} !-f
6 | RewriteCond %{REQUEST_FILENAME} !-d
7 | RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
8 | RewriteRule (.+) index.php [L]
9 |
10 |
--------------------------------------------------------------------------------
/web/cpresources/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/web/index.php:
--------------------------------------------------------------------------------
1 | run();
13 |
--------------------------------------------------------------------------------