开启hexo之旅

作为一个iOS研发已有3年多,渐渐发现应该写点东西。不仅能让自己深入了解,还能给他人留下一点财富。所以就在简书和CSDN写了一些文章,效果还不错,收获了很多喜欢和粉丝。不过心里一直有个结:为什么不自己搭建一个博客呢?

于是就有了今天的这篇文章。在这里记录一下安装的过程以及遇到的问题。

安装

我是根据一篇博客来建立博客的。在此祭出那篇伟大的博客。5分钟 搭建免费个人博客.那么这里面我就不赘述了。我用的是nexT.Pisces的主题。

配置

其实安装真的很容易,很无脑。很快我的博客就建立起来了。但是。。。但可是。。。我是个颜控啊,不折腾一下主题、“美颜”一下还对的起我么?于是我找到了我心仪的主题。马上更换上。

更换主题

1.进入你的博客根目录。
2.利用git clone 命令将主题拷贝到目录下的themes文件夹中,就像这样:

1
git clone https://github.com/iissnan/hexo-theme-next themes/next

主目录结构

  • _config.yml:我叫它站点配置文件,他负责这个站点所有配置的东西。
  • scaffolds:这个我叫他模板。它里面放了一些模板文件。你可以修改里面的内容,这样在初始化新建博客的时候,里面的内容都会显示在新建的文件中,方便省时。
  • source:资源文件,最让我头大的文件夹。里面可以放任何资源,比如我正在写的博客、图片、视频、音乐等等吧。这里面有故事,稍后咱倒点茶水好好说说这个让我这个小白欲罢不能的它。
  • themes:这个是用来放主题的。至少我是这么理解的。
  • 其他的:不要问我,我也不知道。因为我也只用到了以上这么多。

主题目录

  • _config.yml:我叫它站点配置文件,他负责这个站点所有配置的东西。
  • languages:语言模块,你要适配各种语言版本,一定要修改这里。修改对应的文件,例:添加中文说明,请修改zh-Hans.yml

  • source:如果要修改主题里面的资源,请操作这个文件夹。

  • layout:负责页面布局。至少我是这么认为的。不对的话请指正,先谢谢啦。

插件&功能

hexo能集成的插件选择非常多,我仅仅用到了几个,不过尽可能把我知道的列出来,方便大家使用吧:

问题一览

博客里面的文章应该写在那个文件夹下?分类、标签、归档里面的博客写在哪呢?

:这是我搭建博客困扰我最长时间的问题。根据5分钟 搭建免费个人博客这篇文章写的,写博客应该在source/_posts文件夹中。那么根据这个思路来捋的话,那么分类下的文章就应该写在分类文件夹下,标签就写在标签文件夹下。然而,并不是。

这里面明确一下几个概念。

  • 分类:实际上就是对博客模块里面的文章进行分类。
  • 标签:对文章设置不同的标签,方便搜索。类似于小分类。不过标记标签的对象也是对博客模块下的文章

那么这么说应该就可以懂了。博客只能在source/_posts下创建。(至少最开始是这样的。当然你也可以自己去设置,不完全绝对)。

那么博客里面的文章如何出现在标签和分类模块里面呢?


1.在终端窗口下,定位到 Hexo 站点目录下。使用 hexo new page 新建一个页面,命名为 tags :

1
2
$ cd your-hexo-site
$ hexo new page tags

2.编辑刚新建的页面,将页面的类型设置为 tags ,主题将自动为这个页面显示标签云。页面内容如下:

1
2
3
4
title: 标签
date: 2014-12-22 12:39:04
type: "tags"
---

3.在菜单中添加链接。编辑 主题配置文件 , 添加 tags 到 menu 中,如下:

1
2
3
4
menu:
home: /
archives: /archives
tags: /tags

4.创建博客,并修改里面的属性,这样就可以显示在分类和标签里面了。

1
$ hexo new test
1
2
3
4
5
6
---
title: test
date: 2017-03-04 11:50:50
tags: hexo
category: hexo
---

5.运行一下看看吧

1
$ hexo s

文章内如何显示目录

:这个问题是正在写的时候遇到的。当你使用#来设置标题的时候,运行以后发现,为毛没有目录?我也尝试使用<!-- toc -->但是也失败了。后来我将#和标题用空格隔开后,发现目录出现了(我只想调整一下格式。让代码看起来更美观)。还有就是设置标题的时候,主题会自动为你设置目录编号,你不用自己去设置

添加页面footer位置,访问人数和浏览次数

:如果你用的是nexT的主题,那么修改themes/主题/_cingif.yml里面的busuanzi属性开启,设置为ture。
但是如果你不是next主题,那么你就需要修改文件的代码。这里附上教程.

添加自定义模块

:操作模块,不光要修改_config.yml文件中的menu选项,至少next主题不行(之前试过onevcat的主题,他的主题就可以直接添加)。还要在对应的languages下的文件添加对应语言。当然还要修改显示的图标,如果不设置,就会默认显示问号。请注意键值(如 home)的大小写要严格匹配

总结

以上就是我建立个人博客的过程以及问题。希望晒出来可以帮助更多的人。其实看再多大神的博客,都不如看几遍官方文档。