Merge branch 'master' of github.com:roots/sage
This commit is contained in:
105
README.md
105
README.md
@@ -2,7 +2,6 @@
|
||||
[](https://packagist.org/packages/roots/sage)
|
||||
[](https://david-dm.org/roots/sage#info=devDependencies)
|
||||
[](https://travis-ci.org/roots/sage)
|
||||
[](https://roots.io/r/es6)
|
||||
|
||||
Sage is a WordPress starter theme with a modern development workflow.
|
||||
|
||||
@@ -24,6 +23,10 @@ Sage is a WordPress starter theme with a modern development workflow.
|
||||
|
||||
See a working example at [roots-example-project.com](https://roots-example-project.com/).
|
||||
|
||||
### Recommended extensions
|
||||
|
||||
* [Controller](https://github.com/soberwp/controller) — WordPress plugin to enable a basic controller when using Blade with Sage 9
|
||||
|
||||
## Requirements
|
||||
|
||||
Make sure all dependencies have been installed before moving on:
|
||||
@@ -54,52 +57,45 @@ During theme installation you will have the options to:
|
||||
|
||||
```shell
|
||||
themes/your-theme-name/ # → Root of your Sage based theme
|
||||
├── 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
|
||||
├── composer.json # → Autoloading for `src/` files
|
||||
├── app/ # → Theme PHP
|
||||
│ ├── lib/Sage/ # → Blade implementation, asset manifest
|
||||
│ ├── 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)
|
||||
├── functions.php # → Composer autoloader, theme includes
|
||||
├── index.php # → Never manually edit
|
||||
├── node_modules/ # → Node.js packages (never edit)
|
||||
├── package.json # → Node.js dependencies and scripts
|
||||
├── screenshot.png # → Theme screenshot for WP admin
|
||||
├── src/ # → Theme PHP
|
||||
│ ├── lib/Sage/ # → Blade implementation, asset manifest
|
||||
│ ├── admin.php # → Theme customizer setup
|
||||
│ ├── filters.php # → Theme filters
|
||||
│ ├── helpers.php # → Helper functions
|
||||
│ └── setup.php # → Theme setup
|
||||
├── style.css # → Theme meta information
|
||||
├── templates/ # → Theme templates
|
||||
│ ├── layouts/ # → Base templates
|
||||
│ └── partials/ # → Partial templates
|
||||
├── resources/ # → Theme assets and templates
|
||||
│ ├── 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 templates
|
||||
│ ├── layouts/ # → Base templates
|
||||
│ └── partials/ # → Partial templates
|
||||
└── vendor/ # → Composer packages (never edit)
|
||||
```
|
||||
|
||||
## Theme setup
|
||||
|
||||
Edit `src/setup.php` to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars.
|
||||
Edit `app/setup.php` to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars.
|
||||
|
||||
## Theme development
|
||||
|
||||
Sage uses [Webpack](https://webpack.github.io/) as a build tool and [npm](https://www.npmjs.com/) to manage front-end packages.
|
||||
|
||||
### Install dependencies
|
||||
|
||||
From the command line on your host machine (not on your Vagrant development box), navigate to the theme directory then run `yarn`:
|
||||
|
||||
```shell
|
||||
# @ themes/your-theme-name/
|
||||
$ yarn
|
||||
```
|
||||
|
||||
You now have all the necessary dependencies to run the build process.
|
||||
* Run `yarn` from the theme directory to install dependencies
|
||||
* Update `resources/assets/config.json` settings:
|
||||
* `devUrl` should reflect your local development hostname
|
||||
* `publicPath` should reflect your WordPress folder structure (`/wp-content/themes/sage` for non-[Bedrock](https://roots.io/bedrock/) installs)
|
||||
|
||||
### Build commands
|
||||
|
||||
@@ -107,45 +103,6 @@ You now have all the necessary dependencies to run the build process.
|
||||
* `yarn run build` — Compile and optimize the files in your assets directory
|
||||
* `yarn run build:production` — Compile assets for production
|
||||
|
||||
#### Additional commands
|
||||
|
||||
* `yarn run rmdist` — Remove your `dist/` folder
|
||||
* `yarn run lint` — Run ESLint against your assets and build scripts
|
||||
* `composer test` — Check your PHP for PSR-2 compliance with `phpcs`
|
||||
|
||||
### Using Browsersync
|
||||
|
||||
To use Browsersync you need to update `devUrl` at the bottom of `assets/config.json` to reflect your local development hostname.
|
||||
|
||||
If your local development URL is `https://project-name.dev`, update the file to read:
|
||||
```json
|
||||
...
|
||||
"devUrl": "https://project-name.dev",
|
||||
...
|
||||
```
|
||||
|
||||
If you are not using [Bedrock](https://roots.io/bedrock/), update `publicPath` to reflect your folder structure:
|
||||
|
||||
```json
|
||||
...
|
||||
"publicPath": "/wp-content/themes/sage"
|
||||
...
|
||||
```
|
||||
|
||||
By default, Browsersync will use webpack's [HMR](https://webpack.github.io/docs/hot-module-replacement.html), which won't trigger a page reload in your browser.
|
||||
|
||||
If you would like to force Browsersync to reload the page whenever certain file types are edited, then add them to `watch` in `assets/config.json`.
|
||||
|
||||
```json
|
||||
...
|
||||
"watch": [
|
||||
"assets/scripts/**/*.js",
|
||||
"templates/**/*.php",
|
||||
"src/**/*.php"
|
||||
],
|
||||
...
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
Sage 8 documentation is available at [https://roots.io/sage/docs/](https://roots.io/sage/docs/).
|
||||
|
||||
Reference in New Issue
Block a user