This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
| 'use strict'; | |
| var lrSnippet = require('grunt-contrib-livereload/lib/utils').livereloadSnippet; | |
| var mountFolder = function (connect, dir) { | |
| return connect.static(require('path').resolve(dir)); | |
| }; | |
| module.exports = function (grunt) { | |
| // load all grunt tasks | |
| require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); |
| <!DOCTYPE HTML> | |
| <html xmlns:ng="http://angularjs.org"> | |
| <head> | |
| <title>Inline Edit</title> | |
| <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js" type="text/javascript"></script> | |
| <script src="http://code.angularjs.org/0.9.18/angular-0.9.18.min.js" type="text/javascript" ng:autobind></script> | |
| <style type="text/css"> | |
| .dirty { |
| #!/usr/bin/env ruby | |
| require 'jammit' | |
| print "Jammit check... " | |
| status_before = %x[git status --porcelain --untracked-files=no] | |
| Jammit.package! | |
| status_after = %x[git status --porcelain --untracked-files=no] | |
| jammit_files = (status_after.split("\n") - status_before.split("\n")).map { |f| f.split[1] } | |
| unless jammit_files.empty? |