Skip to content

Instantly share code, notes, and snippets.

@c0derabbit
c0derabbit / create-nextjs-sitemap.js
Created Sep 1, 2019
Create XML sitemap for Next.js projects
View create-nextjs-sitemap.js
#! /usr/bin/env node
const path = require('path');
const glob = require('glob');
const fs = require('fs');
const SITE_ROOT = 'https://example.com';
const SOURCE = path.join(__dirname, '..', 'pages', '/**/*.js');
const DESTINATION = path.join(__dirname, '..', 'static', 'sitemap.xml');
@c0derabbit
c0derabbit / pre-commit.sh
Last active Sep 1, 2019
Pre-commit git hook that runs all unit tests before commit
View pre-commit.sh
yarn test
RESULT=$?
if [ $RESULT == 1 ]; then
echo "Commit rejected: some tests failed. Please fix the tests before committing."
exit 1
fi
@c0derabbit
c0derabbit / countries.js
Created Jul 30, 2019
List of countries of the world with name and 2- and 3-letter countrycodes
View countries.js
const allCountries = [
{name: 'Australia', code: 'AUS', code2: 'AU'},
{name: 'Canada', code: 'CAN', code2: 'CA'},
{name: 'Finland', code: 'FIN', code2: 'FI'},
{name: 'Ireland', code: 'IRL', code2: 'IE'},
{name: 'Japan', code: 'JPN', code2: 'JP'},
{name: 'Norway', code: 'NOR', code2: 'NO'},
{name: 'South Africa', code: 'ZAF', code2: 'ZA'},
{name: 'Sweden', code: 'SWE', code2: 'SE'},
{name: 'United Kingdom', code: 'GBR', code2: 'GB', alt: ['Great Britain', 'England', 'UK']},
@c0derabbit
c0derabbit / img-resize.py
Created Sep 30, 2017
Python Image Resizer
View img-resize.py
import os
import sys
from PIL import Image
def is_image(filename):
return filename[-3:].lower() in ["png", "jpg", "jpeg", "bmp"]
def resize_images_in(folder):
for filename in os.listdir(folder):
if not is_image(filename):
@c0derabbit
c0derabbit / fix_npm_command_not_found.md
Last active Oct 17, 2016
Fix: npm packages not installing correctly
View fix_npm_command_not_found.md

You are reading the right document if you install packages with npm, e.g.:
npm i -g unicorns and after typing unicorns -v, you get unicorns: command not found.

Solution 1:

sudo chown -R $USER /usr/local should solve the problem.
Make sure your prefix is /usr/local, (you can check it with npm config get prefix).
If not, you can set it with npm config set prefix /usr/local

Solution 2:

@c0derabbit
c0derabbit / random_hexcolor.py
Created Sep 12, 2016
Generates a random hexadecimal color (e.g. #ff0000)
View random_hexcolor.py
def random_hexcolor():
color = '#'
while len(color) < 7:
hex = '{0:x}'.format(random.randrange(256))
if len(hex) < 2:
hex = '0' + hex
color += hex
return color
@c0derabbit
c0derabbit / myio.py
Last active Sep 9, 2016
Python module for basic I/O operations
View myio.py
def read(filename):
'''
Opens a file and prints its lines in the console.
Takes 1 arg (string): filename
'''
with open(filename) as f:
for line in f:
print(line.rstrip())
def add(filename, text):
@c0derabbit
c0derabbit / downloader.py
Created Sep 9, 2016
Downloads the file on the given url and saves it to the current directory.
View downloader.py
#!/usr/bin/env python3
import os
import os.path
import requests
def dl(url):
'''
Downloads the file on the given url and saves it to the current directory.
'''
r = requests.get(url)
@c0derabbit
c0derabbit / string_calculator.js
Created Jul 14, 2016
Calculator in num1(operation(num2())); format, just for fun.
View string_calculator.js
// Link to kata: http://www.codewars.com/kata/calculating-with-functions/javascript
// How it works:
// seven(times(five())); // returns 35
// four(plus(nine())); // returns 13
// eight(minus(three())); // returns 5
// six(dividedBy(two())); // returns 3
function zero() {
if (arguments.length == 0) return 0;
@c0derabbit
c0derabbit / unique_id.js
Last active Sep 30, 2017
Creates a unique ID in JavaScript
View unique_id.js
const id = Date.now() + Math.random().toString(16).substr(2);
You can’t perform that action at this time.