Nibbles Blog Nibbles Blog
  • 专题汇总
    • 技术学习
    • 个人成长
    • 运营技能
    • 自媒体
    • Minecraft
  • 推荐
    • 好物推荐
    • APP推荐
  • 关于我
    • Nibbles Studio
  • 友情链接
首页 › 技术学习 › VuePress —— 全流程建立博客的另一灾备方案

VuePress —— 全流程建立博客的另一灾备方案

Avatar photo
Nibbles 尼布
24 8 月, 2024

Another disaster recovery plan for the blog: VuePress. I want to share VuePress programing experience.

为什么要做这一方案?

作为站长的我们首先要确保博客业务的连续性,还有文章等数据的备份。次之还有备份站运营成本上的考虑,其中本站采用的是知名的WordPress程序,在Docker容器中运行,虽然说容器本身迁移方便,但是如果这台VPS一时出问题了,那么还是要买且迁移到新的VPS来,对于维护成本来说还是有点高的。

而且现在的Serverless开发平台(也就是vercel、netlify、zeabur)免费计划中跑VuePress静态站点绰绰有余,然后静态站前端代码从GitHub 仓库里抓取,每次我们对博客的修改,从本地git到仓库中,然后触发Serverless的重新构建机制,域名的话可以用*.eu.org,这样整套流程下来没有💴上的成本,且网站都在国外也不会因国内原因导致无法访问甚至封禁,本地也保存了网站的数据。

写在建站前你必须要的

  1. 基本的电脑操作知识(知道怎么装软件,知道怎么复制粘贴,会用代码编辑器的基本功能即可)
  2. 有个合适的国外proxy,Watt Toolkit中也有免费的Github加速选项可以试试
  3. 有Github账号(新手注册登录即可)
  4. 合适的翻译工具,最好支持截图翻译
  5. 会写MarkDown文件
  6. 一个能随时回答你发的问题的AI,如kimi.ai

具体实现流程

1、NodeJS环境部署

NodeJS的版本不建议太高,优先选择LTS(长期支持版本),博主选用的是v18.20.4(LTS x64)

【挂proxy】官网下载:https://nodejs.org/dist/v18.20.4/node-v18.20.4-x64.msi
中文镜像站:https://npmmirror.com/mirrors/node/v18.20.4/node-v18.20.4-x64.msi

直接默认安装位置即可,NodeJS程序本身只有几十MB。在安装过程到 tools for native modules 步骤的时候,不要勾选,然后下一步直到安装完成即可,安装完后还需重启系统。

检查版本,【Win+R快捷键输入cmd调出终端】

node -v   #开头是node,不是nodejs!

出现v18.20.4即安装成功。

本篇我们采用npx安装,类似于npm,它们都是NodeJS里预置的软件包管理器。什么意思倒不用在意,只是知道它们是指令的开头即可。

然后为了后续的访问速度还要换镜像源:https://nibbles.cyou/shift-source.html

2、VuePress 安装

博主选择的是带主题的vuepress-reco:https://theme-reco.vuejs.press/

打开cmd

创建一个文件夹(这路径上不能有中文)并让cmd执行路径指向此处:

法一【Win11/10】:找到系统自带的“终端”软件,在设置中更改默认为cmd,然后直接在文件夹里右键,选择“在终端中打开”。若没有可以去Microsoft Store里下载“终端”这个软件。

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

法二【更简单】:更改路径栏为cmd,则打开的cmd直接就指向这个路径了。

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

npx命令安装并初始化

文档里,revili可视化搭建部署起来还是会有点问题。所以直接用下面的一行命令(npx开头的)

# 初始化,并选择 2.x
npx @vuepress-reco/theme-cli init

输入后待其下载完后会进入初始化选项

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

第一问中:新的目录指的是在cmd指向的文件夹下再新建一个文件夹。(Y/n),若是的话需要先开大写锁定(键盘上的capslock)后打y,若不是就n。一般情况下空文件夹里创建此项目可以直接n。

除了最后一个问题和第一个问题,其他均可后期更改 config.ts 里的配置改变。

3、配置VuePress-reco主题

准备工作与层级关系

我喜欢用WebStorm来改配置,当然你使用VSCode也行,不过最好不要用“记事本”!

为了让我们的网站在更改后能及时看到,可以先dev运行下。在编辑器里打开文件夹后,打开 package.json 即可看到运行的按钮:

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog
VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

初次运行成功时候,看到下方的编辑器内置的终端窗口中会弹出两个链接:

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

Local所指的是只能本地电脑访问的,
Network所指的是指内网里的设备都可以访问的,但外网无法访问。

改配置的时候,建议把浏览器窗口和编辑器窗口精简化,并排成两列的布局

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog
要更改的地方配置文件
公告侧边弹窗config.ts 45行-98行bulletin
首页模块及内容README.md Frontmatter
首页顶部导航栏config.ts 33行-44行navbar
网站logo和作者头像.vuepress/public 替换同名文件,logo.png和head.png
首页右上角固定的Github地址指向config.ts 第16行docsRepo

这里只是一部分常用的需要改的地方

⭐ 配置文件更改时候最重要的是: 注意层级 !让我们解析一下config.ts的前半段:

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

各种不同颜色的圈圈,同样的颜色代表此为成对出现的。

值得一提的是,作者在原文档中部分的冒号为全角的冒号,他是打错了,但该配置的时候大家要认清并改过来哦! 半角就是英文输入法下输入的,全角是中文输入法下的。半角: ,全角:比较紧凑要改!

尽量各条语句之间开头对齐,用缩进清晰明了地展示层级关系。

能改的仅有引号内的内容,若要删去或者添加需要按照格式整对注释或添加,有的参数不用的可以移到注释里。快速注释方法:【CTRL+/】

参数名称一般对应着这东西到底是用来干嘛的,可以借助截图翻译软件通过单词意思来填上合适的内容。

MarkDown中的Frontmatter

Frontmatter即是MarkDown文件中被两行 --- 括起来的部分

文档中关于Frontmatter首页设置:https://theme-reco.vuejs.press/docs/theme/frontmatter-home.html

也是要按照格式一个个填,不过没有了引号和,结尾,但是一定要注意缩进。文档页面中最后有全部都应用上去的示例,可以先全部复制上,然后再删改。

注意,Frontmatter是会被主题解析的,各部分参数会显示到指定位置。—框起来以外的位置就是README.md的正文了,也就是MdContent module显示在首页上的内容。

4、Vite生成静态网页目录

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

点击此按钮开始build静态文件,当终端出现绿色的done的字样即代表生成完毕。(VSCode类似)

生成到了 .vuepress/dist 这个目录下面。

注意,每次更改(比如加文章、改样式)都需要重新生成一遍!

5、上传到Github

为了我们后续部署到Serverless平台,所以此处我们先利用Git上传到Github上。

Git官网下载:https://github.com/git-for-windows/git/releases/download/v2.46.0.windows.1/Git-2.46.0-64-bit.exe 安装过程直接一路下一步下去。

Github上创建一个new repository:https://github.com/new ,并对此命名,然后Create repository确认创建。新创建的里面不会有什么东西,但给了git的代码教程:

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

Git要加速使用系统proxy的话可以看:https://nibbles.cyou/shift-source.html

如果你不太想输入很多命令的话(看着不多,其实后面git add的时候需要加很多文件),可以试下Github Desktop,安装后登录账号密码,然后把仓库拉取到本地并作为同步文件夹。

之后把整个项目文件夹(不只是.vuepress)全部拖到同步文件夹中让客户端上传上去。在提交的时候需要自己写一点commit日志,比如如上的first commit。

以后每次只要网页目录有变动,就及时使用git或Github Desktop上传。

6、部署到zeabur

zeabur:https://zeabur.com

邮箱注册后会发送登陆链接到你的邮箱,从邮件中的链接进去即是后台。

创建项目→新建服务→Github(从Github仓库部署)→选择刚创建的存网页的仓库

然后趁机还没运行完毕,下拉找到设置→根目录,修改为/.vuepress/dist

回到上面”重新部署“,等待片刻,当出现运行中并有绿点则代表部署成功。

如果需要测试访问,可以直接使用一个zeabur.app的二级域名:下拉,网络→公开→生成域名→填入你喜欢的前缀,稍等下就可以使用 填的前缀.zeabur.app 来访问了。

7、免费域名eu.org

免费获取 EU.org 顶级域名丨岚天小窝

https://blog.ltya.top/posts/eu-org.shtml

更改为自己申请到的eu.org域名:下拉,网络→公开→自定义域名→到解析服务那里CNAME解析,如下

VuePress —— 全流程建立博客的另一灾备方案-Nibbles Blog

稍等片刻,即可直接访问了~


看到这里的你应该能手搓出一个VuePress的站点了吧~ 还有问题的话不妨问问AI哦。

既然有了自己的站点,那就努力更新内容吧!

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
GitGithubServerlessVuePresszeabur
1
1
Avatar photo
Nibbles 尼布
向着终生成长者迈进!
赞赏

评论 (1)

取消
  • Avatar photo
    Nibbles 尼布

    现在备份站可以直接在底部导航栏点击“Backup“查看啦~

    来自浙江
    9 月前 浙江 回复

猜你喜欢

  • 从本质理解指针的那些知识 | C语言基础
  • 从猜数字程序来理解结构和随机数 | C语言基础
  • 谈谈printf()和scanf() | C语言基础
Avatar photo

Nibbles 尼布

向着终生成长者迈进!
24
文章
4
评论
34
获赞

多平台更新

▲ “尼布是我”小程序
▲ 个人公众号

热门文章

TOP1
Python数据分析 Ⅰ:pandas模块
7 6 月, 2023
TOP2
更大挑战,更多机遇 | 2023 年终总结
8 1 月, 2024
TOP3
【杂谈】真的需要系统地学那么多编程语言吗?
14 8 月, 2024

标签云

AI (2) anaconda (1) Bilibili (1) Cookie (1) CS50x (1) CTF (1) C语言 (4) Git (1) Github (1) HTTP (1) Java (1) matplotlib module (1) Minecraft (2) NamelessMC (1) pandas module (1) PHP (1) python (2) Serverless (1) vim (1) VuePress (1) WordPress (1) zeabur (1) 公众号 (2) 年终总结 (2) 思维导图 (1) 换源 (1) 数据库 (1) 杂谈 (1) 浪前 (2) 自媒体 (2) 解密 (1) 运营 (2) 飞书 (1)

支持我!

Blog Circle

开往-友链接力
博客录(boke.lu) 随机博客
博客圈
  • SiteMap
  • Umami
  • xLog
  • Substack
Copyright © 2022-2025 Nibbles Blog. Designed by nicetheme. 浙公网安备33038102332481号 浙ICP备2024120131号
技术博客: AHdark Blog Tkong Blog iVampireSP 的物语 我不是咕咕鸽 热心市民 L 先生 ncc的个人网站 岚天小窝 天远笔记
  • C语言4
  • python2
  • AI2
  • 公众号2
  • 运营2
  • 专题汇总
    • 技术学习
    • 个人成长
    • 运营技能
    • 自媒体
    • Minecraft
  • 推荐
    • 好物推荐
    • APP推荐
  • 关于我
    • Nibbles Studio
  • 友情链接