Skip to content

Instantly share code, notes, and snippets.

View ryantownsend's full-sized avatar

Ryan Townsend ryantownsend

View GitHub Profile
@bramus
bramus / css.md
Last active February 1, 2024 09:36
CSS `sibling-count()`, `sibling-index()`, and `child-count()` current workarounds
// Credit to Michal Mocny (https://twitter.com/mmocny)
//
// Copy and paste this into the console and click around to see all interactions, whether they would pass INP,
// and if you expand the entry you'll see the debug breakdown information.
//
// This is basically the same as the Core Web Vitals extension does: https://web.dev/debug-cwvs-with-web-vitals-extension/
const valueToRating = (score) => score <= 200 ? 'good' : score <= 500 ? 'needs-improvement' : 'poor';
const COLOR_GOOD = '#0CCE6A';
@kez
kez / slugify.sql
Created May 13, 2019 14:50 — forked from ianks/slugify.sql
Generating Slugs in Postgres
CREATE EXTENSION IF NOT EXISTS "unaccent"
CREATE OR REPLACE FUNCTION slugify("value" TEXT)
RETURNS TEXT AS $$
-- removes accents (diacritic signs) from a given string --
WITH "unaccented" AS (
SELECT unaccent("value") AS "value"
),
-- lowercases the string
"lowercase" AS (
@praveenpuglia
praveenpuglia / shadow-dom.md
Last active August 13, 2025 07:14
Everything you need to know about Shadow DOM

I am moving this gist to a github repo so more people can contribute to it. Also, it makes it easier for me to version control.

Please go to - https://github.com/praveenpuglia/shadow-dom-in-depth for latest version of this document. Also, if you find the document useful, please shower your love, go ⭐️ it. :)

Shadow DOM

Heads Up! It's all about the V1 Spec.

In a nutshell, Shadow DOM enables local scoping for HTML & CSS.

@hdragomir
hdragomir / sm-annotated.html
Last active February 2, 2025 02:22
The deferred font loading logic for Smashing Magazine. http://www.smashingmagazine.com/
<script type="text/javascript">
(function () {
"use strict";
// once cached, the css file is stored on the client forever unless
// the URL below is changed. Any change will invalidate the cache
var css_href = './index_files/web-fonts.css';
// a simple event handler wrapper
function on(el, ev, callback) {
if (el.addEventListener) {
el.addEventListener(ev, callback, false);
@bomberstudios
bomberstudios / sketch-plugins.md
Last active December 11, 2025 19:43
A list of Sketch plugins hosted at GitHub, in no particular order.
@orend
orend / gist:5134300
Created March 11, 2013 13:40
Streaming with csv, from ruby tapas
require 'csv'
def memstats
size = `ps -o size= #{$$}`.strip.to_i
end
memstats #4900
CSV.open('visitors.csv', headers: true) do |csv|
visitors = csv.each # Enumerator
memstats # 5164
@toolmantim
toolmantim / Procfile
Last active December 12, 2015 09:39
@ddollar's foreman Ruby gem is handy for booting a single app's processes, but you can also use foreman as a booter for mutiple foreman apps! Handy if you have apps that work together in a service-oriented way and you're sick of booting them one-at-a-time (or you're using a harness shell script).
app_1: foreman start --root app_1 --port 3000 --env app_1/.env
app_2: foreman start --root app_2 --port 3100 --env app_2/.env
app_3: foreman start --root app_3 --port 3200 --env app_3/.env
@jrochkind
jrochkind / gist:4342817
Created December 20, 2012 03:48
Still SimpleDelegator based Decorator, but with an ActionView::Context view_context passed in too
require 'delegate'
class Base
def foo
"foo"
end
def bar
"bar"
end
end
@mattwynne
mattwynne / integrated_docs.rb
Created November 21, 2012 00:27
Integrated documentation for Ruby
# For context, this was inspired by the RubyRogues podcast #79 where they talked about
# documentation in Ruby, and specifically grumbled quite a bit about the failings of RDoc.
#
# http://rubyrogues.com/079-rr-documenting-code/
#
# As someone who's spent a lot of time using an IDE for programming C# and Java, I think
# Ruby could do a lot better at putting documentation at our fingertips as we program.
#
# Maybe making the documentation part of the structure of the code would facilitate this?
#