Skip to content

Instantly share code, notes, and snippets.

View benjaminsinger's full-sized avatar
🏠
Working from home

Ben Singer benjaminsinger

🏠
Working from home
View GitHub Profile
@benjaminsinger
benjaminsinger / NPM installation requirements
Last active June 6, 2022 11:21
Roots Sage Gulpfile Including Critical CSS and CombineMQ
npm install --save asset-builder browser-sync del gulp gulp-autoprefixer gulp-changed gulp-concat gulp-cssnano gulp-flatten gulp-if gulp-imagemin gulp-jshint gulp-less gulp-plumber gulp-rename gulp-rev gulp-sass gulp-sourcemaps gulp-uglify imagemin-pngcrush jshint jshint-stylish lazypipe merge-stream minimist run-sequence traverse wiredep gulp-util gulp-combine-mq critical gulp-rename gulp-penthouse
@benjaminsinger
benjaminsinger / gist:8e46fa8851a681617d0769bab7611926
Created March 23, 2017 08:42
Parallax Background Images Using 3d Transforms
/*
trans3dparallax.js
Author: Ben Singer
Desc: A (very) simple jQuery-powered parallax effect for maximum smoothness with minimal effort.
*/
var parallaxPushr = function() {
var parallaxPushr = {};
@benjaminsinger
benjaminsinger / WordPress Grayscale Thumbnail Generation
Created February 3, 2016 14:43
WordPress Grayscale Thumbnail Generation - Makes duplicates of all uploaded images in grayscale without overwriting existing media
add_filter('wp_generate_attachment_metadata','rb_bw_filter');
function rb_bw_filter($meta) {
$path = wp_upload_dir(); // get upload directory
$file = $path['basedir'].'/'.$meta['file']; // Get full size image
$files[] = $file; // Set up an array of image size urls
foreach ($meta['sizes'] as $size) {
<?php
// in functions.php
add_theme_support( 'post-thumbnails');
/*
Wordpress crop an image = 5 size. Sizes are given below
thumbnail // Thumbnail (default 150px x 150px max)
@benjaminsinger
benjaminsinger / gist:738ee66c58167364de15
Last active August 29, 2015 14:27
Fixes Virtualmin error with sendmail overriding postfix on CentOS 7
sudo service postfix stop; sudo \rm /var/lock/subsys/postfix; sudo \rm /var/spool/postfix/pid/master.pid; sudo fuser -k /var/lib/postfix/master.lock;sleep 5;sudo service postfix start;sleep 5; sudo service postfix status
http://www.math.ias.edu/~tarzadon/pages/posts/postfix-master-dead-but-pid-file-exists-112.php
https://www.virtualmin.com/node/25760
http://forum.odin.com/threads/email-error-with-roundcube-smtp-error-250-authentication-failed.306524/
@benjaminsinger
benjaminsinger / gist:c66600e43ffe3c7531de
Created June 24, 2015 14:24
Sanitize Wordpress WYSIWYG output
function sanitize_content($content) {
$block = join("|",array("make_columns", "make_row"));
$rep = preg_replace("/(<p>)?\[($block)(\s[^\]]+)?\](<\/p>|<br \/>)?/","[$2$3]",$content);
$rep = preg_replace("/(<p>)?\[\/($block)](<\/p>|<br \/>)?/","[/$2]",$rep);
return $rep;
}
add_filter("the_content", "sanitize_content");
# Include your project-specific ignores in this file
# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files
# Build Systems #
######################
bower_components
.sass-cache
*.css.map
node_modules
npm-debug.log
/*
===============================================================
## UTILS
===============================================================
*/
@mixin cover($image) {
background: url($image) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
@benjaminsinger
benjaminsinger / gist:fae1df3391acc19a110e
Created February 5, 2015 11:00
Window Resize Fire Delay
var waitForFinalEvent = (function () {
var timers = {};
return function (callback, ms, uniqueId) {
if (!uniqueId) {
uniqueId = "Don't call this twice without a uniqueId";
}
if (timers[uniqueId]) {
clearTimeout (timers[uniqueId]);
}
timers[uniqueId] = setTimeout(callback, ms);
-webkit-transition: -webkit-transform 500ms cubic-bezier(0.645, 0.045, 0.355, 1);
transition: transform 500ms cubic-bezier(0.645, 0.045, 0.355, 1)