VuePress 博客搭建系列 33 篇正式完结!

冴羽
• 阅读 1490

前言

VuePress 博客搭建系列是我写的第 6 个系列文章,前 5 个系列分别是 JavaScript 深入系列JavaScript 专题系列underscore 系列ES6 系列TypeScript 系列

VuePress 博客搭建系列共计 33 篇,讲解使用 VuePress 搭建博客,进行各种优化,为博客增添各种功能,并部署到 GitHub、Gitee、个人服务器平台的全过程。

这个系列从 2021年12月13日开始发布第一篇,到 2022 年 3 月 10 日发布最后一篇,感谢各位朋友的收藏、点赞,鼓励、指正。

顺便宣传一下该博客的 GitHub 仓库:https://github.com/mqyqingfeng/Blog,欢迎 star,鼓励一下作者。

本篇聊一聊我为什么会写这个系列,以及写作这个系列中的一些感悟。

起因

之所以会开始写这个系列,也是无心插柳,我在翻译完 TypeScript 官方手册之后,突然想到做个站点,或许更方便大家阅读,于是便做了这样一个站点: TypeScript 中文文档

之所以选择用 VuePress,并不是因为我擅长 Vue,恰恰我从来没有用过 Vue,之所以用 VuePress,更多是因为 Vue 的受众甚广,使用 Vue 风格的文档大家会更有熟悉感。

在我准备搭建这个站点的时候,VuePress 2.x 还在 beta 中,VitePress 也有少量应用,考虑到我想快速搭建一个站点,由于 VitePress 不兼容当前的 VuePress 生态,所以我就选择了 VuePress,至于为什么没有选择 beta 测试版,是因为很多生态中的主题和插件还没有升级,于是我就用了最为稳定的 VuePress 1.x,所以这个系列文章也是基于 VuePress 1.x 写的,像个别函数名和使用方式,到了 VuePress 2.x 中就变了,如果是使用 VuePress 2.x 的同学请千万注意。

刚开始我是使用 GitHub Pages 搭建的,因为 GitHub 的屏蔽原因,我又用 Gitee Pages 搭建了一份,后来一想,为啥不自己搞个域名和服务器呢,于是我就自己买了域名和服务器,最终做了这个站点。

边做我边写文章分享,一开始预计写 8 篇左右,结果写起来一发不可收拾,各种要做的事情一研究,都可以单独成文了,随着站点的不断优化,我也将自己的实现分享出来,最终如你所见,写了 33 篇,其实纵观每一篇都是一个非常小的知识点,但综合起来,却又横跨了不少知识领域。

希望这个系列的读者能有所收获,不仅仅是搭建成功自己的站点,更是能在这个过程中对很多东西的原理有所理解,这样再处理相似的问题时,才能举一反三。

感慨

更新这个系列文章我最大的感受或许就是:这种文章真好写……

像我往常写的文章都是原理类的,写一篇文章往往要通读很多文章、书籍,然后再根据自己的思路写出来,但这种实践类的文章,记录遇到的问题,写下解决问题的方式即可,一天一篇简直是太简单了……

虽然我也希望写的有点深度,像 VuePress 的源码、主题的源码、markdown-it 的源码,很多插件的源码我都翻过并写了解析,但由于我本身并不想在这方面花费太多时间,毕竟只是顺手写的文章,花大量时间研究透原理,正事却没干,实在是捡了芝麻漏了西瓜,所以更多是大致的梳理,很多时候,问题解决了,哪怕解决的方式不优雅不完美也都算了,或许这跟很多做业务的同学很像,只求解决问题,但却不花时间优化问题的解决方式。

由此我也依据自己的亲身经历,得出结论:那些日更作者,写的文章一定不怎么样!

当然这句我也说了我自己,一个人没有大量的输入,就在疯狂的输出,写出的文章要不然就是简单,一天就可以学会解决的内容,要不然就是彻头彻尾的水文。我希望我至少是属于前者。

所以不要敬佩那些日更的作者,他们日更写的章一定不怎么样,作者的水平在日更的过程中,只能保证下限,却提高不了上限。

当然这样说,并不是在说这个系列文章的品质不好,毕竟作者是我,只是很多细节上我个人感觉依然有优化和完善的空间,而且写了 33 篇,我觉得这可能是业界关于 VuePress 博客搭建最完善系统的教程了。

实际上,在我更新这个系列文章的过程中,有很多同学跟着系列教程创建了自己的站点,在我的群里就有同学分享跟着我的文章《一篇教你博客如何部署到自己的服务器》 1 个小时就部署了 vuepress 博客,但我自己一个人在做的时候,自己装先花了一天,为了写这篇文章,重置了服务器,边装边写又花了一天。虽然不像一些作者十天半月打磨一篇文章,但也在力所能及的范围内尽可能完善的写文了。

全目录

  1. 一篇带你用 VuePress + GitHub Pages 搭建博客
  2. 一篇教你代码同步 GitHub 和 Gitee
  3. 还不会用 GitHub Actions ?看看这篇
  4. Gitee 如何自动部署 Pages?还是用 GitHub Actions!
  5. 一份前端够用的 Linux 命令
  6. 一份简单够用的 Nginx Location 配置讲解
  7. 一篇教你博客如何部署到自己的服务器
  8. 一篇域名从购买到备案到解析的详细教程
  9. VuePress 博客优化之 last updated 最后更新时间如何设置
  10. VuePress 博客优化之添加数据统计功能
  11. VuePress 博客优化之开启 HTTPS
  12. VuePress 博客优化之开启 Gzip 压缩
  13. 从零实现一个 VuePress 插件
  14. VuePress 博客优化之拓展 Markdown 语法
  15. markdown-it 原理解析
  16. markdown-it 插件如何写(一)
  17. markdown-it 插件如何写(二)
  18. markdown-it 插件如何写(三)
  19. 有的时候我觉得我不会 Markdown
  20. VuePress 博客优化之中文锚点跳转问题
  21. 搭建 VuePress 博客,你可能会用到的一些插件
  22. VuePress 博客如何开启本地 HTTPS 访问
  23. VuePress 博客优化之兼容 PWA
  24. VuePress 博客优化之开启 Algolia 全文搜索
  25. VuePress 博客优化之增加 Valine 评论功能
  26. VuePress 博客优化之增加 Vssue 评论功能
  27. VuePress 博客之 SEO 优化(一)sitemap 与搜索引擎收录
  28. VuePress 博客之 SEO 优化(二)重定向
  29. VuePress 博客之 SEO 优化(三)标题、链接优化
  30. VuePress 博客之 SEO 优化(四) Open Graph protocol
  31. VuePress 博客之 SEO 优化(五)添加 JSON-LD 数据
  32. VuePress 博客之 SEO 优化(六)站长工具
  33. 搭建 VuePress 站点必做的 10 个优化

下期预告

原本预计更新完博客搭建系列,将回归到 TypeScript 系列的写作中。

TypeScript 系列是一个由官方文档翻译、重难点解析、实践技巧与总结三个部分组成的系列文章,全系列预计 40 篇左右。目前已完成了官方文档 Handbooks 的翻译,接下来就准备写重难点解析部分。

但时值金三银四,在我读者群里的同学也经常讨论面试相关的内容,所以我想在三月的时候,专门整理面试相关的内容,写一份前端面试手册,帮助更多的同学。

但与讲解单独的前端面试题不同,我认为,对于面试,面试前的长时间准备,写简历,找公司,找内推,面试技巧都很重要,而这些方面。很多人经验太不足了,也没有意识学习和优化,所以我想写一份完整的从技术准备,到简历,到找公司,到面试技巧的系列文,讲其中的道和法,而不是执着于器和具体的面试题目。

感谢大家的阅读和支持,我是冴羽,下个系列再见啦![]( ̄▽ ̄)**

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
冴羽 冴羽
2年前
VuePress 博客之 SEO 优化(一)之 sitemap 与搜索引擎收录
前言在中,我们使用VuePress搭建了一个博客,最终的效果查看:。本篇讲讲如何进行SEO优化。1.生成sitemap借助生成站点地图:1.1安装bashyarnaddvuepresspluginsitemapD1.2修改config.jsjavascript//.vuepress/config.jsmodule.expo
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
冴羽
冴羽
Lv1
男 · 淘宝 · 前端工程师
GitHub 26K Star 的博客: https://github.com/mqyqingfeng/Blog
文章
32
粉丝
16
获赞
67