Skip to content

Instantly share code, notes, and snippets.


Gilad Peleg pgilad

Block or report user

Report or block pgilad

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
pgilad / gaInit.js
Last active Jun 22, 2016
Google Analytics ga.js for chrome extensions - snippit that doesn't report on development enviornment
View gaInit.js
//replace UA-XXXXXXXX-X *ONLY* with your real UA Account ID.
//DO not replace the UA-99999999-X with anything, as that is the point of this.
var _gaq = _gaq || [];
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = '';
var s = document.getElementsByTagName('script')[0];
pgilad / getSubdomain.js
Last active Oct 10, 2018
Regex for matching subdomains in document.location.hostname
View getSubdomain.js
var getSubdomain = function (baseDomain) {
if (!baseDomain) {
return null;
var regSub = new RegExp('^((?!' + baseDomain + '|www)([^.]*))', 'g');
var _subdomain = document.location.hostname.match(regSub);
if (_subdomain && _subdomain[0]) {
return _subdomain[0];
} else {
pgilad / hasEvery.lodash.js
Last active Aug 29, 2015
Check if a collection has truthy values for keys
View hasEvery.lodash.js
//to validate if a collection has all the desired keys and they are truthy:
var hasEvery = function(desiredKeys, collection) {
return _.all(desiredKeys, _.result.bind(collection, collection));
var desiredKeys = ['hello', 'there', 'isIt'];
var collection = { hello: 1, there: 1, isIt: true};
hasEvery(desiredKeys, collection);
//-> true
pgilad / gulpfile.js
Last active Nov 27, 2017
gulpfile regular flow
View gulpfile.js
var path = require('path');
var gulp = require('gulp');
var streamqueue = require('streamqueue');
var $gulp = require('gulp-load-plugins')({
lazy: false
var prependBowerPath = function (package) {
return path.join('./src/bower_components/', package);
pgilad /
Created May 25, 2014
Client exposes API

An API for website's Exposes


Imagine you had a Chrome/Firefox/IE? extension that can use the same keys to handle the same basic actions throughout every web page you visit.

Lets assume your are visiting and search for Js Slider. Now you want to move to the next page of results. Currently you have to click Next Page.

But what if Google implements their very own keyboard keys for their search. So they decide that if your press Ctrl+Alt+N you move to the next page. But what if Bing makes it Ctrl+Alt+P? And Yahoo makes it Cmd+Alt+N?

pgilad /
Last active Aug 15, 2019
Git commit-msg hook to validate for jira issue or the word merge


  • copy the file commit-msg to .git/hooks/commit-msg
  • make sure your delete the sample file .git/hooks/commit-msg.sample
  • Make commit msg executable. chmod +x .git/hooks/commit-msg
  • Edit commit-msg to better fit your development branch, commit regex and error message
  • Profit $$

Shell example

pgilad /
Created Oct 27, 2014
Curl and get only response code
curl -sL -w "%{http_code}" "" -o /dev/null
pgilad / pre-commit
Created Jun 30, 2015
Precommit git hook
View pre-commit
JS_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E "(.js|.es6)$")
if [ "$JS_FILES" = "" ]; then
exit 0
for file in $JS_FILES; do
pgilad /
Created Oct 25, 2015
pip upgrade all packages
import pip
import subprocess
for dist in pip.get_installed_distributions():
call_str = "pip install --upgrade {0}".format(dist.project_name)
print "Upgrading {}".format(dist.project_name), shell=True)
pgilad / create-temp-dir.yml
Created Oct 27, 2015
Create a temp dir cross-platform in ansible
View create-temp-dir.yml
- name: create a local temp directory
module: command mktemp -d "{{ lookup('env', 'TMPDIR') | default('/tmp/') }}ansible.XXXX"
register: mktemp_output
You can’t perform that action at this time.