草庐IT

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

冴羽 2023-03-28 原文

前言

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. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  3. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  4. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  5. ruby - 从结束值创建一系列字符串 - 2

    我使用irb。下面是我写的代码。“斧头”..“bc”我期待"ax""ay""az""ba"bb""bc"但结果只是“斧头”..“bc”我该如何纠正?谢谢。 最佳答案 >puts("ax".."bc").to_aaxayazbabbbc 关于ruby-从结束值创建一系列字符串,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7617092/

  6. ruby-on-rails - 用一系列时间增量填充选择,加上其他选项 - 2

    使用RubyonRails,我使用给定的增量(例如每30分钟)用时间填充“选择”。目前我正在YAML文件中写出所有的可能性,但我觉得有一种更巧妙的方法。我想我想提供一个开始时间、一个结束时间、一个增量,并且目前只提供一个名为“关闭”的选项(想想“business_hours”)。所以,我的选择可能会显示:'Closed'5:00am5:30am6:00am...[allthewayto]...11:30pm谁能想出更好的方法,或者只是将它们全部“拼写”出来的最佳方法? 最佳答案 此答案基于@emh的答案。defcreate_hour

  7. IDEA 2023.1 正式发布,新特性简介 - 2

     昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA

  8. Spring Security 6.0系列【32】授权服务器篇之默认过滤器 - 2

    有道无术,术尚可求,有术无道,止于术。本系列SpringBoot版本3.0.4本系列SpringSecurity版本6.0.2本系列SpringAuthorizationServer版本1.0.2源码地址:https://gitee.com/pearl-organization/study-spring-security-demo文章目录前言1.OAuth2AuthorizationServerMetadataEndpointFilter2.OAuth2AuthorizationEndpointFilter3.OidcProviderConfigurationEndpointFilter4.N

  9. ruby - 在 Middleman 中移动博客文章位置 - 2

    我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=

  10. ruby-on-rails - 博客条目和评论的倒序显示,Ruby on Rails - 2

    我是Rails的新手,所以在这里需要一些帮助。我已经按照几个教程创建了一个带有评论甚至一些AJAX花哨功能的博客,我被困在一些我希望很容易的事情上。博客和评论的默认显示是先列出最早的。我如何反转它以在顶部显示最新条目和最新评论。真的不知道这是Controller还是模型的功能。我已经做了一些定制,所以如果有帮助的话,这里是Controller.rb文件的代码。评论ControllerclassCommentsController帖子管理员classPostsController[:index,:show]#GET/posts#GET/posts.xmldefindex@posts=Po

随机推荐