前言

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 的翻译,接下来就准备写重难点解析部分。

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

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

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

VuePress 博客搭建系列 33 篇正式完结!的更多相关文章

  1. Hexo+Github 高逼格个人博客搭建指南(准备篇)

    git 下载并安装git 进入git下载页面,下载合适的版本,并安装.一路 Next ,到了 Select Components 界面,勾选 Git Bash Here 和 Git GUI Here. ...

  2. VuePress 博客之 SEO 优化(三)标题、链接优化

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇讲讲 ...

  3. VuePress 博客之 SEO 优化(二)重定向

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇讲讲 ...

  4. VuePress 博客之 SEO 优化(一) sitemap 与搜索引擎收录

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇讲讲 ...

  5. VuePress 博客优化之增加 Vssue 评论功能

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇讲讲 ...

  6. VuePress 博客优化之增加 Valine 评论功能

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇讲讲 ...

  7. VuePress 博客优化之开启 Algolia 全文搜索

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 由于 V ...

  8. 2022 年了,还不了解 PWA ? 教你 VuePress 博客如何快速兼容 PWA

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇我们 ...

  9. VuePress 博客之 SEO 优化(五)添加 JSON-LD 数据

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇讲 ...

  10. VuePress 博客之 SEO 优化(六)站长工具

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 本篇接着 ...

随机推荐

  1. 使用sqlparse解析table_name,支持子查询, left join等

    import sqlparse from sqlparse.sql import IdentifierList, Identifier from sqlparse.tokens import Keyw ...

  2. 使用 LLVM 框架创建一个工作编译器,第 1 部分

    使用 LLVM 及其中间表示构建一个自定义编译器 LLVM 编译器基础架构提供了一种强大的方法来优化您使用任何编程语言编写的应用程序.了解本系列文章(由两部分组成)第一部分中有关 LLVM 的基础知识 ...

  3. java——棋牌类游戏斗地主(webddz1.0)之一

    这是本人最近一段时间写的斗地主的java代码,大体框架都实现了,主要缺少,AI的智能算法. 本版本是在singleddz3.0的基础上修改的,修改为了网络版本. 主要修改代码如下: package c ...

  4. VSCode关于编译scss的插件

    先安装两个插件,live server和 live sass compiler两个插件 然后将下面的代码复制到设置(文件---首选项----设置----打开设置json)中 "liveSas ...

  5. Mybatis【13】-- Mybatis动态Sql标签的使用

    mybatis有一个强大的特性,其他框架在拼接sql的时候要特别谨慎,比如哪里需要空格,还要注意去掉列表最后一个列名的逗号,mybtis的动态sql可以帮助我们逃离这样的痛苦挣扎,那就是动态SQL.它 ...

  6. Vue.js 组件注册

    1.前言 本节讲述组件和2.x版本和3.x版本的注册方式 2.全局注册 2.x版本直接调用Vue.component()方法进行全局注册,所有Vue实例都能使用,包括其组件 //组件代码省略 var ...

  7. jQuery 元素信息

    先贴出元素模型信息 1.获取内容区大小 css():返回值是带单位的(getComputedStyle(node).width) <script> $(function(){ consol ...

  8. OS之《进程管理》

    进程同步 同步实际上是指:将多个进程,按照顺序,有序执行. 让进程有序进行的场景有很多.比如:一个进程依赖另外一个进程的计算结果:一个进程等待另外一个对临界资源的访问:还有像生产者消费者模型中的相互配 ...

  9. Three.js案例-360全景房看

    在 360° 看房功能中,我们需要在浏览器中创建一个类似虚拟现实的场景,使得用户能够查看环境的每一个角落.这一功能的实现本质上是利用 球体映射技术,即通过将全景图作为纹理贴图映射到一个反向的球体上,用 ...

  10. js 吸顶以及一些获取文档高度等小方法

    1.返回html文档元素document.documentElement 2.文档的高度document.body.clientHeight 3.html文档可视高度==页面可见区域的高度docume ...