Skip to content

Instantly share code, notes, and snippets.

View dillansimmons's full-sized avatar

Dillan Simmons dillansimmons

View GitHub Profile
@dillansimmons
dillansimmons / cost.mjs
Last active September 21, 2021 19:12
Calculate cost to upload folder in ETH
/* eslint-disable no-console */
import getFolderSize from 'get-folder-size';
async function checkCost() {
const myFolder = 'dist'; // your prod assets folder: can be folder or zip file
const size = await getFolderSize.loose(myFolder);
console.log(`The project is ${size} bytes large`);
console.log(`Cost: ${675 * size * 10 * (1 / 1000000000)}Eth at 10Gwei`);
console.log(`Cost: ${675 * size * 50 * (1 / 1000000000)}Eth at 50Gwei`);
@dillansimmons
dillansimmons / package.json
Last active September 21, 2021 19:12
Use puppeteer to take multiple screenshots of project
{
"name": "mock package.json project",
...
"scripts": {
"screenshots": "node screenshots.mjs"
},
...
"devDependencies": {
"puppeteer": "^10.1.0"
}
@dillansimmons
dillansimmons / smoothScroll.JS
Created October 30, 2017 21:59
Smooth scroll anchor links
// Standard Smooth scroll JS - I know kinda verbose D.S.
(function() {
'use strict';
// Feature Test
if ('querySelector' in document && 'addEventListener' in window && Array.prototype.forEach) {
// Function to animate the scroll
var smoothScroll = function(anchor, duration) {
// Calculate how far and how fast to scroll
var startLocation = window.pageYOffset;
var endLocation = anchor.offsetTop;
@dillansimmons
dillansimmons / JobviteWordpressShortcode.php
Created October 5, 2017 19:26
Worpdress Shortcode for showing / filtering Jobvite listings. Uses Jobvite v2 api.
<?php
// if you want to function for location later on you can use the $loc var and uncomment the if (if arr_key) code below
function showJobvite(){
/* Jobvite url to start with: Update your Job api key and secret, we start by filtering open and externally facing jobs */
$url = "https://api.jobvite.com/api/v2/job?api=company_jobfeedapi_key&sc=secretKey&jobStatus=Open&availableTo=External&callback=?";
// Initiate curl
$ch = curl_init();
// Disable SSL verification
@dillansimmons
dillansimmons / RestrictFreeMail_Marketo.js
Last active June 11, 2020 19:47
Restrict free email addresses: Marketo
// Taken from http://developers.marketo.com/blog/restrict-free-email-domains-on-form-fill-out/
// Prepared by Ian Taylor and Murtza Manzur on 9/9/2014 - Modified Dillan Simmons 8/15/17
(function (){
// Please include the email domains you would like to block in this list
var invalidDomains = ["@gmail.","@yahoo.","@hotmail.","@live.","@aol.","@outlook.","@test."];
MktoForms2.whenReady(function (form){
form.onValidate(function(){
var email = form.vals().Email;
@dillansimmons
dillansimmons / passUTM.js
Last active January 11, 2024 18:00
Pass current UTMS to in page links Javascript
// JS for grabbing utm params and parsing into url
var getRefQueryParam = function() {
var temp = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function() {
var decode = function(s) {
return decodeURIComponent(s.split("+").join(" "));
};
temp[decode(arguments[1])] = decode(arguments[2]);
});
return temp;
@dillansimmons
dillansimmons / parseURL.js
Last active August 16, 2017 15:39
Parse URL values
// JS for grabbing utm params
var getRefQueryParam = function() {
var temp = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function() {
var decode = function(s) {
return decodeURIComponent(s.split("+").join(" "));
};
temp[decode(arguments[1])] = decode(arguments[2]);
});
return temp;
@dillansimmons
dillansimmons / findAndReplaceWP.sql
Last active August 16, 2017 15:39
Worpdpress: Find and Replace URL
UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');
@dillansimmons
dillansimmons / firstTouchUTMCookie.js
Created October 25, 2016 19:29
Store first touch utm in cookie and input into hidden field (Cookie.js, JQuery)
// Initiate JQUERY
// Initiate cookie.js : https://github.com/js-cookie/js-cookie
// Parse the URL
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Give the URL parameters variable names
@dillansimmons
dillansimmons / recaptchaMarketo.js
Created October 21, 2016 05:51
Insert Google reCAPTCHA into Marketo form with validation
/* Load the Google reCAPTCHA API : Make sure it loads somewhere above the insert code-->
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
*/
/* Main code that inserts the reCAPTCHA into the marketo form */
// Wait for Marketo form to load
MktoForms2.whenReady(function (form) {
// Insert the recap div after the last form row
$( '<div id="recap"></div>' ).insertAfter( ".mktoFormRow:last-of-type" );
// render the recap : replace with your site key