- Custom Flexbox mixins for site layout
- Custom jQuery plugin for mobile navigation
- Custom WordPress plugin to store custom post types and similar functionality
- Support for the WordPress customizer to manage basic theme options
My website has been loooong overdue for a revamp. Back in the day, I had a pretty nice site but it was a free theme that I had found online. At that time, my skills were limited strictly to the front-end. A lot has changed since then, and it was time for an update.
In that time, I have learned a ton of new things and skills, and have also decide that I no longer care to be a designer. Don't get me wrong, I can still fire up Photoshop or Sketch when I need to and get to work, but when it comes to websites I love the code side of things, and that is where I am going to stay.
I started with my base WordPress starter theme Fresh Start. Because I am not a designer and I focus on code, I did not want to bother with designing a new website, or grabbing a free design from Behance that I could then turn into code.
There are no CSS frameworks or grid systems in use here. This is because frankly I just don't think that they are needed in most situations. I get the use cases and advantages of them, but for someone like me it is far more important to understand to core principles of the technology stack in use (and the stack that makes up these frameworks). Although you will see sites in my portfolio that are built off of Foundation or Bootstrap, these are sites that have been created strictly in an agency environment.
The first task was to extract any high level properties into its own plugin. Things like custom post types, custom shortcodes, or anything else that should be available globally goes there.
Next step was to grab any dependencies. I use Yarn for dependency management and Gulp to compile everything during builds. Scaffolding out the theme architecture was next, and since this is already just a small variation of my starter theme that was a piece of cake.
Getting to Work
Beginning to actually code the site is always the fun part. Since there is no predetermined design, each page I coded simply starts with with blank page and planning out what information will be on the page. After that is determined, then I "design in the browser" to layout that content in an appealing, but more importantly straightforward way. There are a lot of decisions I could have made to add all the fluff to this site like animations, popular color palettes, and whatever other web design trends are in right now; but those don't actually add any value to this website. So, if it doesn't add value and doesn't need to be here. I might add these things in if I have some free time and I've had a few beers, but for now it just isn't important.