Skip to content

Instantly share code, notes, and snippets.

@kevincolten
kevincolten / .gitignore
Last active August 16, 2018 15:21
Insightly Scripts
.env
node_modules
@kevincolten
kevincolten / function.php
Created August 4, 2018 18:55
Return all events
function GetUpcomingEvents() {
$events = array();
$index = 0;
$today = date( "m/d/Y" );
$args = array(
'post_type' => 'events',
'post_status' => 'publish',
'posts_per_page' => - 1,
'meta_key' => 'event_start_date',
'orderby' => 'event_start_date',
@kevincolten
kevincolten / bookmarklet.txt
Created July 17, 2018 11:48
Export all form entries from WPForms
// Bookmarklet via https://mrcoles.com/bookmarklet/ (Add to bookmarks bar)
javascript:(function()%7BArray.from(document.querySelectorAll('.form-details-action-switch%20option')).slice(1).forEach(option%20%3D%3E%20window.open(%20option.getAttribute('value')%20%2B%20'%26export%3Dall%26'%20%2B%20document.querySelector('.form-details-actions-export').getAttribute('href').split('%26').find(str%20%3D%3E%20str.includes('_wpnonce'))%2C%20'_blank'))%7D)()
@kevincolten
kevincolten / index.js
Created July 16, 2018 06:13
Wordpress - Match Selected Posts with Featured Image Export
const { xml2json, json2xml } = require('xml-js');
const { readFileSync, writeFileSync } = require('fs');
const postIds = require('./postIds').map(id => Number(id));
const xml = JSON.parse(xml2json(readFileSync('./export.xml')));
const comments = xml.elements.filter(element => element.type === 'comment');
const rss = xml.elements.find(element => element.name === 'rss');
const channel = rss.elements.find(element => element.name === 'channel');
const nonItems = channel.elements.filter(element => element.name !== 'item');
@kevincolten
kevincolten / index.js
Created June 18, 2018 22:03
Pivotal-GH Bookmarklet
// Convert to a bookmarklet at https://mrcoles.com/bookmarklet/
[...document.querySelectorAll('[data-id] a:not([aria-label])')]
.filter(el => el.href.includes('/c4eo/align-rails/pull/'))
.forEach(el => {
const tickets = el.innerText.split(']').join(' ').split('[').join(' ').split(',').join(' ').split(' ').filter(str => str[0] === '#');
const ticketEls = tickets.map(ticket => `
<a class="d-inline-block IssueLabel v-align-text-top labelstyle-de752c linked-labelstyle-de752c" style="background-color: #de752c; color: #ffffff; margin-right: 4px" title="${ticket}" href="https://www.pivotaltracker.com/n/projects/1519937/stories/${ticket.slice(1)}" target="_blank">${ticket}</a>
`);
el.parentNode.insertAdjacentHTML('beforeend', `<span class="labels lh-default">${ticketEls.join('')}</span>`);
});
@kevincolten
kevincolten / Webserver.cs
Last active June 13, 2018 01:52
C# Webserver
using System;
using System.Threading;
using SimpleHttp;
using System.IO;
using System.Linq;
using Microsoft.Data.Sqlite;
using System.Collections.Generic;
namespace WebServer
{
using System;
using System.Collections.Generic;
using System.Linq;
namespace Checkers
{
class Program
{
static void Main(string[] args)
{
@kevincolten
kevincolten / Rainforest.cs
Last active May 23, 2018 01:44
Rainforest OOP
using System;
using System.Collections.Generic;
namespace RainForest {
class Program {
static void Main (string[] args) {
Company rainforest = new Company ("Rainforest, LLC");
string[] cities = new string[] { "Austin", "Houston", "Dallas", "San Antonio" };
string[] items = new string[] { "Banana", "Toothpaste", "Baseball", "Laptop" };
@kevincolten
kevincolten / Mastermind.cs
Last active May 16, 2018 02:05
Mastermind in C#
using System;
using System.Collections.Generic;
namespace Mastermind {
class Program {
static void Main (string[] args) {
Game game = new Game (new string[] { "a", "b", "c", "d" });
for (int turns = 10; turns > 0; turns--) {
Console.WriteLine($"You have {turns} tries left");
Console.WriteLine ("Choose four letters: ");
@kevincolten
kevincolten / unused-images.sh
Created April 21, 2018 22:30
find unused images
find ./_images/* |
awk -F/ '{print $NF}' |
sort -u > ./tmp/images.txt &&
grep -IhFriof ./tmp/images.txt --exclude-dir=".git" . |
awk '{print $0}' | sort -u | comm -23 ./tmp/images.txt -