Chisel A WordPress Development Framework

WordPress Website Structure

WordPress website project generated by Chisel consists of the following folders and files

gulp

Gulp tasks configuration. You can customize development workflow here, but usually it’s not necessary.

node_modules

Node.js modules for various project tasks.

src

This is where you do front-end development. The project source files are organized in the following subfolders:

  • assets – static asset files (images, fonts, etc.) – everything from this folder will be copied to the dist folder
  • scripts – JavaScript files, check out JavaScript documentation
  • styles – Sass files with ITCSS structure, check out ITCSS documentation

Moving src folder to the theme folder

It’s possible to have the src folder in your theme folder, just choose this option when setting up the project. If you haven’t and would like to move it manually, follow these steps:

  1. Move the src folder to the theme folder – wp/wp-content/themes/your-theme-chisel
  2. Change chisel.src.base property on line 13 in package.json to wp/wp-content/themes/your-theme-chisel/src

wp

This is where WordPress is installed.

wp/wp-config-local.php

WordPress wp-config.php file is altered to provide support for local configuration. All settings except Authentication Unique Keys and Salts, database charset and ABS_PATH can be set in wp-config-local.php file for purposes of local development. The file is added automatically to .gitignore and should not be committed and stored on the production server.

If there is wp-config-local.php file available in this directory then the environment is recognized as local and configuration from this file is used. If it doesn’t exist then settings from wp-config.php are used.

wp/wp-content/themes/your-theme-chisel

This is where you do theme development. The theme folder includes Chisel starter theme with the following structure:

  • dist – production ready files are automatically generated here.
  • Chisel – various classes used to extend or add new functionality to your theme. Check out WordPress development
  • src – if you’ve chosen to have the src folder inside your theme folder, it will appear here
  • templates – Twig templates, check out Twig documentation
  • functions.php – Chisel starter theme files
  • index.php
  • etc.

Configuration files

Chisel uses various configurations files. Usually, it’s not necessary to touch these files, unless stated otherwise.

  • .babelrc – Babel configuration file
  • .editorconfigEditorConfig configuration file to achieve consistent coding style
  • .eslintignoreESLint ignore file
  • .eslintrc.ymlESLint configuration file to achieve consistent JavaScript coding style (you can update it to your preference)
  • .gitattributesGit configuration file to force Unix line ending in text files
  • .gitignore – default Git ignore files and folders
  • .htmlhintrcHTMLHint configuration file
  • .prettierignorePrettier ignore file
  • .prettierrcPrettier config file
  • .stylelintignorestylelint ignore file
  • .stylintrc.ymlstylelint configuration file to achieve consistent CSS coding style (you can update it to your preference)
  • .yo-rc.jsonYeoman generator configuration file
  • dev-vhost.conf – automatically generated virtual host configuration (not needed if you use wildcard virtual hosts)
  • gulpfile.js – Gulp configuration file
  • package.json – project metadata and dependencies
  • package-lock.jsonnpm lock file, if you use npm
  • README.md – project readme; you can use it for the project documentation
  • webpack.chisel.config.jswebpack configuration file
  • yarn.lockYarn lock file, if you use Yarn

Craftsmanship and Work Ethics of Old Masters

Xfive - Delivering digital products since 2005

For more than a decade we’ve been helping creatives bring their visions to life in the digital world.

Xfive is a partner for design and web agencies looking to expand their capacity in web application development where care is the foundation of everything we do.

Work with us