Download zip file, then
yarn install
yarn build
const express = require('express') | |
const app = express() | |
const tokenTable = {} | |
const getMeaningOfLife = token => new Promise((resolve, reject) => { | |
tokenTable[token] = () => { | |
global.clearTimeout(handle) | |
reject(new Error('aborted ' + token)) | |
} |
!function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=17)}([function(t,e){var i={clone:function(t){var e={};for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},cloneArray:function(t){for(var e=[],r=0;r<t.length;r++)e.push(i.clone(t[r]));return e},cloneHashOfHash:function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[r]=i.clone(t[r]));return e},cloneHashOfArrayOfHash:function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[r]=i.cloneArray(t[r]));return e},gsub:function(t,e,i){return t.split(e).join(i)},strip:function(t){return t.replace( |
import fromHTML from 'from-html' | |
import './modal.scss' | |
/** | |
* @class Modal | |
*/ | |
export default class Modal { | |
/** | |
* @constructs Modal |
$.fn.scrollSlide = function (fadeDuration) { | |
var $slides = this | |
var $window = $(window) | |
var $document = $(document) | |
var isAnimating = false | |
var currentSlide = 0 | |
var toggleIsAnimating = function (forceValue) { | |
isAnimating = forceValue === undefined ? !isAnimating : forceValue | |
} |
var FADE_DURATION = 100 | |
// The slides; should be hidden initially except for the | |
// first one via CSS | |
var $slides = $('.scroll-slide') | |
var $window = $(window) | |
var $document = $(document) | |
var isAnimating = false | |
var currentSlide = 0 |
<?php | |
if (isset($_POST['comment'])) { | |
echo replaceWords($_POST['comment']); | |
} else { | |
echo renderForm(); | |
} | |
function replaceWords($comment) { | |
$bad_words = ['fuck', 'shit', 'pussy']; |
const bindings = new WeakMap() | |
const getFns = context => { | |
if (!bindings.has(context)) { | |
bindings.set(context, {}) | |
} | |
return bindings.get(context) | |
} |
const video = document.querySelector('video') | |
const start = document.querySelector('.start') | |
const stop = document.querySelector('.stop') | |
const upload = document.querySelector('.upload') | |
const initRecorder = stream => { | |
const recorder = new MediaRecorder(stream) | |
let blob | |
video.srcObject = stream |
const DELAY = 2000 | |
const videos = [] | |
const hide = el => el.style.display = 'none' | |
const show = el => el.style.display = 'block' | |
const showAndHideOthers = ({ target }) => { | |
window.requestAnimationFrame(() => { | |
videos.forEach(hide) | |
show(target) |