THIS REPO IS IN ALPHA STATUS. ITS USE IN PRODUCTION IS NOT RECOMMENDED.
The official SiteCrafting WordPress starter theme.
For client projects built on top of Groot, there are a few new ways of doing things using more consistent, reliable tooling that comes bundled with the Lando environment. Note that running lando yarn
isn't necessary in normal circumstances: the new Lando environment installs everything for you on lando start
.
Task | New command | Notes |
---|---|---|
Install dependencies | lando yarn |
Lando does this automatically |
Add a dependency | lando yarn add lib-xyz |
|
Watch LESS/JS | lando webpack --watch |
|
Recompile LESS/JS once | lando webpack |
Webpack handles image paths differently. The simplest way to refer to theme files is to use the absolute path from the webroot.
At build time, webpack will update the @theme-path
variable in base/variables.less
based on your theme's directory name:
@theme-path: '/wp-content/themes/<theme-dir-name>/';
This will enable you to use the @theme-path
variable like this:
* { background-image: url(~'@{theme-path}img/icons/my-icon.svg'); }
To start hacking on the Groot starter theme itself, run:
git clone git@github.com:sitecrafting/groot.git && cd groot
lando start
This will prompt you for site info admin credentials to set up. Then it does some setup/cleanup. After this, you should have a fully functional WordPress site running Groot!
NOTE: For now, we don't import the SiteCrafting WP starter database when spinning up Groot locally. This can be imported manually, if desired. Note that this database expected ACF Pro to be in place, which is also not installed automatically for local development. ACF Pro will need to be installed manually if you require it.
sitka-search-content-container
in order to crawl with sitka insightsFor compiling LESS/JS assets within Groot itself, you should be able to run commands within the root directory. For example:
cd /path/to/groot
lando webpack --watch
Start by updating the Groot release number in the style.less
header comment. This is not strictly necessary, but can make things easier to troubleshoot:
/*!
* Theme Name: Groot
* ...
* Copyright 2020 SiteCrafting, Inc.
* Based on Groot release: vX.X.X // <-- UPDATE THIS NUMBER
*/
Make sure you commit this change before creating the actual release. Otherwise your release download will not include this update.
Groot includes a script for building itself and creating a release. To create a tag and corresponding release called vX.Y.Z
:
scripts/build-release.sh vX.Y.Z
This will create a .tar.gz and a .zip archive which you can upload to a new release on GitHub.
If you have hub
installed, it will also prompt you to optionally create a release directly!