Skip to content

Instantly share code, notes, and snippets.

{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
@karltaylor
karltaylor / social-network-metadeta.pug
Last active February 8, 2022 03:04
Meta data for Facebook OpenGraph and Twitter cards in .pug format.
//- Facebook Open Graph Meta Data
meta(property="og:url" content="")
meta(property="og:type" content="")
meta(property="og:title" content="")
meta(property="og:description" content="")
meta(property="og:image" content="")
//- Twitter Meta Data
meta(name="twitter:card" content="summary_large_image")
meta(name="twitter:site" content="")
@karltaylor
karltaylor / ffmpeg-compress-mp4
Last active July 26, 2021 20:21
Compress MP4 for online content.
ffmpeg -i input.mp4 -codec:v libx264 -preset slow -b:v 1000k -maxrate 1500k -bufsize 1500k -vf scale=1080:-1 -threads 0 -codec:a libfdk_aac -b:a 128k output.mp4
@karltaylor
karltaylor / findAndReplace.js
Last active March 24, 2020 11:31
Module to find and replace parts of a file.
const fs = require('fs');
const signale = require('signale');
module.exports = (filePath, regex, replacement) =>
new Promise((yep, nope) => {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.log(err); // eslint-disable-line
nope(err);
}
// @flow
import React, { useState } from 'react';
import { KeyboardAvoidingView, ScrollView, Text, View } from 'react-native';
import { Header } from '../../components/Header';
import { Button } from '../../components/Button';
import { ProfileImage } from '../../components/ProfileImage';
import PostInput from '../../components/PostInput';
import PostBody from '../../components/PostBody';
@karltaylor
karltaylor / handle-input-change.js
Last active August 2, 2018 15:33
Handle Input Change React
handleChange = e => {
const {name, value} = e.currentTarget
this.setState({
[name]: value
})
}
// Make sure you've set a 'name' attribute on the input.
@karltaylor
karltaylor / main.code-snippets
Created June 21, 2018 10:57
Visual Studio Code Snippets
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
@karltaylor
karltaylor / ffmpeg-resize-convert-compress-all.sh
Last active June 19, 2018 20:26
Bash script to scale, convert and compress videos within a directory to .webm
for file in *.mp4; do ffmpeg -i "$file" -filter:v scale=1080:-1 -acodec libvorbis -ac 2 -b:v 5000k "${file%.mp4}".webm; done
@karltaylor
karltaylor / split.js
Last active July 7, 2017 11:28
Split string but keep delimiter
function split(string) {
return string.match(/\w+(?:\s\w+)*\W?/g)
}
console.log(split("string one, string two, thing three, four four."))
// ["string one,", "string two,", "thing three,", "four four."]
// https://regex101.com/r/1mn4J9/1/
@karltaylor
karltaylor / compress-images.sh
Last active July 3, 2017 10:40
Compress image
convert -strip -interlace Plane -sampling-factor 4:2:0 -quality 85% part-1.jpg result.jpg