nystudio107 / craft
nystudio107 Craft 3 CMS 框架项目
- dev-craft-vite
- 2.5.13
- 2.5.12
- 2.5.11
- 2.5.10
- 2.5.9
- 2.5.8
- 2.5.7
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 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-webpack
- dev-craft-gulp
This package is auto-updated.
Last update: 2024-08-27 14:45:07 UTC
README
关于 nystudio107/craft
这是一个为 Craft 3 CMS 项目提供的替代框架包,与 Pixel & Tonic 的官方 craftcms/craft 包不同。
Vite 构建链
该项目使用 Vite.js 作为构建系统,如 Vite.js Next Generation Frontend Tooling + Craft CMS 中所述,而不是通常的 webpack 构建。
Vite 是 快速的 ⚡
项目
该项目基于 Craft CMS,使用独特的 templates/_boilerplate
系统进行网页/AJAX/AMP 页面的开发,并实现了一系列技术和技巧。
- Docker 使用 Docker 进行本地开发;有关详细信息,请参阅下面的 设置本地开发
- 如 An Effective Twig Base Templating Setup 中所述,使用基本 Twig 模板设置
- Vite.js 根据以下链接用于构建系统: Vite.js Next Generation Frontend Tooling + Craft CMS
- 使用 TypeScript 进行严格类型化 JavaScript 代码
- 在网站上使用 Vue.js 3.0 进行一些交互式部分,Vue.js 3.x 允许我们利用 Composition API
- 使用 Tailwind CSS 进行网站范围内的 CSS,使用 @tailwindcss/jit
- 按照 Annotated JSON-LD Structured Data Examples 使用 JSON-LD 结构化数据
- 播客集锦和其他页面的 Google AMP 版本
- 图像转换通过 Serverless Image Handler lambda 函数完成,如 Setting Up Your Own Image Transform Service 文章所述
- 静态资产存储在 AWS S3 存储桶中,使用 CloudFront 作为 CDN,如 Setting Up AWS S3 Buckets + CloudFront CDN for your Assets 文章所述
- 通过 Google 的 Workbox 实现 Service Worker,如 Service Workers and Offline Browsing 中所述
- 根据 在您的网站上实施关键CSS 使用 rollup-plugin-critical
- 根据 在Craft CMS中优雅地处理错误 进行前端错误处理
- 根据 使用自定义模块增强Craft CMS 3网站 创建自定义网站模块
- 根据 在Craft CMS中处理健壮的队列作业 使用基于CLI的队列
- 根据 使用Craft CMS进行静态页面缓存 实现FastCGI静态缓存
- buddy.works 原子部署
...以及可能还有其他一些东西。
以下Craft CMS插件在此网站上使用
- FastCGI缓存失效 - 当条目被修改时使FastCGI缓存失效
- ImageOptimize - 用于网站上使用的优化图像和
srcset
- Minify - 用于压缩HTML和内联JS/CSS
- Retour - 用于设置404重定向
- SEOmatic - 用于处理站点SEO
- Vite - 用于以现代方式加载Vite生成的
manifest.json
资源 - Typogrify - 用于智能引号和其他排版连字符
- Webperf - 用于监控网页性能
您可以在 设置新的Craft 3 CMS项目 文章中了解更多信息。
使用 nystudio107/craft
此项目包的工作方式与Pixel & Tonic的 craftcms/craft 包完全相同;您首先创建并安装项目来创建新项目
composer create-project nystudio107/craft PATH --no-install
确保 PATH
是您的项目路径,包括您想要的项目名称,例如
composer create-project nystudio107/craft craft3 --no-install
我们使用 --no-install
以确保不安装根项目的composer包。
设置本地开发
您需要在您的平台上安装 Docker桌面 以在本地开发中运行devMode
确保没有其他可能产生端口冲突的本地开发环境正在运行,然后
- 在项目的根目录(第一个构建可能会有些长)中的终端中输入
make dev
来启动网站 - 导航到
http://localhost:8000
以使用网站;vite-dev-server
在http://localhost:3000
上运行
等待直到您看到以下内容以指示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
...并看到以下内容以指示Vite容器已准备好
vite_1 | vite v2.3.2 dev server running at:
vite_1 |
vite_1 | > Local: http://localhost:3000/
vite_1 | > Network: http://172.22.0.5:3000/
vite_1 |
vite_1 | ready in 1573ms.
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
- 启动监听在http://localhost:8000/
的本地开发服务器make build
- 通过Vite构建链构建静态资源make clean
- 删除cms/composer.lock
和整个cms/vendor/
目录以及buildchain/package-lock.json
和整个buildchain/node_modules/
目录make composer xxx
- 运行传入的composer
命令,例如make composer install
make craft xxx
- 运行传入的craft
控制台命令,例如在PHP容器中运行make craft project-config/apply
make npm xxx
- 运行传入的npm
命令,例如make npm install
make nuke
- 通过运行上面的make clean
从头开始重新启动项目,然后关闭Docker容器,删除任何挂载的卷(包括数据库),然后从头开始重新构建容器make pulldb
- 运行scripts/docker_pull_db.sh
脚本来将远程数据库拉入数据库容器;必须首先设置scripts/.env.sh
make restoredb xxx
- 运行scripts/docker_restore_db.sh
脚本来将本地数据库转储恢复到数据库容器;必须首先设置scripts/.env.sh
make ssh
- 在PHP容器中打开项目的Unix shell
提示:如果您尝试运行类似于make craft project-config/apply --force
的命令,您将看到一个错误,因为shell认为--force
标志应该应用于make
命令。要绕过这个问题,请使用--
(双横线)来禁用进一步的选项处理,如下所示:make -- craft project-config/apply --force
其他注意事项
要使用Xdebug与VSCode一起使用,请安装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
路线图
- 更新到Tailwind CSS
^3.0.0
.....
关于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和现代网页开发。