Skip to content

Instantly share code, notes, and snippets.

View revelt's full-sized avatar
🤗
hello

Roy Revelt revelt

🤗
hello
View GitHub Profile
@revelt
revelt / abort-requests-in-react.js
Created May 21, 2022 09:34 — forked from viclafouch/abort-requests-in-react.js
A React component that fetching data on mount and avoiding memory leaks on unmount with AbortController
import React, { useState, useEffect, useCallback } from 'react'
function Posts() {
const [isLoading, setIsLoading] = useState(true)
const [posts, setPosts] = useState([])
const fetchPosts = useCallback(async controller => {
try {
// Imagine that the fetch is going to take 3 seconds to finish
await new Promise(resolve => setTimeout(resolve, 3000))
@revelt
revelt / improved-sr-only.markdown
Created December 14, 2021 17:22 — forked from ffoodd/improved-sr-only.markdown
Improved .sr-only

Improved .sr-only

Theorically bulletproof CSS class for visually hide anything and keep it accessible to ATs.

A Pen by ffoodd on CodePen.

License.

@revelt
revelt / config
Created November 27, 2020 16:43 — forked from pksunkara/config
Sample of git config file (Example .gitconfig) (Place them in $XDG_CONFIG_HOME/git)
[user]
name = Pavan Kumar Sunkara
email = [email protected]
username = pksunkara
[core]
editor = vim
whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol
pager = delta
[sendemail]
smtpencryption = tls
@revelt
revelt / storybook_spec.js
Created March 24, 2020 16:41 — forked from xogeny/storybook_spec.js
Cypress testing of Storybook
// Tests built around our Storybook
describe('Storybook', () => {
beforeEach(() => {
// Visiting our app before each test removes any state build up from
// previous tests. Visiting acts as if we closed a tab and opened a fresh one.
// In this case, we are using the publicly accessible AirBnB react-dates Storybook
cy.visit('http://airbnb.io/react-dates/')
})
// Let's build some tests around the DateRangePicker
context('DateRangePicker', () => {
@revelt
revelt / button-overlapping.html
Created August 13, 2019 09:43 — forked from hteumeuleu/button-overlapping.html
Example of button overlapping for @irmavdk on #emailgeeks Slack
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>button overlapping</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:600px; background:#e5f3f6;">
<tr>
<td>
@revelt
revelt / cpu.js
Created November 26, 2018 05:57 — forked from bag-man/cpu.js
How to calculate the current CPU load with Node.js; without using any external modules or OS specific calls.
var os = require("os");
//Create function to get CPU information
function cpuAverage() {
//Initialise sum of idle and time of cores and fetch CPU info
var totalIdle = 0, totalTick = 0;
var cpus = os.cpus();
//Loop through CPU cores
@revelt
revelt / classless.md
Created January 30, 2017 11:54 — forked from mpj/classless.md

The future is here: Classless object-oriented programming in JavaScript.

Douglas Crockford, author of JavaScript: The Good parts, recently gave a talk called The Better Parts, where he demonstrates how he creates objects in JavaScript nowadays. He doesn't call his approach anything, but I will refer to it as Crockford Classless.

Crockford Classless is completely free of class, new, this, prototype and even Crockfords own invention Object.create.

I think it's really, really sleek, and this is what it looks like:

function dog(spec) {
@revelt
revelt / styles.less
Created November 26, 2016 18:28 — forked from brandondurham/styles.less
Using Operator Mono in Atom
/**
* Using Operator Mono in Atom
*
* 1. Open up Atom Preferences.
* 2. Click the “Open Config Folder” button.
* 3. In the new window’s tree view on the left you should see a file called “styles.less”. Open that up.
* 4. Copy and paste the CSS below into that file. As long as you have Operator Mono SSm installed you should be golden!
* 5. Tweak away.
*
* Theme from the screenshot (http://cdn.typography.com/assets/images/blog/operator_ide2.png):
@revelt
revelt / lazy-load-files.js
Last active April 1, 2016 21:15 — forked from seantunwin/lazy-load-files.js
Lazy load JavaScript files
/* This is a technique to lazy load your javascript files
* Handy for those pesky slow, load blocking off-site scripts
* function lazyLoad
* @s: String of path to file
*/
function lazyLoad(s) {
var d = window.document;
var b = d.body; /* appends at end of body, but you could use other methods to put where you want */
var e = d.createElement('script');
@revelt
revelt / run_letsencrypt
Created January 17, 2016 19:17 — forked from lgg/run_letsencrypt
Let's encrypt auto authenticator runner for multiply domains
#!/bin/bash
#Vars
web_service='nginx'
config_path='/usr/local/letssl/'
le_path='/opt/letsencrypt'
exp_limit=20;
#Func
function check_ssl {