This respository contains the Drupal theme used on ambientimpact.com.
Warning: while this is generally production-ready, it's not guaranteed to maintain a stable API and may occasionally contain bugs, being a work-in-progress. Stable releases may be provided at a later date.
Requirements
-
PHP 8
Drupal dependencies
Before attempting to install this, you must add the Composer repositories as described in the installation instructions for these dependencies:
-
The
ambientimpact_base
theme is required. Follow the installation instructions for that before requiring this theme. -
The
ambientimpact_core
,ambientimpact_icon
, andambientimpact_ux
modules.
Front-end dependencies
To build front-end assets for this project, Node.js and Yarn are required.
Installation
Composer
Ensure that you have your Drupal installation set up with the correct Composer
installer types such as those provided by the drupal\recommended-project
template.
If you're starting from scratch, simply requiring that template and following
the Drupal.org Composer
documentation
should get you up and running.
Then, in your root composer.json
, add the following to the
"repositories"
section:
"drupal/ambientimpact_site": {
"type": "vcs",
"url": "https://github.com/Ambient-Impact/drupal-ambientimpact-site.git"
}
Then, in your project's root, run composer require "drupal/ambientimpact_site:^6.0@dev"
to have Composer install the theme
and its required dependencies for you.
Front-end assets
To build front-end assets for this project, you'll need to install Node.js and Yarn.
This package makes use of Yarn
Workspaces and references other local
workspace dependencies. In the package.json
in the root of your Drupal
project, you'll need to add the following:
"workspaces": [
"<web directory>/themes/custom/*"
],
where <web directory>
is your public Drupal directory name, web
by default.
Once those are defined, add the following to the "dependencies"
section of
your top-level package.json
:
"drupal-ambientimpact-site": "workspace:^6"
Then run yarn install
and let Yarn do the rest.
Optional: install yarn.BUILD
While not required, we recommend installing yarn.BUILD to make building all of the front-end assets even easier.
nvm
Optional: use If you want to be sure you're using the same Node.js version we're using, we
support using Node Version Manager (nvm
)
(Windows port). Once nvm
is
installed, you can simply navigate to the project root and run nvm install
to install the appropriate version contained in the .nvmrc
file.
Note that if you're using the Windows
port, it does not support
.nvmrc
files,
so you'll have to provide the version contained in the .nvmrc
as a
parameter: nvm install <version>
(without the <
and >
).
This step is not required, and may be dropped in the future as Node.js is fairly mature and stable at this point.
Building front-end assets
We use Webpack and Symfony Webpack Encore to automate most of the build process. These will have been installed for you if you followed the Yarn installation instructions above.
If you have yarn.BUILD installed, you can run:
yarn build
from the root of your Drupal site. If you want to build just this package, run:
yarn workspace drupal-ambientimpact-site run build
Major breaking changes
The following major version bumps indicate breaking changes:
-
3.x - Now require the 3.x branch of modules, which now require Drupal 9. All development is now against that major version of Drupal.
-
4.x - Refactored to use Sass modules; all development is now against this and will no longer compile using the old
@import
directive. -
5.x - Front-end package manager is now Yarn; front-end build process ported to Webpack.
-
6.x:
-
Increase required version of
ambientimpact_base
from 5.x to 6.x. -
Switched to the standalone
ambientimpact_core
,ambientimpact_icon
, andambientimpact_ux
modules. -
Requires Drupal 9.5 or Drupal 10.
-