Skip to content

Instantly share code, notes, and snippets.

View tankxu's full-sized avatar
:octocat:

Tank Xu tankxu

:octocat:
View GitHub Profile
@tankxu
tankxu / copy-figma-team.js
Created July 18, 2022 08:59
Copy Figma team's projects and files to a new team
// Please input the srouceTeam id, targetTeam id, token, cookie
// Create a node project and install node-fetch
// Add `"type": "module",` to package.json
import fetch from "node-fetch";
// Id can be copied from team url
let sourceTeam = {
name: "source",
id: "",
@tankxu
tankxu / bulk-create-projects-in-figma.js
Last active July 14, 2022 02:56
Bulk create projects in Figma
// Create a node project and install node-fetch
// Add `"type": "module",` to package.json
import fetch from "node-fetch";
let folders = [
"folder1",
"folder2",
];
@tankxu
tankxu / README.md
Created March 17, 2022 09:27 — forked from pdanford/README.md
Launching iTerm2 from macOS Finder

Launching iTerm2 from macOS Finder

(Based on info from Peter Downs' gitub but with modified behavior to open a new terminal window for each invocation instead of reusing an already open window.)

The following three ways to launch an iTerm2 window from Finder have been tested on iTerm2 version 3+ running on macOS Mojave+.

pdanford - April 2020


//Open the branch by abstract app
let branchUrl = `abstract://app/share?branchId=${branchId}&commitSha=${commitSha}&kind=branch&projectId=${projectId}&sha=${projectSha}`
//Open the file by asbtract app
let fileUrl = `abstract://app/share?branchId=${branchId}&commitSha=${commitSha}&fileId=${fileId}&kind=file&open=true&projectId=${projectId}&sha=${projectSha}`
@tankxu
tankxu / huobi-btcusdt.10s.sh
Last active February 7, 2021 07:29
A plugin for bitbar
#!/bin/bash
icon='iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAAHdElNRQflAgcGOAqejWIfAAABvUlEQVRIx8XVMWtaURQH8F+DGigUpNi4PMlmQShZW+rQJV8gEMiWqR9ASelWsVuw36BTN8nUj9DBgGuGxpItJEt8Uly6NIMd1Jf3fJooBvq/y7nn3nPu//7vufcyi0099ajX1o7sup6cBxEYOYl6V64i+8RIMDt94+GM9yMTs597Z1seZbWJ7xmRXcZ7Q5d++J1OtSs0WrKFdqdhT6LVLzx17HwJ1hUf/fEyyWLPSGPpjTeM7CVF3Gap1cc4n0QgY9ML5FOTirKx3q2bmfG8AH16kTT7pqyO5ggaOor47kfeXsZXr1G2E+Wuaxn47ja2XlZVC18iz5kLdKfdWoxBKLSV2tKWUBhjUEuKGN97QUc/5e/rKCjOutMJsiTIx4WUEHZBghWR0fbWuOZXQ0Mdp2sz2HCgpKS5cmRTScnBIzCYxVytseB80gluDFTnFlLVIHUjZNQnpXyHYy0/dVKlXPAh5jn0Bt21LxM5gUAzlmCMoiDWkiW8b6QpEMhl/HWN4Rwt7sfQdVzES1SWPrvKJMIjPqprP+tjFuOP5ZMz3ya+BlGZH9rxefHHMsX//BvHCP26eyqdxka6XqWfun8Asb8C/wJwfAAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACPTkDJAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTA3VDA2OjU0OjE5KzAwOjAwE5JqHgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0wN1QwNj
@tankxu
tankxu / full screenshot for website.js
Last active July 2, 2020 13:28
Take a full screenshot for long website
const puppeteer = require("puppeteer")
// Set parameter
const urls = [
'https://github.com/enterprise',
'https://github.com/team'
]
const pageWidth = 1600
const delayTime = 5000
@tankxu
tankxu / rename-files-name.md
Last active June 1, 2020 07:58
Rename files name.sh

批量重命名文件的两种方法:

1. 通过 rename 命令配合 regex 修改替换文件名

macOS 需安装 rename brew install rename

rename -n 测试 regex 修改结果,不会执行修改命令

rename -n "s/oldname/newname/" input_files

在 oldname 中使用 regex 匹配文件名中的内容,newname 中可使用\1来引用匹配的结果

const tokenArray = [
{ name: 'color-background-default', value: '#f5f7fa'},
{ name: 'color-background-white', value: '#fff'},
{ name: 'color-background-dark', value: '#202d40'},
{ name: 'color-background-tooltip', value: '#202d40'},
{ name: 'color-background-message-warning', value: '#fffbe5'},
{ name: 'color-background-message-success', value: '#f2ffe0'},
{ name: 'color-background-message-error', value: '#fff0f0'},
{ name: 'color-background-message-info', value: '#e6f7ff'},
{ name: 'color-background-list-row-hover', value: '#f5f7fa'},
@tankxu
tankxu / 0 Generate icons collection.sketchscript
Last active June 14, 2020 03:45
Use this script to genrate icons collection artboard for your icon sketch library.
const sketch = require("sketch")
const document = sketch.getSelectedDocument()
const selection = document.selectedLayers.layers
const Group = sketch.Group
const Style = sketch.Style
const Rectangle = sketch.Rectangle
const Artboard = sketch.Artboard
const ShapePath = sketch.ShapePath
const Text = sketch.Text
const SymbolInstance = sketch.SymbolInstance
(*
https://apple.stackexchange.com/questions/184633/how-do-i-clear-all-os-x-notifications-with-1-click
*)
tell application "System Events"
tell process "NotificationCenter"
set numwins to (count windows)
repeat with i from numwins to 1 by -1
click button "Close" of window i
end repeat