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_01505109/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_92079267/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_62063831/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_11351741/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 |