Skip to content

Instantly share code, notes, and snippets.

View dsottimano's full-sized avatar

Dave dsottimano

View GitHub Profile
@dsottimano
dsottimano / gist:b7432b226187a953734c318db3742fa1
Last active May 23, 2023 18:10
URL Parser for Apps Script
//functions to parse URLs adapted for easy usage in apps script
//past the code below in the tools > script editor of any google sheet
//call the PARSE_URI() formula directly from a cell
// PARSE_URI 1.2.2
// (c) Steven Levithan <stevenlevithan.com>
// MIT License
//adapted for apps script by @dsottimano
@dsottimano
dsottimano / gist:2c8428b0bac422b3bcf08744c73b2be0
Created October 28, 2019 19:47
SERPapi for Google sheets/apps script
//note: users of this script need a valid api key from serpapi.com
//the key must be included in the object below as the serpApiKey value. For non-programmers, please ensure that your API is within quotes ("")
var GLOBAL_VARIABLES = {
serpApiKey: ""
}
/**
* Returns serpapi data for organic results
@dsottimano
dsottimano / gist:cd0d9479647e96d6b1d338222011ecee
Last active October 30, 2019 09:48
Substitute all custom function for apps script - sheets
/**
* Substitute multiple words or characters at once
* @param {"@,hello,test"} params REQUIRED The words you want to remove separated by commas ","
* @param {"a1"} text REQUIRED The string you want to subsitute from
* @param {"-"} replacement OPTIONAL The replacement string. Default is blank space
* @return Returns combination of protocols + www subdomains
* @customfunction
*/
function SUBSTITUTE_ALL(params, text,replacement) {
@dsottimano
dsottimano / gist:2af808b30de1bec51506e0855141dceb
Last active October 29, 2019 16:01
Keyword frequency table generator - apps script - google sheets
/**
* Returns a table of ngrams and their importance
*
* @param {"cars are the best"} textArray REQUIRED The corpus you want statistics from
* @param {"3"} numberOccurances OPTIONAL Show results with at least X occurrences. Default is 2
* @param {"4"} numberOfWords OPTIONAL Show statistics for one to X words. Default is 5
* @param {"false"} removeStopWords OPTIONAL true or false. False by default
* @customfunction
*/
@dsottimano
dsottimano / gist:29fbfaa6795ca3a7204fa82113dfc863
Last active January 9, 2020 21:19
SMXL MILAN 2019 PRESENTATION CODE BUNDLE
//this is where you put in your api keys!
//serpApiKey from serpapi.com
//proxyCrawlToken & proxyCrawlJavascriptToken from proxycrawl.com
var GLOBAL_VARIABLES = {
serpApiKey : "",
proxyCrawlToken: "",
proxyCrawlJavascriptToken: ""
@dsottimano
dsottimano / gist:20a50daded2128b4c86acb430cecba67
Created November 3, 2019 10:01
Google slides - change font for every slide using apps script
//script adapted by @dsottimano
//original from: https://stackoverflow.com/questions/52569689/clear-text-formatting-in-slides-using-apps-script
//credit to https://stackoverflow.com/users/7108653/tanaike
function onOpen() {
SlidesApp.getUi()
.createMenu('Custom Menu')
.addItem('Change Master Font', 'changeFont')
.addToUi();
@dsottimano
dsottimano / gist:e3e6294f80cb1cbb526d1defed322850
Last active January 5, 2024 20:01
Tech seo boost 2019 - Dave Sottimano - Apps script demo
//serpApiKey from serpapi.com
var GLOBAL_VARIABLES = {
serpApiKey : "add your api key"
}
/*
/***************************
/BEGIN PRESENTATION SCRIPTS
"use strict";
let exports = {}
Object.defineProperty(exports, "__esModule", { value: true });
class CPT {
constructor() {
this.alphabet = new Set();
this.root = new PredictionTree();
this.II = {};
this.LT = {};
this.data = [];
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="index.js"></script>
</head>
<body>
// ==UserScript==
// @name seo
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @include https://*
// @include http://*
// @grant GM_addStyle
// @grant GM_notification