artisandm / craft
nystudio107 Craft 3 CMS 框架项目
- dev-craft-webpack
- 2.4.56beta2
- 2.4.56-beta
- 2.4.55.1
- 2.4.55
- 2.4.54
- 2.4.53
- 2.4.52
- 2.4.51
- 2.4.50
- 2.4.49
- 2.4.48
- 2.4.47
- 2.4.46
- 2.4.45
- 2.4.44
- 2.4.43
- 2.4.42
- 2.4.41
- 2.4.40
- 2.4.39
- 2.4.38
- 2.4.37
- 2.4.36
- 2.4.35
- 2.4.34
- 2.4.33
- 2.4.32
- 2.4.31
- 2.4.30
- 2.4.29
- 2.4.28
- 2.4.27
- 2.4.26
- 2.4.25
- 2.4.24
- 2.4.23
- 2.4.22
- 2.4.21
- 2.4.20
- 2.4.19
- 2.4.17
- 2.4.16
- 2.4.15
- 2.4.14
- 2.4.13
- 2.4.12
- 2.4.11
- 2.4.10
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.3.15
- 2.3.14
- 2.3.13
- 2.3.12
- 2.3.11
- 2.3.9
- 2.3.8
- 2.3.7
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.13
- 2.2.12
- 2.2.11
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.1
- 2.2.0
- 2.1.1
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.7
- 1.0.6
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-develop
- dev-craft-vite
- dev-craft-gulp
This package is auto-updated.
Last update: 2022-11-30 20:12:51 UTC
README
关于 nystudio107/craft
这是一个 Craft 3 CMS 项目的替代框架包,用于 Pixel & Tonic 的经典 craftcms/craft 包。
该项目基于 Craft CMS,使用独特的 templates/_boilerplate 系统进行网页/AJAX/AMP 页面,并实现了一系列技术和技巧。
- Docker 用于本地开发;有关详细信息,请参阅下文的 设置本地开发环境
- 基于 一个有效的 Twig 基础模板设置 描述的基 Twig 模板配置
- webpack 5 用于构建系统,如 一个标注的 webpack 4 前端 Web 开发配置 中所述
- TypeScript 用于严格类型的 JavaScript 代码
- Vue.js 3.0 用于网站的一些交互部分,Vue.js 3.x 允许我们利用 组合式 API
- Tailwind CSS 用于网站范围 CSS,使用 @tailwindcss/jit
- 按照 标注的 JSON-LD 结构化数据示例 使用 JSON-LD 结构化数据
- 播客集锦和其他页面的 Google AMP 版本
- 通过 Serverless Image Handler lambda 函数进行图像转换,如 设置您自己的图像转换服务 文章所述
- 静态资产存储在 AWS S3 存储桶中,使用 CloudFront 作为 CDN,如 为您的资产设置 AWS S3 存储桶 + CloudFront CDN 文章所述
- 通过 Google 的 Workbox 实现服务工作者,如 服务工作者和离线浏览 中所述
- 按照 在您的网站上实现关键 CSS 中所述的关键 CSS
- 按照 在 Craft CMS 中优雅地处理错误 中所述的前端错误处理
- 根据使用自定义模块增强Craft CMS 3网站创建的自定义网站模块
- 根据Craft CMS中强大的队列作业处理创建的基于CLI的队列
- 根据Craft CMS静态页面缓存创建的FastCGI静态缓存
- buddy.works原子部署
...以及其他一些东西。
以下Craft CMS插件在此网站上使用
- FastCGI Cache Bust - 当条目被修改时,用于清除FastCGI缓存
- ImageOptimize - 用于网站上优化的图像和
srcset - Minify - 用于压缩HTML和内联JS/CSS
- Retour - 用于设置404重定向
- SEOmatic - 用于处理网站SEO
- Twigpack - 用于以现代方式加载webpack生成的
manifest.json资源 - Typogrify - 用于智能引号和其他排版连字
- Webperf - 用于监控网站性能
您可以在设置新的Craft 3 CMS项目文章中了解更多信息。
使用nystudio107/craft
此项目包与Pixel & Tonic的craftcms/craft包的工作方式完全相同;您首先创建并安装项目来创建新项目
composer create-project nystudio107/craft PATH --no-install --remove-vcs
确保PATH是您的项目路径,包括您希望的项目名称,例如:
composer create-project nystudio107/craft craft3 --no-install --remove-vcs
我们使用--no-install,这样就不会安装根项目的composer包。
设置本地开发
您需要安装Docker桌面以在本地开发中运行项目
- 在
cms/目录中设置一个基于提供的example.env的.env文件 - 在
scripts/目录中设置一个基于提供的example.env.sh的.env.sh文件 - 在项目的根目录中,在终端中输入
make dev以启动网站(第一次构建可能有些漫长) - 导航到
https://:8000以使用网站;webpack-dev-server在https://:8080上运行
等待看到以下内容以指示PHP容器已就绪
php_1 | Craft is installed.
php_1 | Applying changes from your project config files ... done
php_1 | [01-Dec-2020 18:38:46] NOTICE: fpm is running, pid 22
php_1 | [01-Dec-2020 18:38:46] NOTICE: ready to handle connections
...以及以下内容以指示webpack容器已就绪
webpack_1 | <i> devmode-fm (webpack 5.9.0) compiled successfully in 12097 ms
webpack_1 | <i> [webpack-dev-middleware] Child "devmode-fm": Compiled successfully.
CP登录凭证最初设置如下
登录: andrew@nystudio107.com
密码: letmein
显然,根据需要将这些更改为您想要的任何内容。
通过输入make build构建生产资产以构建关键的CSS、字体和其他生产资产。它们将出现在cms/web/dist/中(只需双击report-legacy.html和report-modern.html文件以查看它们)。
注意:没有授权和凭证(这些是私有的),make pulldb将无法工作(它只是运行scripts/docker_pull_db.sh)。这里提供它作为教学用途。
Makefile项目命令
本项目使用Docker将运行所需的DevOps封装在项目周围。
为了使其更易于使用,我们正在使用Makefile和内置的make工具创建本地别名。您可以在项目目录的终端中运行以下命令
make dev- 启动监听在https://:8000/的本地开发服务器make build- 通过webpack 5构建链构建静态资源make clean- 关闭Docker容器,删除任何挂载的卷(包括数据库),然后从头开始重建容器make update- 使项目更新到最新的Composer和NPM依赖项make update-clean- 完全删除node_modules/和vendor/,然后使项目更新到最新的Composer和NPM依赖项make composer xxx- 运行传入的composer命令,例如make composer installmake craft xxx- 运行传入的craft控制台命令,例如在php容器中运行make craft project-config/applymake npm xxx- 运行传入的npm命令,例如make npm installmake pulldb- 运行scripts/docker_pull_db.sh脚本来将远程数据库拉入数据库容器;必须首先设置scripts/.env.shmake restoredb xxx- 运行scripts/docker_restore_db.sh脚本来将本地数据库备份恢复到数据库容器中;必须首先设置scripts/.env.sh
其他说明
要更新到最新的Composer包(受限于cms/composer.json的semvers)和最新的npm包(受限于docker-config/webpack-dev-devmode/package.json的semvers),请执行以下操作
make update
要从头开始,先删除buildchain/node_modules/和cms/vendor/,然后更新到最新的Composer包(受限于cms/composer.json的semvers)和最新的npm包(受限于docker-config/webpack-dev-devmode/package.json的semvers),请执行以下操作
make update-clean
要使用VSCode中的Xdebug,请安装PHP调试扩展,并在您的.vscode/launch.json中使用以下配置
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"log": true,
"externalConsole": false,
"pathMappings": {
"/var/www/project/cms": "${workspaceRoot}/cms"
},
"ignore": ["**/vendor/**/*.php"]
}
]
}
以下是Pixel & Tonic的craftcms/craft的完整、未修改的README.md
.....
关于Craft CMS
Craft是一个灵活且可扩展的CMS,用于在网页和其他地方创建定制的数字体验。
它具有以下功能
更多关于Craft CMS的信息,请访问craftcms.com。
技术规范
Craft是用PHP(7+)编写的,基于Yii 2框架构建的。它可以连接到MySQL(5.5+)和PostgreSQL(9.5+)以存储内容。
安装
有关安装Craft 3的帮助,请参阅以下文档页面
常用资源
- 文档 – 阅读官方文档。
- 指南 – 按照官方指南进行操作。
- #craftcms – 查看关于Craft的最新推文。
- Discord – 加入社区。
- Stack Exchange – 获取帮助并帮助他人。
- CraftQuest – 观看无限的视频课程和教程。
- Craft Link List – 保持最新资讯。
- nystudio107 博客 – 学习Craft和现代网页开发。