cdk-comp/cdkage

WordPress starter theme with a modern development workflow

Installs: 10

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 3

Open Issues: 0

Type:wordpress-theme

1.0.5 2018-10-02 19:55 UTC

This package is not auto-updated.

Last update: 2024-04-14 21:38:20 UTC


README

Packagist devDependency Status Build Status

CDKAGE is a Sage based WordPress starter theme with a modern development workflow.

Features

  • Sass for stylesheets
  • Modern JavaScript
  • Webpack for compiling assets, optimizing images, and concatenating and minifying files
  • Browsersync for synchronized browser testing
  • Blade as a templating engine
  • Controller for passing data to Blade templates
  • ACF support with custom modules development
  • ACF Builder configuration arrays for Advanced Custom Fields Pro using the builder pattern and a fluent API
  • Ultimate Fields support with custom modules development

See a working example at roots-example-project.com.

Requirements

Make sure all dependencies have been installed before moving on:

Theme installation

Install CDKage 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 cdk-comp/cdkage your-theme-name

To 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-master

During theme installation you will have options to update style.css theme headers, select a CSS framework, and configure Browsersync.

Theme structure

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
│   ├── wcf-check.php                 # → Check if required plugin's exist
│   ├── wcf-init.php                  # → Init option page for module management
│   ├── wcf-modules.php               # → Module management for ACF/Ultimate fields
│   └── 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
│   ├── 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
│   ├── modules/                      # → Module loads and config
│   │   ├── **/fields.php             # → Fields management
│   │   ├── **/partial.blade.php      # → Module template
│   │   ├── **/script.js              # → Module JS
│   │   ├── **/style.scss             # → Module stylesheets
│   │   └── class-module-loader.php   # → Settings for compiled assets
│   ├── 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 app/setup.php to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars.

Theme development

  • 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/cdkage for non-Bedrock installs)

Build commands

  • yarn start — Compile assets when file changes are made, start Browsersync session
  • yarn build — Compile and optimize the files in your assets directory
  • yarn build:production — Compile assets for production

Documentation

Contributing

Contributions are welcome from everyone.

CDKage sponsors

Help support our open-source development efforts by:

Community

TODO

  • Make example project with cdk-comp/bedrock and vagrant-easyengine
  • Update dependencies for Node.js
  • Make ACF builder module
  • Include showcase screencast about a CDKage