Coder Social home page Coder Social logo

smores's Introduction

S'mores is a WordPress starter theme based on HTML5 Boilerplate & Foundation that will help the FiWi Creative Team (and others) create better Wordpress themes.

S'mores is an on-going project and an ever evolving repository. As our systems and processees change, so will S'mores.

Features

  • Grunt for compiling Sass to CSS, checking for JS errors, live reloading, concatenating and minifying files, optimizing PNGs and JPEGs, versioning assets, and generating lean Modernizr builds
  • Bower for front-end package management
  • HTML5 Boilerplate
    • We use a little older version of HTML5 Boilerplate. We still like Paul Irish's IE version detection. Hey, in IE's case, browser detection is feature detection.
    • The latest jQuery via Google CDN, with a local fallback (Bower)
    • The latest Modernizr build for feature detection, with lean builds with Grunt
    • An optimized Google Analytics snippet
  • Foundation 5
  • Organized file and asset structure

Installation

  1. Clone the git repo - git clone https://github.com/findsomewinmore/smores.git
  2. Rename the directory to the name of your theme or website.
  3. Remove the .git directory (This will preven you from commiting your personal project to the S'mores repositiory)
  4. Initialize a new Git repo with git init

Development

S'mores uses Grunt for compiling Sass to CSS, checking for JS errors, live reloading, concatenating and minifying files, optimizing PNGs and JPEGs, versioning assets, and generating lean Modernizr builds.

Branches

There are currently two branches. Master and Wordpress. Both contain the same dependency files and assets folder.

  1. master contains a single starter HTML files, for wireframes/templates
  2. wordpress contains the required Wordpress theme files

To switch branches type: git checkout <branch name> from the command line.

Install Grunt

Unfamiliar with npm? Don't have node installed? Download and install node.js before proceeding.

From the command line:

  1. Install grunt-cli globally with npm install -g grunt-cli. a.) If you are using NVM, type nvm use 0.10
  2. Navigate to the theme directory, then run npm install --unsafe-perm. npm will look at package.json and automatically install the necessary dependencies. It will automatically run bower install, which installs front-end packages defined in bower.json.

When completed, you'll be able to see a Foundation 5 sample page by viewing _site.html in your browser.

Available Grunt commands

  • grunt — Run all tasks: compile Sass to CSS, concatenate and validate JS, optimize images, build lean Modernizr file, etc.
  • grunt watch — Run appropriate task when a file is changed.

###File Structure (See file comments for futher documentation; files vary depending on branch)

  • assets
    • bower_components (This is where bower stores our front end dependencies; do not source control)
    • css (Compiled, minified Sass)
      • ie-[version].css (IE only stylesheet)
      • styles.min.css (Sass compiles to here)
    • fonts (3rd part font files not available as webfonts)
    • img
      • favicons (All favicons, tile icons, and homescreen icons are stored here)
      • src (Store uncompressed images and photos here, they will be optimized and saved in assets/img/)
    • js (Source and compiled Javascript. Source Javascript files begine with an underscore. Ex: _main.js)
      • _main.js (Main js file with DOM based routing)
      • scripts.min.js (_main.js and other plugins compile to this)
    • scss (Source Sass files)
      • desktop (Desktop sized Sass files go here)
        • _header.scss
        • _main.scss
        • _footer_scss
      • tablet (Desktop sized Sass files go here)
        • _header.scss
        • _main.scss
        • _footer_scss
      • Layout (Mobile first layout goes here)
        • _header.scss
        • _main.scss
        • _footer_scss
      • _animate.scss
      • _minins.scss
      • _normalize.scss
      • _typography.scss
      • _variables.scss
      • style.scss
  • lib (This is where we put all the functions included in functions.php)
    • init.php (Initialization stuff like theme support and sidebars)
    • nav.php (Custom nav walker for Top Bar and examples)
    • scripts.php (Enqueue scripts and stylesheets)
  • node_modules (This is where grunt and its dependecies are stored; Do not version control)
  • .bowerrc (Bower config file, we change the default install directory)
  • .editorconfig (This ensures our entire team uses the same tabs and charset)
  • .gitignore (Tell git to ignore bower_components, node_modules, and .DS_Store)
  • .jshintrc (JS Hint config)
  • Gruntfile.js (Grunt task declarations)
  • package.json (Project package and dependencies list)
  • bower.json (Project Bower dependencies)
  • ...
  • Wordpress theme files

Credits

##Findsome & Winmore

S'mores is maintained and funded by Findsome & Winmore. This open source project is brought to you by dozens of other open source projects. We like to give credit to those that we have borrowed from. If you find a code snippet we forgot to credit, please submit a pull request for a README.md update.

License

S'mores is Copyright © 2014 Findsome & Winmore. It is free software, and may be redistributed under the terms specified in the LICENSE file.

smores's People

Contributors

bolak avatar connormckelvey avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

regiellis bohnna

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.