Skip to content

Instantly share code, notes, and snippets.

View beaulac's full-sized avatar

antoine beauᵛᵃᴵˢ⁻lacᵃˢˢᵉ beaulac

View GitHub Profile
@beaulac
beaulac / gist:e960baaad1e7138397538d824045d2e5
Created May 19, 2017 01:15 — forked from sumardi/gist:5559896
Subdirectory checkouts with Git sparse-checkout
# New repository
mkdir <repo> && cd <repo>
git init
git remote add –f <name> <url>
git config core.sparsecheckout true
echo some/dir/ >> .git/info/sparse-checkout
echo another/sub/tree >> .git/info/sparse-checkout
git pull <remote> <branch>
# Existing repository
@beaulac
beaulac / angular-storage.config.js
Created July 5, 2017 22:35
Proper checking of storage type
function StorageConfig(storeProvider) {
storeProvider.setStore(_determineStoreType());
function _determineStoreType() {
if ((typeof localStorage === 'object') && _checkStorage(localStorage)) {
return 'localStorage';
} else if ((typeof sessionStorage === 'object') && _checkStorage(sessionStorage)) {
return 'sessionStorage';
} else {
@beaulac
beaulac / node_mac_clip.js
Created February 8, 2018 16:25
Copy to clipboard w/ Node on Mac
const cp = require('child_process');
const clip = cp.exec('pbcopy', (_err, _stdout, _stderr) => {/* optionally do something */});
clip.stdin.write(aString);
clip.stdin.end(() => process.stdout.write(`\rCopied ${aString.length} characters.\n`));
@beaulac
beaulac / envify.js
Last active May 1, 2018 21:47
Hacky script to turn JSON into a .env file and spit out corresponding JS object to clipboard (mac only for now)
'use strict';
const path = require('path');
const fs = require('fs');
const argv = process.argv.slice(2);
let [filename, prefix = ''] = argv;
if (prefix) {
prefix = `${prefix}_`;
}
@beaulac
beaulac / send_clipboard.sh
Created February 16, 2018 17:11
(macOS) Send clipboard content to android keyboard, escaping every character.
#!/usr/bin/env bash
adb shell input text $(pbpaste | sed -e 's/\(.\)/\\\1/g')
@beaulac
beaulac / amazon_to_shopify.js
Last active July 7, 2018 19:17
Turn Amazon reviews to shopify review CSV format
(function () {
const headerRow = 'product_handle,state,rating,title,author,email,location,body,reply,created_at,replied_at';
const escapeQuotes = s => s.replace('"', '\\"');
const fillTemplate = ({ rating, title, author, body, created_at }) => `zenstone-professional-rapid-stone-warmer,published,${rating},"${escapeQuotes(
title)}","${escapeQuotes(author)}",amzcust@amz.com,,"${escapeQuotes(body)}",,"${escapeQuotes(created_at)}",`;
function parseReview(review) {
const ratingContainer = review.querySelector('[data-hook="review-star-rating"]');
const starClass = Array.from(ratingContainer.classList).find(cls => cls.match(/a-star-(\d)/));
@beaulac
beaulac / build_IIS_rewriteMap.js
Last active September 10, 2018 17:23
Make IIS rewrite map from csv file.
'use strict';
const fs = require('fs');
const readline = require('readline');
const [, , filename] = process.argv;
if (!filename) {
throw Error('NO FILENAME SPECIFIED');
}
@beaulac
beaulac / check_rewritemap_duplicates.js
Created September 10, 2018 18:11
Check IIS rewrite map duplicates
'use strict';
const fs = require('fs');
const readline = require('readline');
const [, , filename] = process.argv;
if (!filename) {
throw Error('NO FILENAME SPECIFIED');
}
@beaulac
beaulac / coloreplace.sh
Last active September 27, 2018 14:26
Replace fuzzy single color in sRGB transparent PNG
#!/usr/bin/env bash
FILE=$(realpath ${1});
OLD=$2;
NEW=$3;
# Default fuzz: 25%
FUZZ=${4:-25};
@beaulac
beaulac / flatten_dir_to_links.sh
Last active March 3, 2023 18:38
Flatten all files in a directory (recursive) as symlinks in a target directory