Git Product home page Git Product logo

carabiner's Introduction

Carabiner

A grunt setup for clipping your web projects together.

Installation

  1. Run the carabinify script in the root folder. Optionally, call it with the desired project name:
  curl https://raw.githubusercontent.com/dvmtn/carabiner/master/carabinify | bash /dev/stdin my_project_name

Manual Installation

  1. If you haven't used grunt-source before, install grunt-source with npm install -g grunt-source

  2. Add the Carabiner Gruntsource.json to your project with:

    curl https://raw.githubusercontent.com/dvmtn/carabiner/master/Gruntsource.json.example > Gruntsource.json
  3. Run grunt-source init to populate example files

  4. There is no step 4, get developing!

Development Groove

  1. Run grunt-source dev
  2. Write some html or haml into html/ and save it
  3. See your awesome page at localhost:8080
  4. Add js and css or sass in the js and css folders
  5. Notice how sass, css, js, html, jade, haml, etc. are all compiled into /dist each time you save and think how awesome this is!
  6. Throw some static json or CNAME files in data/ so they are copied straight into dist/ without processing.
  7. Run grunt-source deploy to recompile everything and throw it to your deployment branch and remote for the world to see!

Super Important Things

  • dist is intended to be cleaned (as in completely wiped) so files shouldn't be added directly to it. Add them to data instead to have them appear in the top level of dist.
  • The Sitemap can only be generated if you set the homepage key in your package.json file.
  • Support for haml will eventually be dropped in favour of Jade because of the better partial (includes) rendering options.

Tasks

Command Action
grunt-source Full build: run tests, lint, concatenate and minify for distribution
grunt-source dev Run a webserver on localhost:8080 and recompile JS and CSS files when any are changed
grunt-source test Run jasmine and jshint
grunt-source deploy Run the default task and deploy to origin/gh-pages

Config

  • Define new tasks in grunt/aliases.yaml
  • Change the git branch and remote which deploy pushes to in the options following the grunt-gh-pages docuementation.

carabiner's People

Contributors

adamwhittingham avatar atleastimtrying avatar

Watchers

 avatar James Cloos avatar Richard avatar Anna Whittingham avatar

carabiner's Issues

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.