myplanet / skeletor
Skeletor 安装配置文件
Requires
- composer/installers: ^1.0.20
- cweagans/composer-patches: ~1.0
- drupal-composer/drupal-scaffold: ^2.0.1
- drupal/admin_toolbar: 1.15
- drupal/console: ~1.0
- drupal/core: ~8.0
- drupal/openapi: ^1.0@alpha
- drupal/restui: ^1.15
- drush/drush: ~8.0
- webflo/drupal-finder: ^1.0
Conflicts
- 8.x-dev
- 8.2.x-dev
- 8.0.3
- 8.0.2
- 8.0.1
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/express-4.18.2
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/qs-6.5.3
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/async-2.6.4
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/follow-redirects-1.14.8
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/node-sass-7.0.0
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/dns-packet-1.3.4
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/hosted-git-info-2.8.9
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/y18n-3.2.2
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/ini-1.3.7
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/http-proxy-1.18.1
- dev-dependabot/npm_and_yarn/themes/custom/barebones_bootstrap/STARTERKIT/websocket-extensions-0.1.4
- dev-enable-subprofiles
- dev-drupalcon2017-vienna
- dev-8.x-upgrade-to-drupal-8.3
- dev-8.x-travis-phpcs
- dev-move-shell-to-composer
- dev-learn-to-unit-test
- dev-migrate-to-composer
This package is not auto-updated.
Last update: 2024-09-29 02:04:10 UTC
README
这是一个为Myplanet项目构建的Drupal安装配置文件的框架。
骷髅图标由Chanut is Industries提供
1. 构建说明
需求
- PHP 7.0.*
- Composer 1.0.0+
构建Drupal
要在[目标目录名称]中启动基于Skeletor的新项目,请运行
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
cd some-dir
打开some-dir中的composer.json文件,并在"extra"部分添加"enable-patching": true。
{
"extra": {
"enable-patching": true
}
}
现在将skeletor添加为构建的依赖项
composer require myplanet/skeletor:8.2.x-dev
一旦成功将skeletor添加到构建中,我们需要包含skeletor提供的脚手架文件。默认情况下,您将获得Acquia云钩子、travis脚本、用于生产的.gitignore文件以及具有合理默认值的.travis.yml文件。从项目根目录
./vendor/bin/skeletor-init-project.sh
要创建基于Skeletor的子配置文件,您必须对Drupal核心进行修补(直到它被合并到核心)。为此,将以下内容添加到您的composer.json
"patches": { "drupal/core": { "1356276 - Allow profiles to provide a base/parent profile and load them in the correct order": "https://www.drupal.org/files/issues/2018-10-23/1356276-549-8.6.x.patch" } },
然后从项目文件夹运行,将您的项目连接到git仓库
git init
git remote add origin [git-url]
git add -A
git commit -m "Initial Commit"
git push origin
自定义构建
Skeletor包含Composer脚本,可以在skeletor/scripts/composer内部查看。可以将这些脚本添加到您的composer.json中来自动化构建的某些部分。
这些脚本在composer install或composer update期间运行,因此您必须再次执行它们。
脚本列表
-
Skeletor\\composer\\PHPCSHandler::installDrupalSniffsPHP Code Sniffer在项目级别安装。由于Drupal有独特的lint规则,我们将其包含在
coder项目中。此脚本将Drupal特定的lint规则附加到PHP Code Sniffer。 -
Skeletor\\composer\\ProductionHandler::installNPM搜索项目目录,并在发现package.json的目录中运行
npm install。 -
Skeletor\\composer\\ProductionBuild::placeGitIgnore在项目根目录中查找
prod.gitignore并将其复制到.gitignore。这对于Acquia的部署步骤非常有用。 -
Skeletor\\composer\\ProductionBuild::removeGitFolders搜索项目目录,寻找表示git仓库的
.git目录。它删除发现的.git目录,为准备将依赖项提交到Acquia部署仓库做准备。
完整示例
您的composer.json中的scripts部分的示例。
{
"scripts": {
"deploy": [
"@composer install --prefer-dist --no-dev",
"Skeletor\\composer\\ProductionBuild::removeGitFolders",
"Skeletor\\composer\\ProductionBuild::placeGitIgnore"
],
"pre-install-cmd": [
"DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
],
"pre-update-cmd": [
"DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
],
"post-install-cmd": [
"DrupalProject\\composer\\ScriptHandler::createRequiredFiles",
"Skeletor\\composer\\ProductionHandler::installNPM",
"Skeletor\\composer\\PHPCSHandler::installDrupalSniffs"
],
"post-update-cmd": [
"DrupalProject\\composer\\ScriptHandler::createRequiredFiles",
"Skeletor\\composer\\ProductionHandler::installNPM",
"Skeletor\\composer\\PHPCSHandler::installDrupalSniffs"
]
}
}
调整Drupal文件
您可以调整由Drupal直接提供的文件,例如settings.php、.htaccess或robots.txt。
将更改后的文件提交到docroot(web)中所需的指定位置,例如robots.txt。将其添加到composer.json中的drupal-scaffold:excludes数组中,以防止在构建过程中被覆盖。
{
"extra": {
"drupal-scaffold": {
"excludes": [
"robots.txt"
]
}
}
}
默认情况下,我们在构建过程中已经排除了settings.php文件。您可以在Drupal-Scaffold文档中了解更多关于进一步自定义Drupal构建过程的信息。
2. 布局
在8.2.x版本中,我们将Skeletor简化为安装配置文件。
Skeletor将在drupal-project composer构建中安装:Drupal 8 composer项目的指南。
Skeletor配置文件安装在web/profiles/contrib/skeletor
Skeletor的安装将使用以下内容构建项目:
- 一个用于简化持续集成(CI)的初始
.travis.yml文件。 - 默认的Acquia云钩子已链接到项目根目录。您可以选择删除链接并实现自己的钩子。
- PHP Codesniffer作为项目依赖项安装,并预安装了Drupal代码嗅探器。
- Drush别名模板。
- 本地配置文件(settings.local.php等)
- 选择加入的git钩子,可以链接到项目的
.git/hooks目录。
3. 主题
Skeletor有一个基础主题(barebones)和一个实现Bootstrap的初始kit子主题。希望创建基于不同框架的子主题的团队,可以从基础主题开始。
A. Barebones基础主题(barebones)功能
- Mixin/preprocess,便于将SVG作为数据-uri插入到sass中
- 每个功能的css框架库
- 以下模板的即用型建议:
- 表单
- 表单元素
- 容器
- 字段
- 块
- 分类术语
- 段落
- 媒体
B. Barebone Bootstrap基础主题(barebones_bootstrap)功能
- 用于基本Bootstrap标记/架构的页面/导航/表单模板。
- Skeletor段落组件的模板覆盖
- Bootstrap特定的SASS文件和预处理器函数。
- 一个作为新主题起点的初始kit主题(
STARTERKIT)。
C. Starterkit(STARTERKIT)功能
- Bootstrap
- 检查器(sass-linter,eslint)
- 实时样式指南
- 常见功能的模板
- Webpack集成
- src/images中的图像已移动和优化到dist/images目录
- src/svg中的SVG已移动和优化到dist/svg
- src/icons中的图标字体和SVG文件
请参阅Starterkit的README文件以获取有关如何为项目创建自定义主题的说明。
4. 模块
Skeletor包含在Myplanet项目中常用的模块
- 段落
- pathauto
- devel
- admin_toolbar
- rabbit_hole
- google_tag
- robotstxt
- field_group
- twig_tweak
- coder
- squizlabs/php_codesniffer
- svg_image
- memcache
- config_split
- xmlsitemap
- metatag
- seckit
5. 功能
Skeletor包含以下功能
- Skeletor Acquia
- Skeletor Media
- Skeletor Search
- Skeletor Paragraph Components
- 手风琴
- 英雄
- 媒体对象
- 幻灯片/轮播
- 标签页
- 文本
- 手风琴
6. 文档
本项目的文档(以及基于Skeletor的项目)应放置在其github wiki中。
7. 配置管理
配置管理系统提供了一个一致的API,用于在Drupal站点的实例之间定义和同步配置。有关配置管理的更多信息,请参阅我们的wiki中的配置管理
8. 生产构建需求
Drupal 8中的受信任主机安全设置
Drupal 8支持可信主机模式,其中您可以(并且应该)指定一组正则表达式,传入请求的域名必须匹配这些正则表达式。在部署到ACQUIA或PANTHEON环境之前设置它们很重要。