个人博客部署作业报告

本次作业搭建了一个静态网页个人博客,主要用于记录一些个人爱好的日常还有一些学习经验。

博客基于Hexo和Github Pages搭建。选择使用Hexo的主要原因是使用Jekyll的主题还有各种各样的环境依赖,而且安装这些依赖项真的非常麻烦(速度很慢,还没有进度条!)。本人删库几次之后勃然小怒之下换成了Hexo,心情一下舒畅了。不得不说Hexo用起来要友好很多,基本上只要安装Git和Nodejs就行了,主题之间的切换也是非常的方便。我选择的主题是fluid,这个主题优雅简洁的同时,使用教程堪称白痴级,而且有中文版,文章的更新和维护也非常的方便。

总结与反思

主题及选取原因

本次选取Hexo的fluid主题作为搭建博客的框架,主要原因有以下几点:

  1. 相比与Jekyll,Hexo的主题之间兼容性较好,环境依赖上的问题较少。而且在本地上部署界面后,对博客做出修改只需刷新页面就能看到修改效果,将博客部署到Github Pages上也只需要本地几行命令即可,非常方便。
  2. fluid仓库下有着非常详细易读的教程,上手很快,可以把主要的精力放在博客内容上。
  3. fluid的展示效果比较符合我的审美,而且支持中文。

页面布局及设计思路

博客内任意页面均可通过右上角快速跳转到其他界面,通过点击右上角的小太阳标志,可以实现日间与夜间模式的切换。

主页

主页

首页文字实现打字机效果,下拉可显示文章列表,每篇文章在这里显示开头部分内容,文章编辑日期和标签。

文章列表

关于页

关于页

关于页是一些个人信息,可以设置头像等,下方有个人的Github链接和微信名片。

归档页

归档页统计文章总数,并按月份将文章归档,同时文章依据日期由近到远排序,方便读者找到最近的文章。

归档页

分类页

分类页将文章按主题分类,目前主要有学习、摄影、健身和花花草草四个主题。

分类页

标签页

标签页显示文章的标签,并实现词云效果,出现次数多的标签颜色会更深也会更大。

标签页

读者也可以通过点击标签跳转至相关文章。

相关文章

文章页

文章页内显示文章字数统计和阅读时间估计,右侧显示文章目录,同时支持访问前一篇和后一篇文章。

文章字数统计和阅读时间估计,右侧显示文章目录

访问前后文章

搜索功能

博客提供关键词搜索功能,点击右上角放大镜即可在博客内搜索关键词。

关键词搜索

功能实现及其技术选择

博客主要实现了以下几个功能:

  1. 文章标签以及标签词云展示的功能,并支持读者在标签词云页通过点击标签直接跳转至相关内容。
  2. 文章分类归档功能。
  3. 文章按日期归档功能,并按日期从近到远排序。
  4. 文章内字数统计和阅读时间估计。
  5. 文章内目录自动生成。
  6. 文章内访问前后文章。
  7. 博客内关键词搜索功能。
  8. 博客内标题打字机效果。
  9. 博客内跳转个人Github首页与微信名片显示。

技术选择:博客的搭建框架为Hexo,托管在Github Pages上,博客内文章通过Markdown编写。

遇到的问题

问题一:

最初我使用的主题其实是Jekyll,但是Jekyll的主题之间切换会遇到环境冲突的问题,而且相关的依赖大部分存在新版本不兼容老版本的问题,处理起来非常麻烦,于是最后换用了Hexo来搭建博客。

问题二:

切换主题之后访问Github Pages上的公网链接,发现显示的页面内容始终没有更新(为此我删库了好几次)。后来发现是MicrosoftEdge浏览器的页面缓存问题,清空缓存后显示正常。

问题三:

使用Hexo后在编辑博客文章的tags和categories时,编译一直报错,后来发现是空格问题。

缺少空格

补上空格后正常

这点很难注意到,因为平时在写代码时,只要语言正确一般来说空格是不会影响到编译的,只是影响显示效果。修改后恢复正常。

问题四:

上传图片后一直加载失败。

加载图片失败

原因是Hexo在本地测试页面时,Markdown文档内图片通过本地的相对路径访问,而上传到github后,文档结构发生了变化,所以上传前需要根据上传后的文档结构来写图片的文件路径,这点有些反人类。


个人博客部署作业报告
http://example.com/2024/04/20/个人博客部署作业报告/
作者
Liu Tianyang
发布于
2024年4月20日
许可协议