Composer backed project for easy WordPress sites using the Simple Framework. Aimed at making efficient sites, that are as sexy on the outside as they are inside. And hella fast. Hella.

Get it here!


About

Learn more about Simple and its components

  • Simple Framework ( parent framework )
  • Simple Child ( child framework )
  • VVV Simple ( an alternative to PressPlay, if you have vagrant setup, run this instead, a one click solution so to speak )
  • Simple Grid ( and stupid simple grid thats semantic, extendable, and actually makes sense )
  • Simple Anchors ( a data attr scrolling plugin with some awesomeness baked in )
  • Animate Scss ( fork of Dan Edens Animate.css )

Requirements


Optional ( But highly encouraged.. )

Want your mac to dev fly shit all day? check it homie.


Assumptions

You have a similar setup to the link above. OSX. Codekit. SequelPro.

Currently depends on Codekit for theme dev right out the box, cuz it just works like butter. Its possible to work with guard if you dont wanna deal with having a carefree life, but gets messy if both are used in a team environment. Guard shits on grunt, gulps alright too - but codekit takes the gold.

And if you’re using a wysiwyg editor or mamp or a bloated ide like coda, go back to school, kid.


Consists of

  1. Latest WP from
  2. Composer
    1. themes
      1. simple framework
      2. simple parent framework
      3. simple child theme
    2. plugins
      1. See full list within composer.json file.
    3. .htaccess ( Currently ignored from repo )
      1. permalinks
      2. media redirection to remote
    4. project repo should also house a db dump

Installation

  1. Clone repo and run composer.
$ git clone https://raw.github.com/kiriaze/PressPlay {Project-Name}
$ cd {Project-Name}
$ composer install
  1. Run ghost. ( Follow instructions through cli )
curl -s https://raw.githubusercontent.com/kiriaze/ghost/master/ghost.sh > /tmp; bash /tmp/ghost
  1. Create your database. ( Will move this into ghost.sh soon )
# Default
$ mysql -u {username} -p {password} -e "create database {databasename};"
# If dev env setup with mac-dev-env/homebrew, use the line below instead
$ mysql -u root -p  -e "create database foo;"
  1. Update git remote in root of project and subsequent files.
# Remove git from root of your project
$ rm -rf {Project-Name}/.git
# Add your new remote to the root of your project
$ git remote add origin https://path-to-repo.com/repo.git
# Remove git from project theme
$ rm -rf {Project-Name}/wp-content/themes/{project-theme}/.git
  1. Update Naming Conventions

    1. Rename Simple-child to {Project-Name} ( Or Simple-Framwork depending on which you choose to use )
    2. Update wp-content/themes/{Project-Name}/style.css naming refs, and should reflect the code block below.
/*
Theme Name:   Project Name
Theme URI:    http://projectname.com
Author:       Project Author
Author URI:   http://projectauthor.com
Description:      An awesome description.
Template:       simple
Version:          1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  simple
*/
3. Update wp-content/themes/{Project-Name}/assets/js/app.js naming refs
# Update all THEMENAME/SHORTNAME refs within file
# THEMENAME is the full name of your project, e.g. MyAwesomeProject
# SHORTNAME is the acronym of the THEMENAME, e.g. MAP
var SHORTNAME = window.THEMENAME; // example before
var MAP = window.MyAwesomeProject; // example after
  1. Set permissions to project directory ( WP Updates Specific )
$ sudo chown -R _www {Project-Name}
$ sudo chmod -R g+w {Project-Name}
  1. Update wp-config.php credentials to connect to your db.
  2. Direct browser to {Project-Name}.dev/wp/wp-admin
  3. Activate Project Theme.
  4. Update Site URL in WP Admin. ( And other settings through theme options )
  5. Drag your project Theme into codekit. ( comes with preconfigured codekit.conf )
  6. Make dope shit yo.

Notes:

  1. When updating gitignore, run $ git rm -r --cached . then re add/commit
  2. Add acf-pro license into wp admin.
  3. If you add other plugins to your project, you have two options to keep them in sync.

    1. Exclude from .gitignore with !wp-content/plugins/{plugin-name}
    2. Add plugin to composer.json and run composer update
  4. DB search/replace mysql query { When importing/exporting local/remote dbs }
update wp_posts set guid = replace(guid, "OLD", "NEW");
update wp_options set option_value = replace(option_value, "OLD", "NEW");
update wp_posts set post_content = replace(post_content, "OLD", "NEW");
update wp_postmeta set meta_value = replace(meta_value, "OLD", "NEW");

To Do:

  1. Add mysql db creation to ghost.sh
  2. Write db creds to wp-config.php from ghost.sh
  3. Convert ghost.sh to ruby script
  4. Integrate bower within simple-html
  5. Debug wp-setup within theme options on activation