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
Requires
- php: >=7.1
- composer/installers: ~1.0
- illuminate/support: 5.6.*
- roots/sage-lib: ~9.0.5
- soberwp/controller: ~2.1.0
- stoutlogic/acf-builder: ^1.8
Requires (Dev)
- jakub-onderka/php-parallel-lint: ^1.0
- jakub-onderka/php-var-dump-check: ^0.2.0
- squizlabs/php_codesniffer: ^2.8.0
This package is not auto-updated.
Last update: 2024-10-28 00:16:11 UTC
README
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:
- WordPress >= 4.9.8
- Advanced Custom Fields >= 5.7.6 or
- Ultimate Fields >= 3.0.2
- PHP >= 7.1.3 (with
php-mbstring
enabled) - Composer
- Node.js >= 6.9.x
- Yarn
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 hostnamepublicPath
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 sessionyarn build
— Compile and optimize the files in your assets directoryyarn build:production
— Compile assets for production
Documentation
Contributing
Contributions are welcome from everyone.
CDKage sponsors
Help support our open-source development efforts by:
- Buy a hosting (and receive $10 credit!)
- PayPal donate
- Buy me a coffee
Community
- Participate on the Telegram
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