图床

本文最后更新于:2024年6月21日 凌晨

Github搭建图床

使用PicGo连接github,typora自动上传图片

在PicGo中进行设置,可以使用不同的cdn

https://cdn.jsdelivr.net/gh/Wang-weijun/pic_bed@main
https://cdn.staticaly.com/gh/Wang-weijun/pic_bed@main

github

npm图床

  1. 首先需要注册一个 npm 的账号。访问npm 注册页面 、用户名最好写名字
  2. 完成邮箱验证
  3. 找到我们之前创建的图床仓库,在本地合适的位置把它clone下来。找个空文件夹打开终端输入
git clone [email protected]:[username]/[AssetsRepo].git
#或者
git clone https://github.com/[username]/[AssetsRepo].git
  1. 在 clone 下来的[AssetsRepo]文件夹内打开终端,输入以下指令切换回原生源
npm config set registry https://registry.npmjs.org
  1. 添加本地npm用户设置
# 仅第一次使用需要添加用户,之后会提示你输入你的npm账号密码以及注册邮箱
npm adduser
# 非第一次使用直接登录即可,之后会提示你输入你的npm账号密码以及注册邮箱
npm login
  1. 运行 npm 初始化指令,把整个图床仓库打包,按照指示进行配置,注意需要事先确认你的包名没有和别人已发布的包重复,可以在 npm 官网搜索相应包名,搜不到就说明还没被占用。
npm init

image-20230526012639243

最后会输出一段 package.json,请求确认,输入 yes 即可。

  1. 然后输入发布指令,我们就可以把包发布到 npm 上了。
npm publish
  1. jsdelivr+npm 的图片引用和 jsdelivr+github 很相似,例如我在[AssetsRepo]仓库里存放的/img/index.png
# jsDelivr+github链接
https://cdn.jsdelivr.net/gh/[GithubUserName]/[AssetsRepo]/img/index.png
# jsDelivr+npm链接
https://cdn.jsdelivr.net/npm/[NpmPackageName]/img/index.png
jsDelivr+Npm 依然有 100MB 的包大小限制,但是 NPM 有丰富的国内节点。可以挑选一个使用。个人推荐知乎的。没	有大小限制,而且也很稳定。
【jsd出品,网宿国内节点】
https://cdn.jsdelivr.net/npm/:package@:version/:file
【unpkg 自建】
https://cdn.cbd.int/:package@:version/:file
  1. 如果每次都要在本地进行npm publish的话,npm 的提交是整个包一起上传的,不存在增量更新,耗时不说,而且还往往需要架梯子才能正常上传。所以我们可以把它交给 github action 来完成。
  • npm 官网->头像->Access Tokens->Generate New Token,勾选 Automation 选项,Token只会显示这一次,之后如果忘记了就只能重新生成重新配置了。

image-20230526013337007

image-20230526013431691

image-20230526013507589在本地的[AssetsRepo]文件夹下新建[AssetsRepo]/.github/workflows/autopublish.yml

name: Node.js Package
on:
  push:
    branches:
      - main

jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: "16.x"
          registry-url: https://registry.npmjs.org/
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}
  • 在本地的[AssetsRepo]文件夹下打开终端,运行以下指令,上传新增内容至 github,即可触发部署。
# 将更改提交
git add .
git commit -m "npm publish"
# 更新package版本号
npm version patch
# 推送至github触发action
git push

此处的四行指令顺序严格。
每次更新 npm 图床都需要先修改[AssetsRepo]\package.json里的version,也就是版本号。
npm version patch即为更新 package.json 里的版本号的指令,效果是末尾版本号+1,例如0.0.1=>0.0.21.1.3=>1.1.4。免去了打开package.json再修改版本号的麻烦。(大版本更新还是需要手动改的)
更新 npm 图床务必要记得更新package.json里的版本号!

又拍云图床(推荐)

  1. 打开又拍云官网、正常注册,并且实名认证。
  2. 选择产品,然后选择云存储,激活后进入控制台
  3. 创建云存储服务、注意服务名称、后续会用到
  4. 新建一个操作员,并且给权限全部打勾。

image-20240212004040593

  1. 然后在PicG0中设置,其中Bucket就是又拍云中云存储的服务名称,加速域名为自己设置的

image-20240212004130430


图床
https://junyyds.top/2023/06/29/图床/
作者
Phils
发布于
2023年6月29日
更新于
2024年6月21日
许可协议