2020.2.16

3.0 版本更新日志

Xzonn 的小站升级为 3.0 版本

3.0 版本更新日志
3.0 版本更新日志

前言

阿里云最近推出了学生在家实践计划在校大学生可以免费领取半年的阿里云服务器一台官方说明如下

因新冠肺炎疫情学校延期开学在家时间不浪费提高技能好机会阿里云弹性计算联合开发者社区推出高校在家实践计划全国高校学生每人可免费领取一台云服务器ECS算力资源在线实践课程等资源

趁着这个机会我领取了一台云服务器2CPU4 G内存1 Mbps带宽40 GB系统盘原价918人民币看上去还可以——除了带宽似乎有点小不过既然是免费领取的也就不讲究了有了这台云服务器我打算把自己部署在GitHub Pages上的小站转移到云服务器上毕竟阿里云服务器在国内访问速度应该要比GitHub Pages快一些趁着这个机会我也把小站更新了一下页面设计

基于Bootstrap的新布局

3.0版本最大的更新就是弃用原有的布局改为基于Bootstrap v3的新布局并根据原有布局的代码修改参数之前我曾经稍微尝试过用Bootstrap但是没有系统地学习过而且Bootstrap的代码在当时不是很适合我的品位因此在某次更新后我就删除了Bootstrap的引用而这次再次使用Bootstrap布局是想把界面改得简约一些

本站2.0版本
本站2.0版本

相比2.x版本这一版本在布局方面有如下改进

  1. 删除背景图片将正文的背景色改为主背景色正文背景改为白色
  2. 将左侧导航栏改为顶部导航栏并固定原有头像删除改为像素图标
  3. 标题信息从正文提至页面最顶部增强视觉效果
  4. 二维码大小改为由标题区块大小决定
  5. 对正文进行滚动监听达到目录动态显示的效果
  6. 将原有样式名的驼峰式写法改为与Bootstrap统一的横线式写法删除Bootstrap已有实现的样式
  7. Bootstrap样式表命名为base.css便于其他项目调用本站使用的样式增加xz-前缀样式表为main.css仅本站调用
  8. 合并文章列表标签列表重写样式更新原有的脚本代码
  9. 首页文章一览最近才更新过此次仅修改了页码部分的样式
  10. 暂时删去信息框
  11. 删去打赏二维码链接
  12. 页脚删去CC BY-NC-SA 4.0的图标请注意本站仍按照CC BY-NC-SA 4.0许可只是删去了图标重新排版
  13. 修改滚动条样式
  14. 其他未提到的琐碎修改

Bootstrap中加入自定义内容

目前Bootstrap的版本已经更新到4.x但我仍在使用3.x版本其原因在于3.x版本的自定义方式比较简单既可以手动编译1也可以从网站定制2且中文教程丰富2-34.x版本的编译方法我鼓捣了很久也没搞出来最后只好作罢

本次更新时使用的版本为Bootstrap 3.4.1与原版相比我自定义了如下内容

  1. 字体原版字体仅有英文字体此处我添加了中文字体同时为了更正引号“”引起字体回退的问题利用Han的标点标注功能将中文标点设为仅有中文字体
  2. 颜色原版给出了一些颜色方案但为了和本站的2.x版本匹配我修改了颜色采用蓝红两色对比的颜色方案基色分别为#00b7ff / HSL(197, 100%, 50%)#ff4800 / HSL (17, 100%, 50%)两种颜色恰好是对比色并借助函数调整明度
  3. 字号原版标题字号偏大我按照个人习惯调小了字号新字号介于原版字号和本站2.x版本字号之间
  4. 行距原版行距偏小1.4320/14我改为了1.7323
  5. 添加了本站2.x版本的部分样式

自定义内容使用less.js编译

Bootstrap提供的JavaScript插件

Bootstrap提供了一些插件本站使用了如下内容

  1. 滚动监听scrollspy.js用于动态显示目录由于顶部导航条的存在锚点定位存在一些问题我参考了其他网站的做法4在每个标题内加入了一个空白的<span/>标签用于修改锚点定位
  2. 弹出框popover.js用于显示注释
  3. 提示框alert.js目前仅用于MathJax渲染提示后续可能会增加新的用途
  4. 固定affix.js用于将目录显示在固定位置

改用jsDelivr作为CDN

本站原本采用了Cloudflare提供的cdnjs.com网站作为CDN但我发现cdnjs.com的访问速度较慢因此改用jsDelivr作为CDN本站使用的Bootstrap脚本jQuery脚本MathJax脚本均用jsDelivrHan.js未在该网站找到因此改用本地源

另外为了进一步提升速度MathJax仅在需要渲染公式的页面引入

其他使用的外部资源

以下资源均自2.x版本中即开始使用

  1. jQuery用于修改页面元素等
  2. jquery.qrcode.jsjQuery插件用于生成二维码
  3. js-cookie用于处理cookies
  4. MathJax用于渲染数学公式
  5. mhchem for MathJaxMathJax的插件用于渲染化学公式
  6. Han用于添加中英文之间的空格
  7. 来必力评论系统
  8. 友盟+分析系统

其他重要变化

3.0版本将所有文章的链接由原来的/:title/形式修改为了/posts/:title.html形式这是由于原有形式会在发布时在根目录下生成较多文件夹不利于管理为降低影响我使用脚本更新了内部链接并自定义了404页面对原始链接的访问将调用404页面然后根据脚本转向新的链接页面但是本站采用的来必力评论系统基于页面链接显示因此本站更新前的所有评论均无法显示

另外源代码中添加了更多的meta元素和link元素用于页面描述和图标可查看源代码访问

更新计划

目前我已经申请了xzonn.top域名正在进行备案备案完成后我计划自己写评论系统以替换国内访问速度较慢的来必力并添加搜索系统

参考资料

  1. lovelydong. 定制你的bootstrap [EB/OL]. (2017-10-24) [2020-02-16]. https://www.jianshu.com/p/0e9d0d748bed.
  2. 王赛. Bootstrap 中文文档 [EB/OL]. (2020-01-16) [2020-02-16]. https://v3.bootcss.com/.
  3. 菜鸟教程. Bootstrap 教程 [EB/OL]. [2020-02-16]. https://www.runoob.com/bootstrap/bootstrap-tutorial.html.
  4. The core Less team. Less.js [EB/OL]. (2019-09-20) [2020-02-16]. http://lesscss.org/.
如果需要在留言中发布图片请前往GitHub上的Discussions您也可以通过bilibili的私信功能与我联系