Skip to content

Instantly share code, notes, and snippets.

View 599316527's full-sized avatar

Kyle He 599316527

View GitHub Profile
@599316527
599316527 / helper.js
Created April 18, 2018 05:55
Pure JS copy text
function copyText(value) {
let fakeElem = document.createElement('TEXTAREA')
fakeElem.style.position = 'absolute'
fakeElem.style.left = '-9999px'
fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px'
fakeElem.readonly = true
fakeElem.value = value
document.body.appendChild(fakeElem)
fakeElem.focus()
fakeElem.setSelectionRange(0, value.length)
@599316527
599316527 / demo.html
Last active April 11, 2018 13:54
iOS 11.3 Safari bug: animation runs again when back-forward https://twitter.com/kyleehee/status/984059601539616768
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>test</title>
<style type="text/css">
div {
width: 100px;
height: 100px;
@599316527
599316527 / upload.php
Created January 3, 2018 04:39
PHP Single File Upload
<!DOCTYPE html>
<html>
<head>
<title>Upload your files</title>
</head>
<body>
<form enctype="multipart/form-data" action="." method="POST">
<p>Upload your file</p>
<input type="file" name="uploaded_file"></input><br />
<input type="submit" value="Upload"></input>
@599316527
599316527 / batch-remove-apple-apps.sh
Created November 24, 2017 04:37
批量删除苹果内置Apps
sudo rm -rf "/Applications/Calendar.app";
sudo rm -rf "/Applications/Chess.app";
sudo rm -rf "/Applications/Contacts.app";
sudo rm -rf "/Applications/DVD Player.app";
sudo rm -rf "/Applications/FaceTime.app";
sudo rm -rf "/Applications/Mail.app";
sudo rm -rf "/Applications/Maps.app";
sudo rm -rf "/Applications/Notes.app";
sudo rm -rf "/Applications/Photo Booth.app";
sudo rm -rf "/Applications/Photos.app";
/**
* 在 m.weibo.cn 的 console 里跑
*/
let startPageNo = 1
let pageLength = 90
let delInterval = 1543
let options = {
@599316527
599316527 / waterfall-layout.js
Last active May 4, 2017 09:18
Waterfall Layout Calculation
import {merge} from 'lodash'
const defaultContainerPadding = {
top: 0,
bottom: 0,
left: 0,
right: 0
}
@599316527
599316527 / scroll-to-target-element-smoothly.js
Created August 8, 2016 14:00
Scroll to target element smoothly
function smoothScrollTo(selector, duration) {
const FPS = 24
let currentScrollY = window.scrollY
let targetScrollY = document.querySelector(selector).getBoundingClientRect().top + currentScrollY
let deltaY = (targetScrollY - currentScrollY) / (duration * FPS)
let interval = 1E3 / FPS
let scrollTimer
let scrollCallback = []
@599316527
599316527 / dnspod-ddns.js
Created July 26, 2016 13:12
DnsPod 动态DNS 脚本
/**
* @file ddns script for dnspod
* @author Kyle He
*/
const exec = require('child_process').exec;
const FormData = require('form-data');
const fetch = require('node-fetch');
(new Promise(function (resolve, reject) {
@599316527
599316527 / Pagination.vue
Last active May 11, 2016 13:12
Vue.js Pagination Component
<template>
<nav>
<ul class="pagination" @click="handleClick($event)">
<li v-if="no > 1">
<a :href="hrefPrefix + (no - 1)" :data-page="no - 1">&lt;</a>
</li>
<li v-for="i in pageIndicatorSeries" :class="{active: i === no}">
<a :href="hrefPrefix + i" :data-page="i">{{ i }}</a>
</li>
<li v-if="no < pageCount">
@599316527
599316527 / ddns-start
Last active October 18, 2019 08:32
asuswrt-merlin custom ddns script for dnspod
#!/bin/sh
# This file should be placed in /jffs/scripts/ folder.
# 后台申请token
# https://support.dnspod.cn/Kb/showarticle/tsid/227/
login_token='xxxxxxx,yyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
# 先调 Domain.List 和 Record.List 接口取得 id
# https://www.dnspod.cn/docs/domains.html#domain-list
# https://www.dnspod.cn/docs/records.html#record-list