Skip to content

rollandwalsh/third-rail-wp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<<<<<<< HEAD

FoundationPress Build Status

This is a WordPress starter theme based on Foundation 5 by Zurb. The purpose of FoundationPress, is to act as a small and handy toolbox that contains the essentials needed to build any design. FoundationPress is meant to be a starting point, not the final product. If you're looking for an all-in-one theme with built-in shortcodes, plugins, fancypancy portfolio templates or whatnot, I'm afraid you have to look elsewhere.

Please fork, copy, modify, delete, share or do whatever you like with this.

All contributions are welcome!

Requirements

A brief explanation to the requirements (feel free to skip this if you're a pro):

Back in the days we wrote all styles in the style.css file. Then we realized that this could quickly create clutter and confusion, especially in larger projects. Foundation uses SASS (equivalent to LESS, used in Bootstrap). In short, SASS is a CSS pre-processor that allows you to write styles more effectively and tidy.

To compile SASS files into one style sheet, we use a tool called Grunt. In short, Grunt is a task runner that automates repetitive tasks like minification, compilation, linting, etc. Grunt and Grunt plugins are installed and managed via npm, the Node.js package manager. Before setting up Grunt ensure that your npm is up-to-date by running npm update -g npm (this might require sudo on certain systems)

Bower is a package manager used by Zurb to distribute Foundation. When you have Bower installed, you will be able to run foundation update in the terminal to update Foundation to the latest version. (After an upgrade you must run npm run build to recompile files).

Okay, so you'll need to have Node.js installed before continuing.

And that is it.

Many project force their users to install Bower and Grunt globally. We don't like that and decided to use them via npm scripts which means, that Grunt and Bower are installed in your node_modules folder and we'll call them there.

Haven't used this approach yet? Read on.

Quickstart

$ cd my-wordpress-folder/wp-content/themes/
$ git clone git@github.com:olefredrik/FoundationPress.git
$ mv FoundationPress your-theme-name
$ cd your-theme-name

# will call:
# bower install && grunt build
# afterwards
# check `package.json` `scripts`
# for further information
$ npm install

Tip: If you get an error saying Permission denied (publickey) when cloning the repository, use the https protocol instead: git clone https://github.com/olefredrik/FoundationPress.git

While you're working on your project, run:

# will call:
# grunt watch
#
# predefined in `package.json`
$ npm run watch

For building all the assets, run:

# will call:
# grunt build
#
# predefined in `package.json`
$ npm run build

And you're set!

Check for Foundation Updates? Run: $ foundation update (this requires the foundation gem to be installed in order to work. Please see the docs for details.)

Wanna run a custom grunt task? Run:

# will call:
# grunt sass
$ npm run grunt -- sass

# will call:
# grunt copy
$ npm run grunt -- copy

Stylesheet Folder Structure

  • style.css: Do not worry about this file. (For some reason) it's required by WordPress. All styling are handled in the Sass files described below

  • scss/foundation.scss: Imports for Foundation components and your custom styles.

  • scss/config/_settings.scss: Original Foundation 5 base settings

  • scss/config/_custom-settings.scss: Copy the settings you will modify to this file. Make it your own

  • scss/site/*.scss: Unleash your creativity and make it look perfect. Create the files you need (and remember to make import statements for all your files in scss/foundation.scss)

  • css/foundation.css: All Sass files are minified and compiled to this file

  • css/foundation.css.map: CSS source maps

Script Folder Strucutre

  • bower_components/: This is the source folder where all Foundation components are located. foundation update will check and update scripts in this folder.

  • js/custom: This is where you put all your custom scripts. Every .js file you put in this directory will be minified and concatinated to foundation.js

  • js/vendor: Vendor scripts are copied from bower_components/ to this directory. We use this path for enqueing the vendor scripts in WordPress.

  • Please note that you must run npm run build in your terminal for the script to be copied and concatinated. See Gruntfile.js for details

Demo

Unit Testing With Travis CI

FoundationPress is completely ready to be deployed to and tested by Travis CI for WordPress Coding Standards and best practices. All you need to do to activate the test is sign up and follow the instructions to point Travis CI towards your repo. Just don't forget to update the status badge to point to your repositories unit test. Travis CI

UI toolkits for rapid prototyping

Tutorials and reviews

A selection of sites built with FoundationPress

Contributing

Here are ways to get involved:

  1. Star the project!
  2. Answer questions that come through GitHub issues
  3. Report a bug that you find
  4. Share a theme you've built on top of FoundationPress
  5. Tweet and blog your experience of FoundationPress.

Pull Requests

Pull requests are highly appreciated. More than three dozen amazing people have contributed to FoundationPress (so far). Here are some guidelines to help:

  1. Solve a problem. Features are great, but even better is cleaning-up and fixing issues in the code that you discover
  2. Make sure that your code is bug-free and does not introduce new bugs
  3. Create a pull request

Documentation

_s

Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.

My ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:

  • A just right amount of lean, well-commented, modern, HTML5 templates.
  • A helpful 404 template.
  • A sample custom header implementation in inc/custom-header.php that can be activated by uncommenting one line in functions.php and adding the code snippet found in the comments of inc/custom-header.php to your header.php template.
  • Custom template tags in inc/template-tags.php that keep your templates clean and neat and prevent code duplication.
  • Some small tweaks in inc/extras.php that can improve your theming experience.
  • A script at js/navigation.js that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in functions.php.
  • 2 sample CSS layouts in layouts/ for a sidebar on either side of your content.
  • Smartly organized starter CSS in style.css that will help you to quickly get your design off the ground.
  • Licensed under GPLv2 or later. :) Use it to make something cool.

Getting Started

If you want to keep it simple, head over to http://underscores.me and generate your _s based theme from there. You just input the name of the theme you want to create, click the "Generate" button, and you get your ready-to-awesomize starter theme.

If you want to set things up manually, download _s from GitHub. The first thing you want to do is copy the _s directory and change the name to something else (like, say, megatherium), and then you'll need to do a five-step find and replace on the name in all the templates.

  1. Search for '_s' (inside single quotations) to capture the text domain.
  2. Search for _s_ to capture all the function names.
  3. Search for Text Domain: _s in style.css.
  4. Search for  _s (with a space before it) to capture DocBlocks.
  5. Search for _s- to capture prefixed handles.

OR

  • Search for: '_s' and replace with: 'megatherium'
  • Search for: _s_ and replace with: megatherium_
  • Search for: Text Domain: _s and replace with: Text Domain: megatherium in style.css.
  • Search for:  _s and replace with:  Megatherium
  • Search for: _s- and replace with: megatherium-

Then, update the stylesheet header in style.css and the links in footer.php with your own information. Next, update or delete this readme.

Now you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)

Good luck!

084f6e5e4c6896368154a1af98702b191957ed64