The hook
useScrollPosition.js
:
import { useRef, useLayoutEffect } from 'react'
const isBrowser = typeof window !== `undefined`
function getScrollPosition({ element, useWindow }) {
#EXTM3U | |
#EXTINF:-1,BBC - Radio 1 | |
http://as-hls-ww-live.akamaized.net/pool_904/live/ww/bbc_radio_one/bbc_radio_one.isml/bbc_radio_one-audio%3d96000.norewind.m3u8 | |
#EXTINF:-1,BBC - Radio 1Xtra | |
http://as-hls-ww-live.akamaized.net/pool_904/live/ww/bbc_1xtra/bbc_1xtra.isml/bbc_1xtra-audio%3d96000.norewind.m3u8 | |
#EXTINF:-1,BBC - Radio 1Dance | |
http://as-hls-ww-live.akamaized.net/pool_904/live/ww/bbc_radio_one_dance/bbc_radio_one_dance.isml/bbc_radio_one_dance-audio%3d96000.norewind.m3u8 | |
#EXTINF:-1,BBC - Radio 1 Anthems (UK Only) | |
http://as-hls-uk-live.akamaized.net/pool_904/live/uk/bbc_radio_one_anthems/bbc_radio_one_anthems.isml/bbc_radio_one_anthems-audio%3d96000.norewind.m3u8 | |
#EXTINF:-1,BBC - Radio 2 |
import { Component } from 'react' | |
import { NativeModules } from 'react-native' | |
export = RNTrackPlayer | |
declare namespace RNTrackPlayer { | |
export type EventType = | |
| 'playback-state' | |
| 'playback-error' | |
| 'playback-queue-ended' |
(function (context, trackingId, options) { | |
const history = context.history; | |
const doc = document; | |
const nav = navigator || {}; | |
const storage = localStorage; | |
const encode = encodeURIComponent; | |
const pushState = history.pushState; | |
const typeException = 'exception'; | |
const generateId = () => Math.random().toString(36); | |
const getId = () => { |
<? | |
///////////////////// | |
// slack2html | |
// by @levelsio | |
///////////////////// | |
// | |
///////////////////// | |
// WHAT DOES THIS DO? | |
///////////////////// | |
// |
from slacker import Slacker | |
import json | |
import argparse | |
import os | |
import shutil | |
import copy | |
from datetime import datetime | |
# This script finds all channels, private channels and direct messages | |
# that your user participates in, downloads the complete history for |
date | value | |
---|---|---|
2000 | 208.4968974 | |
2000 | 160.5328879 | |
2002 | 292.3321976 | |
1998 | 95.07969441 | |
2001 | 251.6346499 | |
1996 | 4.723143097 | |
1997 | 221.3608926 | |
2002 | 257.5135771 | |
1999 | 256.6401961 |
from django import template | |
from wagtail.wagtailimages.models import SourceImageIOError | |
from wagtail.wagtailimages.templatetags.wagtailimages_tags import ImageNode | |
register = template.Library() | |
@register.tag(name="responsiveimage") | |
def responsiveimage(parser, token): | |
bits = token.split_contents()[1:] |
Slack doesn't provide an easy way to extract custom emoji from a team. (Especially teams with thousands of custom emoji) This Gist walks you through a relatively simple approach to get your emoji out.
If you're an admin of your own team, you can get the list of emoji directly using this API: https://api.slack.com/methods/emoji.list. Once you have it, skip to Step 3
HOWEVER! This gist is intended for people who don't have admin access, nor access tokens for using that list.
Follow along...
print("UPDATE AUG 2023: this script is beyond old and broken") | |
print("You may find interesting and more up to date resources in the comments of the gist") | |
exit() | |
from slacker import Slacker | |
import json | |
import argparse | |
import os | |
# This script finds all channels, private channels and direct messages |