tldr
快速查看命令的使用示例

安装

npm i -g tldr

使用

# 查看git的使用示例
tldr git

thefuck
快速修正命令行手误

当我们使用npm包时,需要修改部分源码做自定义功能,但是直接修改node_modules里面的文件,重新安装包后做的修改就没有了。一般常用办法有两个:

  1. 将代码下载到本地,修改后手动引入
  2. fork别人的代码到自己仓库,修改后,从自己仓库安装

但是这样做比较麻烦,而且更新不方便。我们可以使用 patch-package 来管理修改

以 hexo-theme-next 为例

  1. 修改 node_modules 里面的代码

  2. 安装patch-package:npm i patch-package --save-dev

  3. 执行命令:npx patch-package hexo-theme-next

第一次使用 patch-package 会在项目根目录生成 patches 文件夹,里面有修改过的文件 diff 记录

当这个包被重新安装后,可以使用如下方式让修改生效

方式一:执行命令:git apply --ignore-whitespace patches/hexo-theme-next+8.0.1.patch

方式二:在 package.json,新增命令 postinstall:

"scripts": {
+ "postinstall": "patch-package"
}

执行:npm run postinstall

该命令也会在每次 npm install 时自动执行

github+JSDelivr

  1. 创建一个仓库来存储需要存放的静态资源

  2. 使用JSDelivr加速加载Github资源

形式为 https://cdn.jsdelivr.net/gh/{Github用户名}/{Github仓库名}@{版本名}/{仓库下资源路径}

其中版本名可以是当前仓库的 Release 或分支名

例如 github 链接为

https://github.com/wqdygkd/my-script/blob/main/test.txt

则使用JSDelivr加速链接为

https://cdn.jsdelivr.net/gh/wqdygkd/my-script@img/test.txt
  1. 使用 picgo 进行图片上传

picgo 一款图片上传的工具,目前支持SM.MS图床,七牛图床,腾讯云COS,阿里云OSS,Imgur,又拍云,GitHub等图床
github地址:https://github.com/Molunerfinn/PicGo
配置手册:https://picgo.github.io/PicGo-Doc/zh/guide/
插件:https://github.com/PicGo/Awesome-PicGo

配置 github图床

仓库名为第一步创建的仓库,分支名随意,我的为 main
token 获取地址: https://github.com/settings/tokens,点击 Generate new token ,复选框为你这个 token 的权限,勾选 repo 即可
存储路径为仓库目录,可以随意
自定义域名根据需要设置,这里我们设置为 jsdelivr 加速域名,形式为 https://cdn.jsdelivr.net/gh/{Github用户名}/{Github仓库名}@{版本名}

使用 npm+JSDelivr

需要将当前仓库发布为npm包

去 npm 官网注册个账号去,然后

npm login
npm publish

如果你的包名为 @your-name/your-package 时需要 --access public 参数,原因是当包名以 @your-name 开头时,npm publish 会默认发布为私有包,但是 npm 的私有包需要付费

请注意,如果你之前用过淘宝镜像,那么请先手动切回官方源 npm config set registry https://registry.npmjs.org

发布成功之后,可以通过以下方式访问文件

https://cdn.jsdelivr.net/npm/(yourpackagename)@(version)/(file)

其他一些镜像

unpkg https://www.unpkg.com
知乎出品 https://unpkg.zhimg.com/
百度 https://code.bdstatic.com/npm/
饿了么 https://shadow.elemecdn.com/npm/

当文件有更新时,需要更新发布

# 删除指定的版本
npm unpublish 包名@版本号
# 重新发布
npm publish

配置 github action 自动发布

name: npm Package

on:
push:
branches:
- main

jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Setup Node
uses: actions/setup-node@v2.1.2
with:
node-version: '12.x'

- run: npm unpublish @wqdygkd/my-script@1.0.0

- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}

在 scss 中使用 :export 暴露变量

$color: #009A61;
//暴露css
:export {
color: $color;
}

script 中引入变量

import variables from '@/assets/styles/variables.scss'

computed 中缓存暴露变量

computed: {
variables() {
return variables
}
}

WSL / MSYS2 / Cygwin / PowerShell7

Fluent Terminal / Windows Terminal

WSL 配置 zsh

wsl 下 git clone 报错:GnuTLS recv error (-110): The TLS connection was non-properly terminated.

安装 zsh

apt install -y zsh

安装 oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 如果无法安装,使用下面这种方式
sh -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ohmyzsh/ohmyzsh@master/tools/install.sh)"

配置插件

插件列表 https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins

zsh-syntax-highlighting
zsh-autosuggestions
zsh-proxy

# 安装 zsh-syntax-highlighting 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 安装 zsh-autosuggestions 插件
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/sukkaw/zsh-proxy.git ~/.oh-my-zsh/custom/plugins/zsh-proxy

# 安装 zsh-proxy 插件
git clone https://github.com/sukkaw/zsh-proxy.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-proxy

修改 ~/.zshrc,在 plugins 中添加 zsh-syntax-highlighting

# 编辑 ~/.zshrc
vim ~/.zshrc

# 在 plugins 后括号里添加安装的插件名字
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)

# 刷新下配置
source ~/.zshrc

zsh-proxy

主题

主题列表

推荐两款主题

pure主题
agnoster

PowerShell 7+ 配置 oh-my-posh & posh-git

https://zhuanlan.zhihu.com/p/137595941
https://zhuanlan.zhihu.com/p/137251716

安装 Fira Code 字体

Fira Code

整理备份百度网盘资源下载工具,低调使用。

2021.01.30 Kinhdown 可用

2020年9月20日 PD卢本伟修改版3.5版本更新

Kinhdown

Kinhdown
电报群
电报频道
下载地址:蓝奏云
在线解析:KD官方

PD卢本伟修改版

github
官网
Telegram群

无言仰慕不起-稳定版

PD新城旧梦版

https://www.itxcjm.top/76/

下载地址:蓝奏云

6盘小白羊版

github

B站MBRjun的网页复刻版

https://pan.mbrjun.cn/ 不支持文件夹下载

github

在线解析(已关闭)

http://pan.naifei.cc/?

PanDownload

PanDownload

下载 github release 文件

下载编译好的软件包(需要有编译的包)

# wget
wget --no-check-certificate --content-disposition https://github.com/ctripcorp/apollo/releases/download/v1.5.1/apollo-adminservice-1.5.1-github.zip

# curl
curl -LJO https://github.com/ctripcorp/apollo/releases/download/v1.5.1/apollo-adminservice-1.5.1-github.zip

下载源码压缩包

wget -q https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz
wget -O git-master.zip https://github.com/git/git/archive/${GIT_BRANCH}.zip

下载仓库中的单个文件

点击文件进去,右上角有个raw,点击进去后地址栏就是该文件的下载地址
直接 wget 地址 即可下载

获取谷歌团队盘

免费团队盘:https://wqdy.top/1207.html

GSuite 教育子号购买:https://ip.ci/product/5.html

资源转存

开源项目

rclone

rclone 客户端

gclone 为 Google Drive 操作增加自动切换账户和命令行根目录 id 操作支持

AutoRclone 解决每日 750G 限制

gd-utils Google Drive 百宝箱 支持统计、去重、telegram bot

iCopy

iCopy Docker 一键启动版

shell-bot

gclone 实用脚本合集 转存 自动分类整理 清空回收站 备份同步

搭建教程

AutoRclone 配合 Gclone 在 Google Drive 账号之间、谷歌团队盘之间快速拷贝、传输学习资料

iCopy 和 fclone 和 TG-bot 构建 gd 转存保姆教程

使用 VPS 搭建 fclone_shell_bot 文章转存 Telegram 机器人教程

第四代谷歌网盘 Clone 术:Fclone

FClone 机器人及安装过程

iCopy——让Google Drive文件转存更加简单

文件解压

unzip -O GBK -P $(echo -n 密码 | iconv -f utf-8 -t gbk) file.zip

解压中文编码文件
unar -e GBK /gdrive/disk/zidian2/77个WPA密码字典包/\’’*.rar’’

在线挂载 GD 网盘

https://github.com/reruin/sharelist

https://github.com/maple3142/GDIndex

https://github.com/Aicirou/goindex-theme-acrou 界面不错、多盘、搜索

https://github.com/alx-xlx/goindex

https://github.com/LeeluPradhan/G-Index

https://github.com/yanzai/goindex

资源群组

https://groups.google.com/forum/#!forum/mailacid 印尼群组

https://groups.google.com/forum/#!forum/tlob_share TLOB 图库群组

https://t.me/newPan 150T 已整理刮削的小姐姐团队盘

https://t.me/gdurl 各种 Google Drive 资源,包括大电影,小电影,电子书,无损音乐等

其他

Linux 测试网速 https://github.com/chiakge/Linux-NetSpeed

清空及删除团队回收站垃圾箱文件 rclone delete xxx: --drive-trashed-only --drive-use-trash=false --verbose=3 --fast-list

在线 查看文件数:https://gdurl.viegg.com/api/gdrive/count?fid=1lDa7gqv8e6xGKJdmkk-bV0kt2w_07A5r

Colaboratory 脚本运行: https://colab.research.google.com/

检查小程序更新

https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html

app.js 中添加如下代码

// app.js
App({
onLaunch: function () {
this.checkNewVersion()
},
checkNewVersion: function () {
let self = this
// 检查版本更新
// 获取小程序更新机制兼容
if (wx.canIUse('getUpdateManager')) {
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log(res)
if (res.hasUpdate) {
updateManager.onUpdateReady(function () {
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
} else if (res.cancel) {
// 如果需要强制更新,则给出二次弹窗
wx.showModal({
title: '更新提示',
content: '本次更新可能会导致旧版本无法正常访问,请使用新版本',
showCancel: false, // 不显示取消按钮
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
} else if (res.cancel) {
// 重新回到版本更新提示
self.checkNewVersion()
}
}
})
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新的版本下载失败
wx.showModal({
title: '已经有新版本了',
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开'
})
})
}
})
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
}
})

微信开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试

原因是因为dns污染,没法找到正确的ip,可以通过修改host解决

访问这里获取正确的ip地址

打开服务器的 hosts 文件

vim /etc/hosts

# 添加这一行内容
获取到的ip raw.githubusercontent.com

# 或者直接添加下面这一行
199.232.68.133 raw.githubusercontent.com

保存退出,ping 一下试试