Skip to content

clearhead/clearhead.me

Repository files navigation

#clearhead.me

Site Setup

Hosting

The production site and staging site (clearhead.staging.wpengine.com) are hosted by WP Engine.

CMS

The site uses WordPress for content management. Visit the WordPress Admin Screens to edit the content: clearhead.me/wp-admin. The active theme’s files are located in /wp-content/themes/clearhead-2016/ (AKA ~ for our purposes).

As of now the CMS is only integrated with the blog and generic body content on a handful of other pages.

Styles

The CSS file (found at ~/style.css) is a Sass output file and should not be edited directly. The source files are in ~/sass/. This Sass was originally compiled using CodeKit.

Scripts

Javascript files can be found in ~/js/ and “enqueued” from the ~/functions.php file’s clearhead_2016_scripts_and_styles function using the wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); function and parameters.

Contact Form

The Contact form uses Jetpack’s “Contact Form” module. The form’s entries are sent via email to the recipient specified in its shortcode markup – which is located in the Contact page’s entry.

Deploying

Git Push integration is setup with Circle CI to automatically deploy changes via SSH to WP Engine. /circle.yml is the Circle CI config file and the deploy scripts are located in /bin/. Check circleci.com/gh/clearhead/clearhead.me for the status.

The configuration simply autodeploys staging to the staging site and master to the production site.

Development Workflow

Here’s a recommended git workflow that should work for this project:

  1. Development can be done locally on new branches created off of master. For new features these can be “feature branches”. (Otherwise, generic “dev” branches for each team should suffice.)

  2. When changes on a branch are ready for testing or review, merge the branch into staging and push. This should deploy the changes to the staging site.

  3. When changes on staging are ready for production, merge staging into master and push. This should deploy the changes to the production site.