Skip to content

Instantly share code, notes, and snippets.

View OllyHodgson's full-sized avatar

Olly Hodgson OllyHodgson

View GitHub Profile
@OllyHodgson
OllyHodgson / Icon.js
Created July 31, 2020 22:48
React component to use the Bootstrap 5 Icons in sprite form
import React from "react";
import classnames from "classnames";
import Icons from "bootstrap-icons/bootstrap-icons.svg";
const Icon = ({
className,
iconName,
height = "1rem",
width = "1rem",
label,
So you want to set up remix in cloud run huh? It's pretty simple but i'm going to assume you can figure out most of the GCP UI on your own.
Cloud Run:
Step 1: Create a new service and take note of the service ID
Step 2: Allow all traffic in the /triggers tab
Cloud Build:
Step 1: Set up a Cloud Build trigger on your repo
Step 2: Point the configuration to "cloud build configuration file" at the root of your project
Step 3: Add the following to the substitution variables (so you can keep it safe):
@OllyHodgson
OllyHodgson / SP2010 ASP:Repeater-based navigation with current item selection.aspx
Last active March 8, 2019 18:40
SharePoint 2010 top level navigation code. Built with a nested ASP:Repeater control. Easier to style with Bootstrap or Flexbox than the ASP:Menu control. Includes highlighting of the current section.
<!-- top navigation publishing data source -->
<PublishingNavigation:PortalSiteMapDataSource
id="topSiteMap"
runat="server"
EnableViewState="false"
SiteMapProvider="GlobalNavigation"
StartFromCurrentNode="false"
StartingNodeOffset="0"
ShowStartingNode="true"
TrimNonCurrentTypes="Heading"/>
@OllyHodgson
OllyHodgson / _LoadFromLiquidContentAPI.cshtml
Last active November 27, 2018 15:26
Load data from the DNN Evoq Liquid Content API using the DNN Razor Host module. Razor gives you a bit more control and flexibility than the built-in visualizers.
@using System
@using System.Net
@using System.Text
@using Newtonsoft.Json
@using Newtonsoft.Json.Linq
@{
// The API URL and your API Key
string url = "https://dnnapi.com/content/api/ContentItems?contentTypeId=7f0d48be-a6bf-4f3c-9fdf-ba895727e818";
string apikey = "**** INSERT YOUR API KEY HERE ****";
@OllyHodgson
OllyHodgson / jquery.offscreen.js
Created November 22, 2018 10:49
Simple jquery plugin to transition elements onto the page using CSS animations
// Custom selector to find if something is in the viewport
// Adapted from https://stackoverflow.com/a/8897628/13019
jQuery.expr.pseudos.offscreen = function (el) {
var rect = el.getBoundingClientRect();
return (
(rect.x + rect.width) < 0 || (rect.y + rect.height) < 0 || (rect.x > window.innerWidth || rect.y > window.innerHeight)
);
};
@OllyHodgson
OllyHodgson / index.html
Created March 20, 2018 16:39
CSS flexbox layout experiment - boxes breaking out of boxes. It later occurred to me that CSS Grid might have been the better tool. Hey ho.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title></title>
<style>
html,
body {
@OllyHodgson
OllyHodgson / SP2010-Bootstrap3-Fixes.less
Created October 10, 2013 14:08
Some CSS fixes to make SharePoint 2010 Publishing sites get along better with Bootstrap 3. For the most part, it sets SP2010's own UI elements to use `box-sizing: content-box;` instead of `box-sizing: border-box;` as used by BS3. Either import this at the end of bootstrap.less, or after importing bootstrap.less into your own .less files.
/****************************************************************************
*
* This LESS file contains fixes to make Bootstrap 3 play nicely with
* SharePoint 2010 Publishing pages. It mainly switches SP2010's UI
* elements back to the "content-box" box-model.
*
* It also incorporates the CSS portions of Kyle Schaeffer's fixes for
* scrolling on SP2010. The JS part is called from the master page.
*
****************************************************************************/
@OllyHodgson
OllyHodgson / jQuery.stripZWSP-1.0.js
Last active November 2, 2016 19:35
The Sharepoint Rich HTML editor leaves ZERO WIDTH SPACE chracters (&#8203; or \u200B) all over the place. This trawls through the HTML you pass in and strips out zero width space characters from text nodes within. Potentially a sledgehammer/nut solution...
/*
* The Sharepoint Rich HTML editor leaves ZERO WIDTH SPACE chracters (&#8203;
* or \u200B) all over the place. This trawls through the HTML you pass in and
* strips out zero width space characters from text nodes within.
*
* http://blog.bugrapostaci.com/2014/02/02/publishing-field-encoding-extra-questionmark-charecters-actually-acsii-8203-zero-width-space/
*
* This trawls through the HTML you pass in and strips out zero width space
* characters from text nodes within.
*
@OllyHodgson
OllyHodgson / Strip out spurious HTML.js
Last active March 14, 2016 14:02
Run this in the devtools console on a SharePoint 2010 page when in edit mode, to strip out quite a lot of spurious crap from the HTML.
/*
Run this in the devtools console on a SharePoint 2010 page when in edit mode, to strip out quite a lot of spurious crap from the HTML.
*/
(function($, window, document) {
var $editables = $("[contenteditable], input[type='hidden'][id*='hiddenStorage'], input[type='hidden'][id*='hiddenDisplay'], input[type='hidden'][id^='ctl00'][id$='content']"),
originalHTML,
filterHTML,
$el,
$filterHTML,
@OllyHodgson
OllyHodgson / Strip out some spurious HTML.js
Last active March 14, 2016 14:02
Run this in the devtools console on a SharePoint 2010 page when in edit mode, to strip out some spurious crap from the HTML.
/*
Run this in the devtools console on a SharePoint 2010 page when in edit mode, to strip out some spurious crap from the HTML.
*/
(function($, window, document) {
var $editables = $("[contenteditable], input[type='hidden'][id*='hiddenStorage'], input[type='hidden'][id*='hiddenDisplay'], input[type='hidden'][id^='ctl00'][id$='content']", ".edit-mode"),
originalHTML,
filterHTML,
$el,
$filterHTML,