Genesis starter theme with a modern development workflow.

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 2

Forks: 1

Open Issues: 0

Language:CSS

Type:wordpress-theme

3.3.3 2018-10-09 10:23 UTC

This package is auto-updated.

Last update: 2024-05-05 18:33:21 UTC


README

WordPress License

A developer-friendly starter theme used for creating commercial child themes for the Genesis Framework.

It uses Composer to pull in the Core component library which provides the PHP logic for the theme's configuration, and it uses Gulp WP Toolkit to automate mundane build tasks like compiling SCSS and minifying images.

Check out the live demo

Base screenshot

Table of Contents

Features

The Base aims to modernize, organize and enhance some aspects of Genesis child theme development. Take a look at what is waiting for you:

Requirements

Requirement How to Check How to Install
PHP >= 5.4 php -v php.net
WordPress >= 4.8 Admin Footer wordpress.org
Genesis >= 2.6 Theme Page studiopress.com
Composer >= 1.5.0 composer --version getcomposer.org
Node >= 9.10.1 node -v nodejs.org
NPM >= 5.6.0 npm -v npm.js
Yarn >= 0.2.x yarn -v yarnpkg.com
Gulp CLI >= 1.3.0 gulp -v gulp.js
Gulp = 3.9.1 gulp -v gulp.js

Installation

One line command:

Install the latest development version of the Base using Composer from your WordPress themes directory (replace your-theme-name below with the name of your theme):

composer create-project seothemes/base your-theme-name dev-master && cd "$(\ls -1dt ./*/ | head -n 1)" && sh setup.sh

Individual commands:

Install the latest development version of the Base using Composer from your WordPress themes directory (replace your-theme-name below with the name of your theme):

composer create-project seothemes/base your-theme-name dev-master

Navigate into the theme's root directory:

cd your-theme-name

Run the setup script to rename the theme, build the theme assets and kick-off BrowserSync:

sh setup.sh

Setup

The Base includes a powerful setup script which automates the process of updating theme details:

Base setup script

It replaces the following details with your own:

  • Theme name
  • Theme textdomain
  • Theme author
  • Theme author URL
  • Theme development URL
  • Theme namespace
  • Theme version

Usage

The Base is intended to be used with SEO Themes Core. All changes to the child theme should be made via the theme configuration file. This can be used to change almost every aspect of the theme, including theme features, navigation menus, image sizes, widget areas and more. An example config file is included with this theme.

Components are only loaded when a config key is provided. They can be added or removed depending on the requirements of your project. For example, to remove the PluginActivation component, simply remove it's config key from the return statement in config/defaults.php.

The app directory is provided to house project-specific PHP files if additional functionality is required. It comes pre-configured with PSR-4 autoloading. Custom components can be created in the same way other Core components are, by first creating a class which extends the Component class and then adding it's configuration to the theme's config file. An Example Component is included with the theme to get you started.

Project details such as theme name, author, version number etc should only ever be changed from the package.json file. The Gulp build task reads this file and automatically places the relevant information to the correct locations throughout the theme.

Static assets are organized in the resources directory. This folder contains theme scripts, styles, images, fonts, views and language translation files.

Development

Please refer to the Gulp WP Toolkit Instructions for a complete list of available build tasks.

In addition to Gulp WP Toolkit's tasks, there is also a zip task which can be used to generate an archive of your theme, including the required composer package files and none of the unnecessary files. The list of included files can be modified from the toolkit.extendConfig.src.zip config in the Gulpfile.

Structure

your-theme-name/    # → Root directory
├── app/            # → Theme PHP files
│   └── Example.php # → Example component
├── config/         # → Config directory
│   └── config.php  # → Theme settings
├── resources/      # → Front-end assets
│   ├── fonts/      # → Theme fonts
│   ├── img/        # → Theme images
│   ├── js/         # → Theme JavaScript
│   ├── lang/       # → Translation files
│   ├── scss/       # → Sass partials
│   └── views/      # → Theme templates
├── node_modules/   # → Node.js packages
├── vendor/         # → Composer packages
├── composer.json   # → Composer settings
├── functions.php   # → Composer autoloader
├── front-page.php  # → Front page template
├── Gulpfile.js     # → Gulp config
├── package.json    # → Node dependencies
├── screenshot.png  # → Theme screenshot
├── setup.sh        # → CLI setup script
├── style.css       # → Theme stylesheet
└── woocommerce.css # → WooCommerce styles

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Authors

SEO Themes logo   D2 Themes logo

See also the list of contributors who participated in this project.

Special Thanks

A shout out to anyone who's code was used in or provided inspiration to this project:

Craig Simpson, Christoph Herr, Gary Jones, Tim Jensen, Bill Erickson, Sridhar Katakam, Nathan Rice, Brian Gardner