Skip to content

Instantly share code, notes, and snippets.

View kensnyder's full-sized avatar

Ken Snyder kensnyder

View GitHub Profile
@kensnyder
kensnyder / casper-qsa.js
Last active December 10, 2015 22:59
Quick and Dirty jQuery-like function for Casper
function qsa(sel, each) {
return [].map.call(document.querySelectorAll(sel) || [], each || function(el) {return el});
}
// usage:
qsa('a[href*="/reports/"], .legend', function(el) {
el.style.visibility = 'hidden';
});
@kensnyder
kensnyder / repeated-ids.js
Created February 6, 2013 18:09
Find all repeated ids in a document
var ids = {};
var repeats = [];
document.body.innerHTML.replace(/ id="(.+?)"/g, function($0, $1) {
if (ids[$1]) repeats.push($1);
ids[$1] = true;
});
console.log(repeats);
// output
["carouselitem-2887", "carouselitem-2850", "slider-2887", "slider-2850", "carouselitem-2887", "carouselitem-2850", "carouselitem-2843", "slider-2887", "slider-2850", "slider-2843", "carouselitem-2887", "carouselitem-2850", "carouselitem-2843", "slider-2887", "slider-2850", "slider-2843", "carouselitem-2918", "carouselitem-2924", "carouselitem-2923", "carouselitem-2922", "carouselitem-2919", "carouselitem-2917", "carouselitem-2916", "carouselitem-2913", "carouselitem-2912", "carouselitem-2911", "carouselitem-2909", "carouselitem-2898", "carouselitem-2897", "carouselitem-2896", "carouselitem-2895", "carouselitem-2892", "carouselitem-2887", "carouselitem-2882", "carouselitem-2881", "carouselitem-2874", "slider-2918", "slider-2924", "slider-2923", "slider-2922", "slider-2919", "slider-2917", "slider-2916", "slider-2913", "sli
@kensnyder
kensnyder / themefile.css
Created May 8, 2013 18:37
Example of hiding the image in the body of a Right Intel post
.ri-image-wrapper {
display: none !important;
}
<?php
$foo = castObject($bar, '\\My\\FooObject');
function castObject($obj, $toClass) {
if (is_callable("$toClass::__cast")) {
return call_user_func("$toClass::__cast", $obj);
}
if ($obj instanceof $toClass) {
return $obj;
@kensnyder
kensnyder / package.json
Last active November 22, 2023 17:21
Minimal package.json file
{
"name": "",
"description": "",
"version": "0.1.0",
"dependencies": {},
"devDependencies": {}
}
@kensnyder
kensnyder / output.php
Created April 23, 2014 15:38
Sending a file
<?php
function sendFile($path, $name, $mime) {
$fp = @fopen($path, 'rb');
if (!$fp) {
// error opening file; it may not exist or be readable
header("HTTP/1.0 404 Not Found");
exit(0);
}
$size = filesize($path);
/*
# Usage in html template:
"xxx | nl2br"
<div ng-bind-html=" YourString | nl2br "></div>
or:
/**
* Given a DOM node, clean children so the node is suitable for pasting in a rich text area
* @param {HTMLElement} root The DOM node to clean
* @param {Object} [options] Cleaning options
* @param {object} [options.classMap] A map of tagName to CSS class for assigning classes
* @returns {undefined}
*/
function cleanElementChildren(root, options) {
// options may or may not be given
options = options || {};
@kensnyder
kensnyder / 1) webpack.config.js
Created October 20, 2015 23:30
Using ng-annotate loader with Webpack + Angular 1.x + ES6 classes + Babel
module.exports = {
devtool: 'sourcemap',
context: __dirname,
entry: './entry.js',
output: {
filename: './dist/bundle.js'
},
module: {
loaders: [
// run babel first then ng-annotate
@kensnyder
kensnyder / 0_reuse_code.js
Created November 12, 2015 16:33
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console