Optional - Set format on save and any global prettier options
npm i -D eslint prettier eslint-plugin-prettier eslint-config-prettier eslint-plugin-node eslint-config-node
| import fs from 'fs'; | |
| import path from 'path'; | |
| /** | |
| * Recursively walk a directory asynchronously and obtain all file names (with full path). | |
| * | |
| * @param dir Folder name you want to recursively process | |
| * @param done Callback function, returns all files with full path. | |
| * @param filter Optional filter to specify which files to include, | |
| * e.g. for json files: (f: string) => /.json$/.test(f) |
| " Specify a directory for plugins | |
| call plug#begin('~/.vim/plugged') | |
| Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
| Plug 'scrooloose/nerdtree' | |
| "Plug 'tsony-tsonev/nerdtree-git-plugin' | |
| Plug 'Xuyuanp/nerdtree-git-plugin' | |
| Plug 'tiagofumo/vim-nerdtree-syntax-highlight' | |
| Plug 'ryanoasis/vim-devicons' | |
| Plug 'airblade/vim-gitgutter' |
| { | |
| "suggest.noselect": false, | |
| "coc.preferences.formatOnSaveFiletypes": [ | |
| "javascript", | |
| "typescript", | |
| "typescriptreact", | |
| "json", | |
| "javascriptreact", | |
| "typescript.tsx", | |
| "graphql" |
| 'use strict'; | |
| const b2Domain = ''; //你要在Cloudflare上綁定的Backblaze網域 | |
| const b2Bucket = ''; //Backblaze B2的存儲桶名稱 | |
| const b2UrlPath = `/file/${b2Bucket}/`; | |
| addEventListener('fetch', event => { | |
| return event.respondWith(fileReq(event)); | |
| }); | |
| // define the file extensions we wish to add basic access control headers to | |
| const corsFileTypes = ['png', 'jpg', 'gif', 'jpeg', 'webp']; |
| type RemoveOn<T extends string> = T extends `on${infer R}` ? R : T; | |
| type PropsFor<El extends keyof JSX.IntrinsicElements> = JSX.IntrinsicElements[El]; | |
| type OnProps<El extends keyof JSX.IntrinsicElements> = Uncapitalize<RemoveOn<Extract<keyof PropsFor<El>, `on${string}`>>>; | |
| type HandlerFor<El extends keyof JSX.IntrinsicElements, Ev extends OnProps<El>> = NonNullable<PropsFor<El>[`on${Capitalize<Ev>}` & keyof PropsFor<El>]>; | |
| // Creating with a callback | |
| function handlerFor<El extends keyof JSX.IntrinsicElements, Ev extends OnProps<El>>(event: [El, Ev], handler: HandlerFor<El, Ev>) { | |
| return handler; | |
| } |
In order to use IPv6 via a Hurricane Electric tunnel you need to sign up for their free Tunnel Broker service at https://tunnelbroker.net/
Navigate to https://unifi.ui.com and go to your network management page. Navigate to Settings -> Networks and select the network you wish to enable IPv6 on such as Default then click on the IPv6 button.
static for interface typeGateway IP/Subnet enter your Routed IPv6 Prefix from the HE management page| POST / HTTP/1.1 | |
| Host: localhost | |
| User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 | |
| Next-Action: x | |
| Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad | |
| Content-Length: 459 | |
| ------WebKitFormBoundaryx8jO2oVc6SWP3Sad | |
| Content-Disposition: form-data; name="0" |