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:
| #PHPMYADMIN | |
| <VirtualHost *:80> | |
| DocumentRoot "/Applications/MAMP/htdocs/phpmyadmin" | |
| DirectoryIndex index.php | |
| ServerName phpmyadmin.localhost | |
| <Directory "/Applications/MAMP/htdocs/phpmyadmin"> | |
| AllowOverride All | |
| Allow from All | |
| </Directory> |
| license: gpl-3.0 | |
| redirect: https://observablehq.com/@mbostock/rotating-voronoi |
| /** | |
| * This casper scipt checks for 404 internal links for a given root url. | |
| * | |
| * Usage: | |
| * | |
| * $ casperjs 404checker.js http://mysite.tld/ | |
| * $ casperjs 404checker.js http://mysite.tld/ --max-depth=42 | |
| */ | |
| /*global URI*/ |
| // UMD dance - https://github.com/umdjs/umd | |
| !function(root, factory) { | |
| if (typeof define === 'function' && define.amd) { | |
| define(['jquery'], factory); | |
| } else { | |
| factory(root.jQuery); | |
| } | |
| }(this, function($) { | |
| 'use strict'; |
| var casper = require('casper').create({ | |
| verbose : true, | |
| logLevel : 'info' | |
| }); | |
| var images = []; | |
| var fs=require("fs") | |
| /** | |
| * Configuration here | |
| */ |
The reflow appens as many times as there are frames per seconds. It recalculate all positions that change in order to diplay them. Basically, when you scroll you execute a function where you move things between two reflows. But there are functions that triggers reflows such as jQuery offset, scroll... So there are two things to take care about when you dynamically change objects in javascript to avoid too many reflows:
| (function( $ ) { | |
| /** | |
| * jQuery.transtionend | |
| * Retrievs the total amount of time, in miliseconds that | |
| * an element will be transitioned | |
| */ | |
| $.fn.transtionend = function() { |
| tell application "System Events" | |
| -- get current clipboard contents as a string | |
| set CurrentClipboard to the clipboard as string | |
| -- set the clipboad to your password | |
| set the clipboard to "Y0urVPNPa$$w0rd" | |
| -- start playing with the VPN | |
| tell current location of network preferences | |
| var youTubeRegex = /(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|[a-zA-Z0-9_\-]+\?v=)([^#\&\?\n<>\'\"]*)/gi; |