Skip to content

Instantly share code, notes, and snippets.

View jeremypage's full-sized avatar

Jeremy Page jeremypage

  • Trafford Council
  • UK
View GitHub Profile
@jeremypage
jeremypage / llpg-search.js
Last active October 21, 2017 08:10
JavaScript LLPG search control. Insert the script tag (<script type="text/javascript" id="llpg-address-search" src="llpg-search.js"></script>) into the body where the search link is to appear. Dependent on jQuery, jQueryUI and Handlebars.
(function ($) {
$(function () {
// Create cache objects to store results (minimizes repeat AJAX calls)
var searchCache = {}, addressCache = {};
// Our LLPG address search services
var searchURL = '//intranet.trafford.gov.uk/AddressService/Service.svc/jsonp/SearchLLPGAddress/';
var addressDetailsURL = '//intranet.trafford.gov.uk/AddressService/Service.svc/jsonp/GetLLPGAddressById/';
// Search form markup and styling
@jeremypage
jeremypage / intranet-snow.js
Last active December 1, 2019 08:24
Put 'snow' on our corporate Intranet. Uses RequireJS and jQuery Snowfall (https://github.com/loktar00/JQuery-Snowfall)
require.config({
paths: {
"jquery": "/site-elements/scripts/jquery-3.3.1.min",
"jquerySnowfall": "/site-elements/scripts/vendor/snowfall.jquery.min"
}
});
define(["jquery", "jquerySnowfall"], function($){
var flake = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA2CAYAAACIsLrgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAcSSURBVGhD7ZhZaJ1FFMfjvrRqtVptbd2qrdatcUdrUagbjbSiVIgiLqgQ8a2gEBGfJIaKiEtqEEkMhLwZCjEvgeQhCU0hIQGbYEjIrgkhG23MTv3/PuZcxq83Tb6be6+C98CfTGbm/M+cOWfOzHezMpKRjGQkI/9XOS9B/CfEX9D5Hi6ICF/X50yr+E6wqAsdLvJw8Qrw55q+72BanTKHzBlz4BKHS1cJm28O+k6lzSFzxneExV0mXC6sE9Y7XLEMbJy56KALh+9YWpzynbGIsJh1k5OTr46MjDyv9gbhauEah40hWD9zNqCDrto4B5dFLOVOQQxICXaRHWV317e2tu5YWlqaW1xcHK+srNzZ39//0szMzM9q79L4ZmGLw2b6GGMOc9FBFw64BDjhxga2UuqQRYddxDDpQ0Q2LiwsHD8jmZ6e/lHtHtpDQ0MfauxWH/QxxhzmuvZxOAS44IQbGxallAjE7BjpQGqYM9cKN3R0dDynnV5kgcj8/Hz7/v3779EYUYqBPsbctDPooAuHAJc5hQ1spSRK4VQjNQJnWlpaHidl3Ppi0tzc/LbOx9Gurq5PNO8hQJs+xty0mMABF5yOGxuWekmPkp9qHN6rBAxvbmho2BvPobGxsUr+zs3N9WneXkDbH/MFDrjgdNz
@jeremypage
jeremypage / big-red-ordered-list.css
Created December 12, 2015 10:55
CSS: Ordered list with big red circular numbers. Derived from http://patternlab.io/css/style.css
ol {
list-style: none;
margin: 0;
padding: 0;
counter-reset: big-num;
}
ol li {
counter-increment: big-num;
position: relative;
@jeremypage
jeremypage / check-tls.js
Last active January 31, 2019 10:40
JavaScript: Check TLS level of browser and remove matching domain links from page if browser does not meet minimum requirement
// domains to check
var checkDomains = ['www.foobar.com', 'www.fubar.com'];
// check all links in DOM for matching domain(s)
var matchingLinks = [];
var documentLinks = document.links;
for (var i = 0; i < documentLinks.length; i++) {
if (checkDomains.indexOf(documentLinks[i].hostname) > -1)
matchingLinks.push(documentLinks[i]);
}
@jeremypage
jeremypage / regex-tips.md
Last active May 17, 2016 11:45
Regex tips and snippets

HTML: Demote all (second) duplicate H1 tags to H2

Search

((<h1>[^<]*<\/h1>)(.|\s)+?)<h1>([^<]*)<\/h1>

Replace

API workthough

  1. Open a browser

    # start an instance of firefox with selenium-webdriver
    driver = Selenium::WebDriver.for :firefox
    # :chrome -> chrome
    # :ie     -> iexplore
    
  • Go to a specified URL
@jeremypage
jeremypage / google-search-widget.js
Last active September 4, 2017 09:42
Embed-able Google search widget
(function($){
$('#internet-search-control').before('<div class="internet-search" style="min-height:64px;width:400px;margin:1em auto 1em auto;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAsCAYAAACue3wzAAAACXBIWXMAAC4jAAAuIwF4pT92AAAZ+klEQVR42u1cd1wU97b/qdGbdhNza+7Leze3pFqwIFKWXTpYULFjxYJKkQ7L1umzhWKwxxqNiV1jrsaoIGhM9N4YTTPGVH2WWEBROgSZd87s7FKkeUu87z3+OJ/dnfnNML/f93fO+Z4yEIZhSHtCy8ISnjaQLDqB2OjkdsVOJxKRTleua//e/1+FZmjC0Mw9Ih//J/+tDoBlCEubiYVOI2aWJ0nsusfmM6f9RnHfpI7hv1wTwX+5ewz35T74viWCO2cLt343cT6/4zk9lS1fw9P6LqDbAJinOCKaeZcIZu6nA9gJiEBrCU1TJJrd/VKIcG2ZjyhdUAs/SmqxbVGJDVX+fPnBKcz7o3VMDgCdDruT6gK5iYgmnkQujVH7bZxSEPzajP0BG6YWjF41ZyVHsQ5t/lcC7NBaE7FSySSe3dQ7WLi+2EdoqPMTaqVAoVwKFCs6kHLJX6ySVIIk+QlVhyKZEy/wdCbhaGMXyIpYjQIZsTpq2ou7Rkj9t4+RXt4ZLqk2Tb7EgxYz1L8QYBp2D8/oCUvRZALzuadaqPkWtRJBcwEogDDVkq/YAHK3mSCwjWMBaKFK8hKkion8qdloCRgw910AA8AmgYDGTuq/Y7TkvnW8NGB7hOS/ceoXaLb/ZRrs1FyGMpNR3FfhPoJUGyBWKoCVSwEAGoLtY7n7vdeqWxsmsqdiJ3CfhE/gPwmDzykTuFP2AOHOB76i1ARouA42hIco3Yim9z4pUBldAD9IgG1gliOZT31B6+421UQ/s
@jeremypage
jeremypage / extract-image-colours.js
Last active June 29, 2017 15:22
Use Vibrant.js to extract foreground and background colours from images (uses http://jariz.github.io/vibrant.js/)
(function ($) {
$(document).ready(function () {
$('.image-to-colour').each(function (index, element) {
var images = $(this).find('img');
if (images.length == 1) {
var imageColours = getImageColours(images[0]);
element.style.color = imageColours.textColour;
element.style.backgroundColor = imageColours.backgroundColour;
}
});
@jeremypage
jeremypage / contensis-atom-reader-config.xml
Last active August 31, 2019 16:31
Contensis: RSS and Atom feed readers
<control name="Atom feed reader" category="Trafford controls" showInMenu="true" viewingGroup="1">
<properties>
<text name="FeedUrl" required="true" label="Feed URL">
<parameters>
<parameter name="FeedUrl" value="http://intranet.trafford.gov.uk/Forum/feed.php" />
</parameters>
</text>
</properties>
</control>
@jeremypage
jeremypage / web.config
Created October 16, 2017 10:42
web.config: Force browsers to re-validate redirects (HTTP 301 and HTTP 302). Useful when a redirect has changed or been removed.
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Require clients to re-validate redirects">
<match serverVariable="RESPONSE_Cache_Control" pattern=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{RESPONSE_STATUS}" pattern="301" />
<add input="{RESPONSE_STATUS}" pattern="302" />
</conditions>