WordPress starter theme with a modern development workflow
Built with β€οΈ
Official Website | Documentation | Change Log
Sage is an open source project and completely free to use.
However, the amount of effort needed to maintain and develop new features and products within the Roots ecosystem is not sustainable without proper financial backing. If you have the capability, please consider donating using the links below:
Sage is a productivity-driven WordPress starter theme with a modern development workflow.
The master branch currently tracks Sage 10 which is in active development. Looking for Sage 9? See releases.
- Harness the power of Laravel and its available packages thanks to Acorn.
- Clean, efficient theme templating utilizing Laravel Blade.
- Easy Browsersync support alongside asset compilation, concatenating, and minification powered by Laravel Mix.
- Out of the box support for Bootstrap 5 and jQuery.
- A clean starting point for theme styles using Sass.
See a working example at roots-example-project.com.
Make sure all dependencies have been installed before moving on:
Install Sage using Composer from your WordPress themes directory (replace your-theme-name below with the name of your theme):
# @ app/themes/ or wp-content/themes/
$ composer create-project roots/sage your-theme-nameTo install the latest development version of Sage, add dev-master to the end of the command:
$ composer create-project roots/sage your-theme-name dev-masterthemes/your-theme-name/ # β Root of your Sage based theme
βββ app/ # β Theme PHP
β βββ View/ # β View models
β βββ Providers/ # β Service providers
β βββ admin.php # β Theme customizer setup
β βββ filters.php # β Theme filters
β βββ helpers.php # β Helper functions
β βββ setup.php # β Theme setup
βββ config/ # β Config files
β βββ app.php # β Application configuration
β βββ assets.php # β Asset configuration
β βββ filesystems.php # β Filesystems configuration
β βββ logging.php # β Logging configuration
β βββ view.php # β View configuration
βββ composer.json # β Autoloading for `app/` files
βββ composer.lock # β Composer lock file (never edit)
βββ dist/ # β Built theme assets (never edit)
βββ functions.php # β Theme bootloader
βββ index.php # β Theme template wrapper
βββ node_modules/ # β Node.js packages (never edit)
βββ package.json # β Node.js dependencies and scripts
βββ resources/ # β Theme assets and templates
β βββ assets/ # β Front-end assets
β β βββ fonts/ # β Theme fonts
β β βββ images/ # β Theme images
β β βββ scripts/ # β Theme javascript
β β βββ styles/ # β Theme stylesheets
β βββ views/ # β Theme templates
β βββ components/ # β Component templates
β βββ form/ # β Form templates
β βββ layouts/ # β Base templates
β βββ partials/ # β Partial templates
βββ screenshot.png # β Theme screenshot for WP admin
βββ storage/ # β Storage location for cache (never edit)
βββ style.css # β Theme meta information
βββ vendor/ # β Composer packages (never edit)
βββ webpack.mix.js # β Laravel Mix configurationEdit app/setup.php to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars.
- Run
yarnfrom the theme directory to install dependencies - Update
webpack.mix.jswith your local dev URL
yarn startβ Compile assets when file changes are made, start Browsersync sessionyarn buildβ Compile and optimize the files in your assets directoryyarn build:productionβ Compile assets for production
Contributions are welcome from everyone. We have contributing guidelines to help you get started.
Help support our open-source development efforts by becoming a sponsor.
Keep track of development and community news.
- Participate on the Roots Discourse
- Follow @rootswp on Twitter
- Read and subscribe to the Roots Blog
- Subscribe to the Roots Newsletter
- Listen to the Roots Radio podcast