如何在UbuntuVPS上创建Omega4Drupal子主题
关于欧米茄
Omega 是最著名的 Drupal 响应式基础主题之一 - 官方安装超过 66,000 次。 版本 4 与 Omega 3 的设计方式(为站点构建者提供灵活的 UI 选项)相比有了根本性的进步,并使其成为经验丰富的前端开发人员的基本主题。
在本教程中,我将逐步说明安装 Omega 4 和创建您的第一个子主题的过程。 为此,我假设您正在运行自己的 VPS,并且已经安装了 Drush 和 Drupal 的副本。 如果您还没有',可以按照本教程进行设置。 是的,如果您还没有将 Drush 用于您的 Drupal 工作,请从今天开始。
更改用户
重要的是,如果您使用 root 用户在您的 VPS 上操作,您' 需要更改为另一个用户。 因此,除非您已经在使用其他用户运行 VPS,否则请继续创建一个(让 ' 称他为 tony):
sudo adduser tony
运行向导,然后您可以继续将他添加到 sudoers 组(这样您就可以使用该用户运行 sudo 命令):
sudo adduser tony sudo
现在您可以通过使用这个新创建的用户登录来更改用户。
给自己一份 Omega 4 的副本
现在我们不再使用 root 用户(如果你一开始就这样做的话),是时候将 Omega 主题下载到我们的 Drupal 安装中了。 我们将使用 Drush 来完成。 确保您位于 Drupal 站点内的文件夹(任意)中并运行以下命令:
sudo drush dl omega
由于版本 4 已经是推荐版本,Drush 将自动下载最新的稳定版本。 接下来,使用以下命令启用它:
sudo drush en omega
然后清除所有缓存以进行良好的测量。
sudo drush cc all
接下来,快速安装解压缩,因为您稍后将需要它:
sudo apt-get install unzip
你'会注意到所有命令都以sudo开头,因为我们不是root用户。
Ruby 版本管理器 (RVM)
由于使用 Omega 4,您可以使用 Sass、Compass、Susy 以及各种其他用 Ruby 编写的好东西,因此在继续之前,我们需要处理 Ruby 和 Ruby gem。 推荐的方法是首先安装 RVM。 运行以下命令来安装它:
\curl -L https://get.rvm.io | bash
为了使用它,运行以下命令:
~/.rvm/scripts/rvm
然后,运行此命令以确保 Ruby 的所有要求都安装在您的 VPS 上:
rvm requirements
现在已经安装了 RVM,您应该有两个将用于您的主题的东西:rubygems 和 bundler(我们稍后会看到它们是什么)。
欧米茄子主题
是时候使用 Drush 为我们自己生成我们将使用的子主题了。 同样,在 Drupal 站点文件夹中的某处,运行以下命令:
sudo drush omega-wizard
按照终端窗口中的说明操作:给主题命名(让'说fancy),选择一个基本主题(让'说Omega),一个starterkit(让'说Basic),目的地(可能是Site),站点本身(all,如果你没有运行多个站点),保留或删除默认的自述文件,并在网站上启用您的新主题。
请注意,在现在发生的过程中,您'需要安装unzip(但我们已经处理了它,所以我们'很好)。
如果您现在导航到您的站点,您已经可以看到新的子主题已启用并在您的站点上设置为默认值。 我们完了吗? 不,不完全是。
红宝石和红宝石
在您的终端中导航到这个新创建的主题的文件夹:
cd /var/www/drupal/sites/all/themes/fancy
您应该会收到如下所示的消息:
ruby-1.9.3-p448 is not installed. To install do: 'rvm install ruby-1.9.3-p448'
Ruby 版本可能因您的情况而异,并且与您安装的 Omega 版本严格相关。 由于许多扩展此主题功能的 Gem 都在不断升级(例如 Sass),因此每次升级时语法都会发生变化且没有向后兼容性的风险很高。
在子主题文件夹中,' 会注意到两个文件(.ruby-gemset 和 .ruby-version),它们指示 Ruby 的版本以及要在哪个 gemset 环境中使用这个文件夹。 因此,您可以让另一个 Omega 4 子主题使用不同的 gemset 运行不同版本的 Ruby,而不会遇到任何麻烦。
既然已经清楚了,让我们在此处安装我们需要的 Ruby 版本(当您导航到子主题文件夹时,您已从终端消息中得知)。 让我们运行以下命令来安装它:
rvm install ruby-1.9.3-p448
当然,用您被告知的版本更改版本。 您还可以检查 .ruby-version 文件内部并查看那里的版本。 现在您已经为您的主题项目安装了正确版本的 Ruby,您可以运行以下命令以确保它正在用于它:
rvm list
如果你只安装了一个版本的 Ruby,你应该没问题。 但是知道这个输出不同版本的小命令以及它们在当前环境中的使用方式(子主题的,所以当你运行它时确保你在子主题文件夹中)并没有什么坏处。
现在 ' 是时候安装主题附带的 Gem(如 Sass、Compass、Susy 等,所有这些都在 Gemfile 文件中指定)。 运行以下命令:
bundle install
您现在将看到正在安装的单个 Gems,因为消息打印在终端屏幕上。 此外,在 Gemfile 旁边会创建一个 Gemfile.lock 文件,用于跟踪安装的 Gems 的确切版本。 因此,如果您需要再次运行安装命令,则会安装完全相同的 Gem - 防止出现任何不兼容问题。
如果由于权限问题导致无法写入 Gemfile.lock 的错误,请确保子主题文件夹归您所有 - 运行捆绑安装的用户:
chown -R tony /var/www/drupal/sites/all/themes/fancy
现在你基本上完成了。 例如,如果您想测试 Sass,请编辑位于 sass 文件夹中的 .scss 文件之一
cd /var/www/drupal/sites/all/themes/fancy/sass/
并粘贴以下行:
body { background-color:red; }
现在,如果您在浏览器中刷新该站点……什么都不会发生。 您需要编译 Sass 并将其转换为常规 CSS。 为此,您可以通过从子主题根文件夹运行以下命令来使用 Compass:
compass compile
您应该会收到通知,现在如果您刷新浏览器,Sass 已转换为 CSS(在 css/ 文件夹中找到)。
如果您正在开发并希望自动编译对 .scss 文件的所有更改,请运行以下命令:
compass watch
这将监视更改并自动编译它们。 按 CTRL-C 使其停止观看。
此外,您可以在我之前写的 this tutorial 中找到更多关于使用 Sass 的信息。