emrl/site-template

此包的最新版本(4.0.0)没有可用的许可证信息。

安装: 48

依赖者: 0

建议者: 0

安全: 0

类型:项目

4.0.0 2022-05-12 18:09 UTC

README

初始设置

.env.example 复制到 .env

设置您的开发主机名/域的变量(例如:mysite.test

$ TLD=mysite.test

.env 中将 site-template.test 替换为您的开发域。

$ sed -i "s/site-template.test/$TLD/g" .env

如果您尚未安装,请安装 mkcert。然后生成 SSL 证书

$ mkcert -key-file server.key -cert-file server.crt "$TLD"

更新您的本地主机文件并添加域名条目

$ echo -e "127.0.0.1 $TLD" | sudo tee -a /etc/hosts

使用 Docker 进行开发

使用数据库变量更新 .env。确保认证密钥和盐不是空的。

DB_HOST=mysql
DB_DATABASE=dev
DB_USERNAME=dev
DB_PASSWORD=dev

首先,您需要确保已保存 Advanced Custom Fields 的凭证。如果没有,可以使用以下命令(将 ACF_KEY 替换为您实际的许可证密钥)

$ docker compose run --rm --user application --entrypoint composer php config --global --auth http-basic.connect.advancedcustomfields.com ACF_KEY "https://$TLD"

安装依赖项

$ docker compose run --rm --user application --entrypoint composer php install
$ docker compose run --rm --user node node npm install
$ docker compose run --rm python pip install -r requirements.txt

启动容器

$ docker compose up

Docker 将默认启动以下容器

容器用途
phpApache & PHP,运行应用程序
mysqlMySQL 数据库
node在端口 8080 上运行 webpack 构建过程

现在您可以在之前指定的域中查看网站。

ℹ️ mkdocs 的 Python 容器默认不会启动。您可以与其他容器一起运行它或独立运行。

# Start all containers
$ docker compose --profile docs up

# Or independently
$ docker compose up python
容器用途
pythonhttps://:8000 上运行 mkdocs 构建过程

要允许发送电子邮件,还可以启动 MailHog 容器。

ℹ️ MailHog 容器默认不会启动。您可以与其他容器一起运行它或独立运行。

# Start with all containers
$ docker compose --profile mail up

# Or independently
$ docker compose up mailhog

通过 Docker 运行命令

示例:使用 Deployer 从预发布站点拉取内容

# If container is already running
$ docker compose exec --user application php vendor/bin/dep content:pull stage=staging

# If container has stopped
$ docker compose run --rm --user application --entrypoint /app/vendor/bin/dep php content:pull stage=staging

文件

根目录

文件描述
/.editorconfigEditorConfig
/.env.example示例环境变量
/.gitignore从 Git 排除的文件
/.php-cs-fixer.dist.phpPHP Coding Standards Fixer 配置
/.phpcs.xml.distPHP_Codesniffer 配置
/app.php应用程序引导
/bitbucket-pipelines.ymlBitbucket Pipelines 配置
/composer.jsonComposer 配置
/config.phpWordPress 配置
/deploy.phpDeployer 配置
/docker-compose.ymlDocker Compose 配置
/mkdocs.ymlMkDocs 配置
/package.jsonnpm 配置
/phpunit.xml.distPHPUnit 配置
/requirements.txtpip 配置,用于文档
/webpack.config.jswebpack 配置
/wp-cli.ymlWP-CLI 配置

配置目录

/config/ 目录包含任何配置文件。

文档目录

《/docs/》目录包含文档源文件,这些文件最终会被构建到《/public/kb/》目录中。

公共目录

《/public/》目录是服务器的文档根目录。

文件描述
/public/c/WordPress内容目录
/public/w/WordPress核心,由Composer安装
/public/.htaccessApache服务器配置
/public/index.php入口点
/public/manifest.webmanifest清单文件
/public/wp-config.phpWordPress配置文件。该文件简单包含了《config.php》

资源目录

脚本、样式、图片、图标和其他媒体源文件的源代码。文件由webpack打包,输出到《/public/c/dist/》。

Kb目录

《/public/kb/》目录用于知识库。它由MkDocs创建,是《/docs/》目录中源文件的构建结果。

插件目录

《/public/c/plugins/》目录存储插件。由于Composer可以管理WordPress插件仓库中的所有插件,因此该目录中的所有文件都被Git忽略。

如果需要使用商业插件,则必须在《/.gitignore》文件中取消忽略。

必须使用插件目录

《/public/c/mu-plugins/》目录存储必须使用插件

文件描述
/public/c/mu-plugins/advanced-custom-fields-pro.php加载高级自定义字段插件
/public/c/mu-plugins/commands.php注册WP-CLI命令
/public/c/mu-plugins/error-reporting.php关闭来自WordPress核心或插件的弃用错误报告
/public/c/mu-plugins/register-theme-directory.php注册自定义主题目录,包括WordPress的默认主题目录

Src目录

《/src/》目录包含网站的定制功能(帖子类型、主题设置等)。

Tests目录

《/tests/》目录包含PHP单元测试。

主题目录

《/theme/》目录作为WordPress主题。