星路

追寻那一缕星光,在漆黑夜晚前行

0%

从零开始认识hexo

不知不觉建站一个多月了,趁着记忆还新鲜,把之前折腾的经历做个总结吧。不过,本文不准备介绍具体的配置以及主题美化(自己也不够专业),只是分享下自己对hexo的理解,希望能让初接触hexo的朋友能快速构建一个初步的概念。


1.hexo是什么

引用官方文档:
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

重点是两个:

  1. Markdown

    就是需要以markdown格式写文章。

  2. 静态网页

    博客的网页平常在服务器上就存在,浏览器请求就可以直接读取展示。


2.hexo的安装

再引用官方文档:
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

  1. 虽然官方命令这么少,实际上还要先安装Node.js环境(NPM是其中的包管理工具)。

  2. npm install hexo-cli -g,安装hexo cli插件,hexo的管理工具,-g参数代表全局安装。

  3. hexo init blog,会在当前目录下,创建blog目录,里面带有博客框架的基础配置信息

  4. cd blog npm install,根据blog\node_modules目录下配置信息安装插件

  5. hexo server,启动服务器,默认监听4000端口。当然,如果自己安装了apache2、nginx等服务器,也可以不使用自带的服务器程序。


3.hexo的使用

继续引用官方文档,安装完毕目录内的结构为:
.
├── _config.yml
├── package.json
├── scaffolds
├── public
├── source
| ├── _drafts
| └── _posts
└── themes

  1. _config.yml

    网站的配置信息。

  2. public

    网站目录文件夹,经过渲染后的文章页面也存放与此。

  3. source

    用户资源文件夹,_posts是存放markdown格式的文章。其它放在这个目录里面的文件(除了_开头的文件),在渲染操作后,会被直接拷贝过去public。

  4. themes

    主题文件夹,进行渲染操作的时候,也要渲染对应主题的文件生成网站页面。

所以hexo使用流程大概为:

  1. 写好markdown文章,放到_posts文件夹。
  2. 在blog目录中,执行渲染命令hexo g
  3. 渲染过程根据主题文件以及文章文件,生成相应的html页面。
  4. 浏览器访问html静态页面,浏览blog。

4.hexo与github/coding

百度hexo建站文章,可以发现总是与github、coding联系起来。自己一开始也对这个有点疑惑:为什么放到github、coding上就能访问了;我的网站文件直接公开到github、coding上会不会有安全问题,特别是我的blog文件夹有文章原稿。

  1. 其实可以把github、coding看作成免费的服务器主机,你把网站静态页面文件上传上去,当然就能浏览访问了。只不过,github、coding同时把你的网站目录当成一个项目进行管理,用户可以也能像普通文件下载。
  2. 执行命令hexo d部署到github、coding的操作,只会将public目录里面的内容上传到github、coding。正因为是静态页面,代码也不含什么数据库连接、业务操作之类的逻辑。浏览器加载的内容,和在github、coding里直接浏览项目代码是一样的,就不涉及什么私隐数据问题了。
  3. 部署到github、coding的优点就是有免费稳定的服务器放自己的博客,要挑个缺点,也是你的项目如果是公开的话,人家可以直接下载你的网站目录,自己架服务器山寨你的博客(话说山寨有什么用)。PS:虽然coding可以免费设置项目私有,但静态网页爬虫抓取也是分分钟的事情。