Skip to content

Instantly share code, notes, and snippets.

View geedew's full-sized avatar

Drew geedew

View GitHub Profile
@geedew
geedew / unlink.sh
Created March 14, 2018 11:44
Removing a cross-platform symlink.
@geedew
geedew / symlink.sh
Last active November 21, 2022 10:00
A cross platform symlink method in Bash
@geedew
geedew / gist:41e4ba0e043efe645bdc95db1f9008dc
Created March 3, 2018 19:12
Generating reports from a G Sheet into a Doc
/**
* FOLDER_NAME
* The path, relative to the Sheet the script is running from, where new reports are created
*/
var FOLDER_NAME = "Schedules";
/**
* SPREADSHEET_MAPPING
* Contains Template variables and the columns
var SPREADSHEET_MAPPING = {
@geedew
geedew / Student Schedule
Created March 2, 2018 20:36
An Octothorpe delimited template for use with Google Sheets report creations.
##STUDENT_NAME##
Class Schedule
Teacher Name: ##TEACHER_NAME##
Grade: ##GRADE##
Session 1 Name: ##SESSION_1_NAME##
Teacher: ##SESSION_1_TEACHER##
When: ##SESSION_1_DATE##
Room: ##SESSION_1_ROOM##
@geedew
geedew / gist:97c66b187db2ac8ecebaef535750a76b
Created December 2, 2017 14:53 — forked from mhawksey/gist:1170597
Google Apps Script to fill in a Document template with Spreadsheet data
function onOpen() {
var menuEntries = [ {name: "Create Diary Doc from Sheet", functionName: "createDocFromSheet"}];
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.addMenu("Fitness Diaries", menuEntries);
}
function createDocFromSheet(){
var templateid = "1O4afl8SZmMxMFpAiN16VZIddJDaFdeRBbFyBtJvepwM"; // get template file id
var FOLDER_NAME = "Fitness Diaries"; // folder name of where to put completed diaries
// get the data from an individual user
@geedew
geedew / strip.string.js
Last active August 29, 2015 14:15
JavaScript String.Strip
var strip = function(string, characters) {
if(!characters) {
if(typeof String.prototype.trim !== undefined) {
// Simply use the String.trim as a default
return String.prototype.trim.call(string);
} else {
// set characters to whitespaces
characters = "\s\uFEFF\xA0";
}
}
var fs = require('fs');
var rmdirAsync = function(path, callback) {
fs.readdir(path, function(err, files) {
if(err) {
// Pass the error on to callback
callback(err, []);
return;
}
var wait = files.length,
count = 0,
@geedew
geedew / node-rm-rf.js
Last active February 3, 2021 12:36
Removing a directory that is not empty in NodeJS
var fs = require('fs');
var deleteFolderRecursive = function(path) {
if( fs.existsSync(path) ) {
fs.readdirSync(path).forEach(function(file,index){
var curPath = path + "/" + file;
if(fs.lstatSync(curPath).isDirectory()) { // recurse
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
@geedew
geedew / html4-change-input.html
Last active August 29, 2015 14:13
HTML Change/KeyUp events vs Input event
<!-- index.html -->
<input id='abc'/>
<script>
var input = document.getElementById('abc');
input.addEventListener('change', function(event) {
// .. only triggers on input loss of focus
});
input.addEventListener('keyup', function(event) {
// .. triggers on any keyboard interaction
@geedew
geedew / designer.html
Created June 20, 2014 02:18
designer
<link rel="import" href="../components/polymer/polymer.html">
<polymer-element name="ss-message">
<template>
<style>
:host {
position: absolute;
width: 100%;
height: 100%;