Skip to content

Instantly share code, notes, and snippets.

@keithws
keithws / trash.sh
Last active August 29, 2015 14:14
trash bash script
#
# trash command
# move files to the trash
#
function trash {
if [[ "$@" == "" ]]
then
echo "usage: trash file ..."
return 64
fi
@keithws
keithws / getBlogContributors.ftl
Created April 25, 2013 01:41
FreeMarker template code to create a list of users sorted by their last blog post publish date across many blogs or a single blog in Jive SBS. Tested on version 4.5.5.2 in the blog-macros.ftl file.
<#function getBlogContributors blogs>
<#local contributors = [ ]>
<#local contributorsWithDate = [ ]>
<#local blogPostObjectType = 38>
<#local resultFilter = action.getResultFilter()>
<#if blogs?has_content>
<#list blogs as blog>
<#list blog.contributors as contributor>
<#if (!(contributors?seq_contains(contributor)))>
<#-- check if user is blocked -->
@keithws
keithws / gist:7648530
Last active December 29, 2015 09:09
Clear Mac OS X Terminal with Control+L
<?xml version="1.0"?>
<root>
<item>
<name>Clear Terminal with standard control code</name>
<item>
<name>Command+L to Control+L (only in Terminal)</name>
<identifier>private.l_plus_command_to_l_plus_control</identifier>
<only>TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::L, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::L, ModifierFlag::CONTROL_L</autogen>
</item>
@keithws
keithws / gtm.captora.html
Created June 21, 2016 21:59
Captora Tracking Tag which loads jQuery when necessary
<!-- Captora -->
<script>
/**
* initialize Captora
* requires jQuery, so load jQuery if not present
*/
(function initCaptora () {
"use strict";
@keithws
keithws / state-from-zipcode.js
Created April 24, 2018 00:09
Function to return the two letter state abbreviation from a US zip code.
function stateFromZIPCode (zipcode) {
var i, item, l, state, statesByZIP;
// list of zip code ranges and the states they reside in
statesByZIP = [
[ 210, 3897, "NH" ],
[ 501, 544, "NY" ],
[ 1001, 5544, "MA" ],
[ 2801, 2940, "RI" ],
@keithws
keithws / gtm-ipify-ipinfo-tag.html
Created September 21, 2018 22:15
Google Tag Manager tag to load GeoIP data into data layer. Provides country based on IP address to help with GDPR.
<script>
/*
* get geographical location data by ip address
* uses the free ipify.org service
* and the paid ipinfo.io service
* and intelligent caching to minimize requests
*/
// mark the start of the script loading
@keithws
keithws / download-jive-users-with-points.js
Last active April 2, 2020 00:47
Download a CSV file of all users with points in the Jive Rewards system for your community.
/*
* get users with points from Jive Rewards
* this code is meant to be injected into the browser console at
* https://rewards.jivesoftware.com/
* start by logging into your Jive Community and then
* visit the Jive Rewards Console (in your profile menu)
*
* after injection, it will add a "Download CSV" link in the page
* click the link to download a CSV of all Jive Users with Points
*/
@keithws
keithws / gtm-ipapi-tag.html
Created September 21, 2018 20:16
Google Tag Manager tag load GeoIP data into data layer from ipapi.co. Provides the data necessary to help with GDPR.
<script>
/*
* get geographical location data by ip address
* uses the free ipify.org service
* and the paid ipapi.co service
* and intelligent caching to minimize requests
*/
// mark the start of the script loading
@keithws
keithws / json-beautify-bootstrap.js
Last active September 7, 2021 15:24
code to pretty-print JSON responses in the browser
/*
* load the JSON Beautify source
* and let client cache it for 24 hours
*/
(function () {
var now, script, today, url;
url = "https://gist.githubusercontent.com/keithws/6b5333dd09753c26d8cec19414fca2fc/raw/9ae2d49d89b523f1522280eb940456ac49d48f43/json-beautify.js";
now = Date.now();
@keithws
keithws / gtm-ipify.html
Created September 21, 2018 22:40
Get IP address and add it to the Google Tag Manager data layer. Uses the free ipify.org service and intelligent caching to minimize requests.
<script>
/*
* get ip address and add it to the GTM data layer
* uses the free ipify.org service
* and intelligent caching to minimize requests
*/
// mark the start of the script loading
window.dataLayer = window.dataLayer || [];