Hexo与模块化与自动化

Author Avatar
patrickcty 2月 01, 2017

背景

  • 关于数据结构的创新作业,其实我并没有什么相关思路,一是因为自己知识有限,做不出来精美的app或者前端界面等
  • 但是自己对互联网前沿的知识还是有一定关注的,正好最近搭建一个个人博客的欲望也比较强烈,于是借着这个机会来对Hexo搭建博客进行一个比较深入的分析
  • 注:因为能力有限,相关的代码基本都是Hexo和第三方主题自带。

传统的搭建一个博客的方法

  • 自己编写前端页面
  • 自己编写后台逻辑处理前端请求,连接数据库
  • 将博客部署到服务器上

我们可以感受到传统搭建一个博客的步骤是十分麻烦的,尽管我只列举了三条,但是事实上每一步的步骤都要耗费大量的经历。不过在开源浪潮的推动下,如今博客的搭建已经大大简化了,而我今天要分析的Hexo就是一个十分好用的高度模块化,自动化,可定制的个人博客。

WordPress

说到博客就不得不提到WordPress,作为自己搭建的个人博客的鼻祖,WordPress在博客里面占有重要的分量,尽管这么多年来体系越来越完善。但是体量大,需要PHP编程相关知识,以及同样的部署问题,到如今显得有些“不合群”了。

为什么选择Hexo

  • 开源
  • 安装使用简单
  • 高度模块化,可定制化
  • 高度自动化,操作极度简化

关于Hexo的分析

Hexo是开源并且基于node.js编写成的,Hexo也是通过node来进行页面的渲染,通过更改配置文件可以进行信息的定制。

同时Hexo模块化很强,主体的Hexo框架集成了基本的逻辑,theme文件夹里面的内容为定制提供了很大的便利,同样theme文件夹里面的内容也是根据配置文件与留出来的相应的api进行相应的页面渲染。

另外,依赖于Git进行版本控制使得使用GitHub Pages来部署更简单。

一键安装

  • 由于Hexo基于node.js以及通过Git来进行版本控制
  • 因此安装好node.js以及Git后直接用npm就可以安装Hexo了

一键初始化

  • 刚安装的Hexo的配置文件已经基本上能使用了,自己稍微修改就可以更个人化
  • 渲染静态文件

    hexo g  // 或者使用全称hexo generate
  • 运行Hexo服务

    • 这样Hexo就会在本机的4000端口运行(默认)
hexo s  // 全称hexo server
  • 部署Hexo
    • 只用在配置文件指定相应的部署路径就可以很快部署了
    • 支持GitHub Pages和Heroku等多种形式
hexo d  // hexo deploy

经过以上几步就可以看到自己的博客了。

值得一提的是

  • 这几个步骤也体现了自动化
  • 使用者只用专注于内容
  • 其他页面逻辑都会由hexo来处理
  • 甚至版本控制hexo都自动进行了,省略了add和commit的步骤

高度定制

  • 你可以在theme里面定制你自己的页面样式,目录等等,不过如果要自己定制的话必须遵循hexo的规范,不然页面可能渲染不出来
  • 有许多第三方模块可以自己选择,比如评论,流量统计等,安装也十分简单,npm来进行就可以了

至于发表博客

  • 直接把相应md文件放到对应的文件夹,剩下的就不需要你来管了
  • 使用代码直接就生成新文章
    hexo new [layout] <title>

Hexo的缺点

  • 高度模块化的一个弊病就是自由度会相应降低,不过好在Hexo的主体框架也比较完善了,因此基本也不会遇到自己想要的功能实现不了这种情况

最后一些脑洞

如果要把Hexo和数据结构这门课程联系起来的话

  • 由于Hexo的渲染页面功能十分强大,而数据结构又是一个相对抽象的内容
  • 所以可以利用Hexo的优势来进行==代码可视化==
  • 也就是说你看到的图,树不再是代码中的那些抽象结构,而是真正的表现在页面的图形
  • 这样也能降低许多学习门槛吧,不过现在因为能力问题,只能假想了,以后能力达到了就会去进行相应的尝试

总结

生命不息,创新不止。但是创新是基于扎实的基本功的,只有自己能力充分了创新才不会那么的苍白。这也是自己继续要做的吧,打好基本功,同时不要安于现状,失去创新的想法!