Sage-9-timber is Sage theme version 9 made to work with Timber.
For easy integrations and later compatibility, this repository aimed at making the minimum of changes possible to the original Sage 9 beta 4 in order to make Timber work. This theme has still blade template language support.
Sage 9 is in active development and is currently in beta. This initial fork used version Sage 9 beta 4. If you want a stable version of Sage ported to Timber, have a look at the sage-timber project.
- Sass for stylesheets
- ES6 for JavaScript
- Webpack for compiling assets, optimizing images, and concatenating and minifying files
- Browsersync for synchronized browser testing
- Laravel Blade as a templating engine
- Controller for passing data to Blade templates
- CSS framework options:
- Bootstrap 4
- Bulma
- Foundation
- Tachyons
- None (blank slate)
- Font Awesome (optional)
See a working example at roots-example-project.com.
Make sure all dependencies have been installed before moving on:
Install Sage-9-timber by copying the project into a new folder within your WordPress themes directory.
themes/your-theme-name/ # → Root of your Sage based theme
├── app/ # → Theme PHP
│ ├── controllers/ # → Controller files
│ ├── admin.php # → Theme customizer setup
│ ├── filters.php # → Theme filters
│ ├── helpers.php # → Helper functions
│ └── setup.php # → Theme setup
├── composer.json # → Autoloading for `app/` files
├── composer.lock # → Composer lock file (never edit)
├── dist/ # → Built theme assets (never edit)
├── node_modules/ # → Node.js packages (never edit)
├── package.json # → Node.js dependencies and scripts
├── resources/ # → Theme assets and templates
│ ├── acf-json # → ACF Json files
│ ├── assets/ # → Front-end assets
│ │ ├── config.json # → Settings for compiled assets
│ │ ├── build/ # → Webpack and ESLint config
│ │ ├── fonts/ # → Theme fonts
│ │ ├── images/ # → Theme images
│ │ ├── scripts/ # → Theme JS
│ │ └── styles/ # → Theme stylesheets
│ ├── functions.php # → Composer autoloader, theme includes
│ ├── index.php # → Never manually edit
│ ├── screenshot.png # → Theme screenshot for WP admin
│ ├── style.css # → Theme meta information
│ └── views/ # → Theme Timber templates
│ └── _patterns/ # → Timber twig templates
└── vendor/ # → Composer packages (never edit)
Edit app/setup.php
to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars.
- Run
yarn install
from the theme directory to install dependencies - Update
resources/assets/config.json
settings:devUrl
should reflect your local development hostnamepublicPath
should reflect your WordPress folder structure (/wp-content/themes/sage
for non-Bedrock installs)
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
Timber documentation is available at https://timber.github.io/docs/.
Twig documentation is available at http://twig.sensiolabs.org/.
Sage 9 documentation is currently in progress and can be viewed at https://github.com/roots/docs/tree/sage-9/sage.
Controller documentation is available at https://github.com/soberwp/controller#usage.
ACF with Twig documentation is available at https://github.com/timber/timber/blob/master/docs/guides/acf-cookbook.md.
Twig/Timber Cheatsheeet is available at https://notlaura.com/the-twig-for-timber-cheatsheet/
Contributions are welcome from everyone. Just issue a pull request to this repository.
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