Skip to content

Instantly share code, notes, and snippets.

View adamhopkinson's full-sized avatar

Adam Hopkinson adamhopkinson

View GitHub Profile
@adamhopkinson
adamhopkinson / favicon.svg
Created September 11, 2021 22:54
# Favicons with light/dark mode colour scheme
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@adamhopkinson
adamhopkinson / showbreakpoints.blade.php
Created December 7, 2020 16:56
Small TailwindCss component to show which breakpoint is active
<div class="flex space-x-2 mb-4 rounded border text-center text-sm font-bold">
<div class="flex-1 p-2"><span class="text-green-700 mr-1 xs:inline-block sm:hidden">&#x2713;</span><span class="text-red-700 mr-1 hidden sm:inline-block">&#x2717;</span><br>XS</div>
<div class="flex-1 p-2"><span class="text-green-700 mr-1 hidden sm:inline-block md:hidden">&#x2713;</span><span class="text-red-700 mr-1 inline-block sm:hidden md:inline-block">&#x2717;</span><br>SM</div>
<div class="flex-1 p-2"><span class="text-green-700 mr-1 hidden md:inline-block lg:hidden">&#x2713;</span><span class="text-red-700 mr-1 inline-block md:hidden lg:inline-block">&#x2717;</span><br>MD</div>
<div class="flex-1 p-2"><span class="text-green-700 mr-1 hidden lg:inline-block xl:hidden">&#x2713;</span><span class="text-red-700 mr-1 inline-block lg:hidden xl:inline-block">&#x2717;</span><br>LG</div>
<div class="flex-1 p-2"><span class="text-green-700 mr-1 hidden xl:inline-block 2xl:hidden">&#x2713;</span><span class="text-red-700 mr-1
document.getElementById('canvas').toBlob(function(blob){
var image = document.createElement('img');
var url = URL.createObjectURL(blob);
image.onload = function() {
URL.revokeObjectURL(url);
}
console.log(url);
image.src = url;
document.body.appendChild(image);
});
@adamhopkinson
adamhopkinson / apply_timezone_to_timestamp.sql
Created February 20, 2019 10:11
BigQuery Standard SQL UDF to apply a timezone offset to a timestamp
-- Takes a timestamp (in seconds) and a timezone offset (eg +0730) and returns a timestamp
CREATE TEMPORARY FUNCTION applyTZOffsetToUnixTimestamp(ts INT64, tzOffset STRING)
RETURNS INT64 AS (
CASE
WHEN SUBSTR(tzOffset, 1, 1) = '+' THEN ts + (CAST(SUBSTR(tzOffset, 2, 2) AS INT64) * 60 * 60) + (CAST(SUBSTR(tzOffset, 4, 2) AS INT64) * 60)
WHEN SUBSTR(tzOffset, 1, 1) = '-' THEN ts - (CAST(SUBSTR(tzOffset, 2, 2) AS INT64) * 60 * 60) - (CAST(SUBSTR(tzOffset, 4, 2) AS INT64) * 60)
ELSE NULL
END
);
@adamhopkinson
adamhopkinson / link.cshtml
Created January 12, 2016 14:54
Using a sitecore General Link field
@adamhopkinson
adamhopkinson / gist:82b3fec9583946cb5e2d
Created November 16, 2015 14:45
Outputting a table of contents to the console
$('#article-content').find('h1,h2,h3,h4,h5,h6').each(function(i,el) {console.log(i + "\t" + el.tagName + "\t" + $(el).text())})
@adamhopkinson
adamhopkinson / gist:d239937c56b29cc1da2e
Last active April 5, 2019 08:58
Converting a TSQL DateTimeOffset to UTC in Excel
/*
* if C2 contains a DateTimeOffset eg 2015-08-13 09:31:12.0000000 +01:00
* parse the date and time out and add them together
* then subtract the hours offset (which - in Excel time storage is hours/24)
* note that this ignores the minute-part of an offset (eg Venezuela)
*/
=DATE(LEFT($C2,4), MID($C2,6,2),MID($C2,9,2)) + TIME(MID($C2,12,2),MID($C2,15,2),MID($C2,18,2)) + (MID($C2,29,3)/24)
@adamhopkinson
adamhopkinson / gist:0ef7bfca02678f12a841
Created June 24, 2015 11:13
Breaking a list into chunks
// define how many items we want per chunk
var itemsPerChunk = 3;
// break the list of items into chunks
var chunks = items.Select((s, i) => new { Value = s, Index = i }).GroupBy(item => item.Index / itemsPerChunk, item => item.Value);
// iterate through each chunk
foreach (var chunk in chunks)
{
<div class="row">
@adamhopkinson
adamhopkinson / gist:2b2421c9eb5ff5ad5514
Last active August 29, 2015 14:14
Using a Sitecore ImageField
ImageField field = context.Fields["Img"];
if (field != null && field.MediaItem != null)
{
var ImgItem = new Sitecore.Data.Items.MediaItem(field.MediaItem);
var ImgUrl = Sitecore.Resources.Media.MediaManager.GetMediaUrl(ImgItem);
var ImgCaption = field.Alt;
}
@adamhopkinson
adamhopkinson / gist:1c5ca5eae193ad72d9dd
Created November 4, 2014 15:51
Accessing Sitecore render parameters
var p = Html.Sitecore().CurrentRendering.Parameters;
bool fullWidth = (p["Full width"] == "1") ? true : false;
string widthClass = (fullWidth) ? "fullwidth" : "indented";