A starter boilerplate WordPress theme Gulp, Tailwind CSS, rollup.js, Alpine.js and Highway.
1. Install Node >=14.17.0: https://nodejs.org/
2. Install Yarn: https://yarnpkg.com/
$ yarn
All Gulp settings can be found in gulpfile.babel.js/config.js
. To connect BrowserSync to the local development environment to enable browser reload, update browserSync.proxy
to local development address.
$ yarn dev
$ yarn stage
$ yarn prod
- Features Gulp as the build pipeline that compiles styles and scripts, and optimizes assets
- Browser reload when PHP, JS, image, SVG or asset files are updated
- Styles are injected when SCSS files are updated
- Includes base WordPress template files and optimized theme setup
- Advanced Custom Fields PRO plugin is recommended to create custom fields and Option pages. Default settings can be imported from
acf-global-options.json
- Features Tailwind CSS, a utility-first framework
- Includes linter (Stylelint), autoprefixer, minification and sourcemap creation
- SCSS files are located in
assets/src/scss
main.scss
inassets/src/scss
serves as the base that includes the other dependent SASS filesmain.scss
gets compiled toassets/dist/css/main.min.css
.stylelintrc
contains the settings for Stylelint- Info about class namespacing can be found in
src/assets/scss/main.scss
- Unused CSS (PurgeCSS) will be removed in staging and production builds
- Features rollup.js as the module bundler
- Includes linting (ESLint), concatenation, minification and sourcemap creation
- Includes Highway for seamless page transitions
- Includes a custom framework for reuseable content animations
- Includes Alpine.js for declarative DOM manipulation
main.js
insrc/assets/js
serves as the main JS file that includes and runs all components and will be compiled todist/assets/js/main.min.js
- All local components should be placed in
src/assets/js/components
- All vendor JS can be manually added to
src/assets/js/vendors
if not found on Yarn .eslintrc
contains the settings for ESLint
- Place all unoptimized images in the
assets/src/images
directory - They will then be optimized and placed in
assets/dist/images
- Place all SVG files in the
assets/src/svg
directory - They will then be optimized and added to a sprite at
assets/dist/svg/sprite.svg
- All assets (fonts, videos, swfs, etc) under
assets/src
will be copied toassets/dist
on build
- All Tailwind settings can be found in
./tailwind.config.js
- Most styles should be written as utility classes in the template markup but custom SCSS can be used for unique properties and/or magic numbers
- Utilize the
@apply
directive when writing custom SCSS for efficiency:
svg {
@apply inline-block fill-current;
}
- Tailwind settings can be accessed with the
theme()
function:
.button {
animation-duration: theme('transitionDuration.normal');
}
- Media queries can be used with the shorthand
screen()
function:
.button {
margin-right: 2.8rem;
@screen sm {
margin-right: 4.2rem;
}
}
- Matt Lee -
@bymattlee
on most platforms - Visit my website at bymattlee.com