漫谈

鲁迅曾说过,

知识需要不断积累、总结和沉淀,思考和写作是成长的催化剂。

为了更好的记录自己在前端和其他方面的成长,身为周老爷子粉丝的我遂下定决心动手搭个个人博客。查资料的过程中发现了两大搭建博客利器:

一进 hugo 主页(gsay 同学叫它霍格),就被它 The world’s fastest framework for building websites 的标题吸引,于是点击顶部的 Themes 开始寻找合适的主题。作为极简主义者,theme 当然得精挑细选,先挑了几个喜欢的:

比较后最终选择了 even,鉴于 hugo 下 even 的文档不详细,缺少很多配置说明,hexo 相同 theme 的 wiki 写的很详细,所以抛弃了 hugo,投入了 hexo 的怀抱。参照 even的wikihexo的文档,学习了配置、命令,修改了相关配置,在本地 4000 端口成功把项目跑起来,将资源部署在 github 上。

搭建过程

以下安装过程均在 macos,其他 os 请参考 官方文档

安装前提

安装 hexo-cli

1
2
3
4
5
$ npm install hexo-cli -g
$ hexo init blog
$ cd blog
$ npm install
$ hexo server

服务启动成功后可以在 localhost:4000 看到默认 theme 的博客,然后可以通过修改配置文件替换掉默认的 theme,我使用的是 even,所以只写了其相关的配置说明。

安装自定义 themes(even)

在创建的 blog 目录下:安装 hexo-renderer-scss 插件

1
$ npm install hexo-renderer-scss --save

将主题下载到 /themes 目录下:

1
$ git clone https://github.com/ahonn/hexo-theme-even themes/even

修改博客根目录下的配置文件(_config.yml),启用 Even 主题。 修改 theme 字段为 even

1
2
3
4
# Extensions
## Plugins: http://hexo.io/plugins/
## Themes: http://hexo.io/themes/
theme: even

在博客根目录下运行 hexo s 启动本地 hexo 服务,访问 http://localhost:4000 预览主题,然后就可以阅读 Wiki,根据文档修改相关内容的配置。

建议根据文档生成标签页、分类页、自定义页面,可以通过配置文件选择是否显示。标签页和分类页生成后不用添加内容,自定义页面一般需要添加。

  1. 标签页

    • 说明:文章的标签

    • 目录名:tags

    • 创建方法:写文章时,在 markdown 文件头部 --- 包裹的部分添加下面代码,表示为此文章创建了 hexo 和 even 两个 tag

      1
      2
      3
      4
      5
      6
      ---
      title: 个人博客
      tags:
      - hexo
      - even
      ---
  2. 分类页

    • 说明:文章的分类
    • 目录名:categories
    • 创建方法:同 tags

    如果您有过使用 WordPress 的经验,就很容易误解 Hexo 的分类方式。WordPress 支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是 Hexo 不支持指定多个同级分类。下面的指定方法:

    categories:

    - Diary

    - Life

    会使分类 Life 成为 Diary 的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类。

  3. 自定义页面

    • 说明:一般是博客作者的信息,可以添加爱好,联系方式啥的,是对个人信息的补充,让别人更好更全面的认识自己。
    • 目录名:about

发布到 GitHub

  1. 在 GitHub 新建个仓库,命名为 xxx.github.ioxxx 是你 github 用户名

  2. 修改 _config.yml 配置文件(不是 themes 目录下面的),添加配置

    1
    2
    3
    4
    5
    deploy:
    type: git
    repo: https://github.com/xxx/xxx.github.io.git
    branch: master
    message:

    注意:.git 别忘了带

  3. 安装 hexo-deployer-git

    1
    $ npm install hexo-deployer-git --save
  4. 在本地 blog 目录下:

    1
    2
    3
    $ hexo clean
    $ hexo g
    $ hexo d

    电脑端或手机端访问 xxx.github.io 查看效果

其他说明

  • scaffolds 文件夹下的文件是模板文件,即运行 hexo new [layout] <title> 生成的 markdown 会按照此模板来生成。创建文章时注意 layout,一般写文章用的是 post(默认,可在配置文件中进行更改),/about 页面是 page,/categories 是 categories,/tags 是 tags。
  • hexo clean 会删除缓存数据和 hexo g 命令创建的 public 静态资源。比方说,你创建了 5 个 tag 和 3 个 categories,然后你觉得太多了或者想删了再加几个,这个时候 hexo clean 就派上用场了,如果不用此命名,之前创建的 tag 和 categories 一直在缓存中,对页面的结果造成影响。

参考链接

cat01