Skip to content

Instantly share code, notes, and snippets.

@clinyong
clinyong / build.js
Created March 11, 2016 15:38
webpack build script.
import webpack from 'webpack'
import config from './webpack'
import swig from 'swig'
import fs from 'fs'
function writeTemplate (name) {
let sourceTemplate = config.templatePath + '/prod.tmpl'
let targetTemplate = config.buildTemplatePath + '/index.tmpl'
let content = swig.renderFile(sourceTemplate, {name})
fs.writeFile(targetTemplate, content, err => {
[rulesets]
ruleset=🎯 全球直连,clash-classic:https://gist.githubusercontent.com/clinyong/5d734fc72d0390e831c4e5279a69a9f3/raw/5a3eaa83e1c637a2356df744fb9b48bcd941e5d9/clash-pdd,86400
@clinyong
clinyong / config.yaml
Created September 25, 2020 16:56
clash custom
payload:
# company ban
- DOMAIN-SUFFIX,yinxiang.com,Proxy
- DOMAIN-SUFFIX,yuque.com,Proxy
- DOMAIN-SUFFIX,shimo.im,Proxy
- DOMAIN-SUFFIX,docs.qq.com,Proxy
# custom
- DOMAIN-SUFFIX,setapp.com,Proxy
- DOMAIN-SUFFIX,ankiweb.net,Proxy
@clinyong
clinyong / Transaction.js
Created August 19, 2017 08:58
react transaction demo
/**
* Copyright 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
@clinyong
clinyong / tree-printer.js
Last active May 8, 2022 04:16
A gist to print binary tree in Node.js
class TreePrinter {
constructor() {
this._maxDigits = 0;
}
// BFS: https://en.wikipedia.org/wiki/Breadth-first_search
// empty node will be null in list
_getBreadthFirstList(rootNode, maxHeight) {
const queue = [rootNode];
const list = [];
@clinyong
clinyong / route.ts
Created September 24, 2023 01:46
Using Next.js to fetch an audio file and respond it to the client
import { NextResponse } from "next/server";
async function GET(
_request: Request,
{ params }: { params: { url: string } }
) {
// An audio url, for example, https://xxx/xxx.mp3
const audioUrl = decodeURIComponent(params.url);
const headers = new Headers();
const res = await fetch(audioUrl).then((res) => {