Skip to content

Instantly share code, notes, and snippets.

View daltonrooney's full-sized avatar

Dalton Rooney daltonrooney

View GitHub Profile
@daltonrooney
daltonrooney / mssql_to_csv.bash
Created February 20, 2024 23:17 — forked from llimllib/mssql_to_csv.bash
This is a script to convert every table in a Microsoft SQL Server database backup (.bak file) to a .csv file
#!/usr/bin/env bash
# import an MS SQL .bak backup file to an MS SQL database, then export all
# tables to csv. run this script as `import.sh <filename>`. It expects to be
# run in the same directory as the backup file.
# this is only tested on my mac (OS X Catalina). I tried to stick to posix, but
# It will probably require some tweaking for you. I hope it gives a general
# sense of what you need to do at the very least.
// Hover.com "Zone file import/export" has been *Planned* since 2011
// https://help.hover.com/entries/471066-Zone-file-import-export
// Here's a brittle approximation of export.
//
// 1. login to your account: https://www.hover.com/domains
// 2. run the following in your browser's JavaScript console, changing the first line
// to your domain
// 3. copy the text logged to the console.
// 4. manually correct FQDNs, these have to end with a period "."
//
@daltonrooney
daltonrooney / app.js
Last active October 14, 2022 16:35
Craft CMS GQL query w/ filters and pagination
import Vue from 'vue'
import { debounce } from './utils/debounce';
import { ProCatalogCategoriesQuery } from './queries/proCatalogCategories.gql';
import { makeProCatalogResourcesQuery } from './queries/proCatalogResources';
import Loading from './components/loading.vue';
const GraphqlEndpoint = '/api'
const ResultsPerPage = 12;
const el = document.querySelector('#professional-catalog-app')
@daltonrooney
daltonrooney / toggleButton.css
Last active November 8, 2020 23:07
toggleButton (redactor plugin)
a.button {
display: inline-block;
box-sizing: border-box;
font-size: 14px;
font-weight: 700;
text-align: center;
padding: 10px 20px 9px 20px;
cursor: pointer;
outline: none;
border: none;
@daltonrooney
daltonrooney / contentModule.gql
Last active May 15, 2023 23:24
Craft CMS GraphQL matrix shared fragment example
import gql from 'graphql-tag'
import { print } from 'graphql/language/printer'
import richTextFragment from './contentModules/richText.gql'
import logoBlockFragment from './contentModules/logoBlock.gql'
import embedBlockFragment from './contentModules/embedBlock.gql'
import videoBlockFragment from './contentModules/videoBlock.gql'
import imageCollageFragment from './contentModules/imageCollage.gql'
import imageGridFragment from './contentModules/imageGrid.gql'
import slideshowBlockFragment from './contentModules/slideshowBlock.gql'
import singleImageFragment from './contentModules/singleImage.gql'
@daltonrooney
daltonrooney / steps.vue
Created June 12, 2020 21:18
Using Bulma Steps in Vue.js & Nuxt
<template>
<div
ref="stepsApp"
class="steps"
>
<div class="step-item is-active is-success">
<div class="step-marker">
1
</div>
<div class="step-details">
@daltonrooney
daltonrooney / modal-video.vue
Last active April 26, 2024 08:41
Modal video player component for Vue.js
/* Based on https://github.com/appleple/react-modal-video/ */
<template>
<div v-if="isOpen">
<div
:class="classNames.modalVideo"
tabIndex='-1'
role='dialog'
:aria-label="aria.openMessage"
@click="$emit('update:isOpen', false)"
@daltonrooney
daltonrooney / debounce.js
Created May 18, 2020 18:09
Mini debounce
/* https://gist.github.com/nmsdvid/8807205#gistcomment-3168449 */
var debounce = (callback, wait = 250) => {
let timer;
let last_call = 0;
return (...args) => {
clearTimeout(timer);
const now = Date.now(), time_from_last_call = now - last_call;
if (time_from_last_call > wait) {
@daltonrooney
daltonrooney / module.php
Created May 12, 2020 22:32
Clear Craft CMS cache after Entry save event
<?php
use yii\base\Event;
use Craft;
use craft\elements\Entry;
Event::on(
Entry::class,
Entry::EVENT_AFTER_SAVE,
function(ModelEvent $event) {
@daltonrooney
daltonrooney / twig-filters.php
Last active May 22, 2020 17:15
Useful HTML filters for Timber Twig (widows and markdown support)
<?php
add_filter( 'timber/twig', 'add_to_twig' );
function add_to_twig( $twig ) {
$twig->addFilter( new Timber\Twig_Filter( 'noWidows', 'twigNoWidow' ) );
return $twig;
}
function twigNoWidow($text = "", $numberOfWords = 1, $outputRaw = true ) {