Hexo,「 安装与配置 」

Hexo,安装

  • 打开终端输入:npm install hexo-cli -g
  • 输入密码。等待安装完成:
  • 验证是否安装成功:
  • 打开终端输入:hexo -v
  • 终端输入结果:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    hexo-cli: 1.1.0
    os: Darwin 18.5.0 darwin x64
    http_parser: 2.8.0
    node: 10.15.3
    v8: 6.8.275.32-node.51
    uv: 1.23.2
    zlib: 1.2.11
    ares: 1.15.0
    modules: 64
    nghttp2: 1.34.0
    napi: 3
    openssl: 1.1.0j
    icu: 62.1
    unicode: 11.0
    cldr: 33.1
    tz: 2018e

  • 如图:
    安装完成

Hexo 创建博客

  • 初始化 Hexo 打开终端输入:
  • hexo init < folder >
  • 等待安装完成:
    博客创建

  • folder 生成博客文件夹名称,根据读者喜好自定义。
  • 进入博客目录,终端输入:
  • cd folder
  • 启动服务,终端端输入:
  • hexo s
  • 用浏览器打开 http://localhost:4000/http://127.0.0.1:4000/ 就可以看到页面了。
    博客创建

Hexo,目录结构

  • 有些文件是在部署时才会产生的
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    ├── .deploy         # 需要部署的文件
    |
    ├── node_modules # Hexo插件
    |
    ├── public # 生成的静态网页文件
    |
    ├── scaffolds # 模板
    |
    ├── source # 博客正文和其他源文件, 404 、favicon 、CNAME
    |
    | ├── _drafts # 草稿
    | |
    | └── _posts # 文章
    |
    ├── themes # 主题
    |
    ├── _config.yml # 全局配置文件
    |
    └── package.json


Hexo,_config.yml全局站点配置文件

  • 全局站点配置文件 配置文件为 /_config.yml

Site

1
2
3
4
5
6
7
8
# Site                      # 站点信息
title: Test # 博客标题
subtitle: # 副标题
description: # 描述
author: John Doe # 作者
language: zh-CN # 语言
timezone: Asia/Shanghai # 时区


URL

1
2
3
4
5
url: http://yoursite.com                # 博客网址
root: / # 根目录
permalink: :year/:month/:day/:title/ # 文章的链接格式
permalink_defaults:


Directory

1
2
3
4
5
6
7
8
9
source_dir: source          # 源文件
public_dir: public # 生成的文件
tag_dir: tags # 标签文件夹
archive_dir: archives # 归档文件夹
category_dir: categories # 分类文件夹
code_dir: downloads/code # 下载文件
i18n_dir: :lang # 国际化
skip_render:


Writing 写作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
new_post_name: :title.md    # 文章标题
default_layout: post # 模板
titlecase: false # 标题是否换成小写
external_link: true # 是否在新页面打开链接
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
enable: true
line_number: true
auto_detect: true
tab_replace:


Category && Tag ( 分类和标签 )

1
2
3
4
default_category: uncategorized
category_map:
tag_map:


Date ( 时间日期格式 )

1
2
3
date_format: YYYY-MM-DD
time_format: HH:mm:ss


Pagination ( 分页 )

1
2
3
4
5
6
7
per_page: 10            # 每页文章数
pagination_dir: page
# Extensions # 插件和主题
## Plugins: http://hexo.io/plugins/
## Themes: http://hexo.io/themes/
theme: landscape # 主题


Deployment ( 部署配置 )

1
2
3
4
## Docs: http://hexo.io/docs/deployment.html
deploy: # 部署配置
type:


Hexo,写文章

  • 打开终端,进入博客文件目录。
  • 输入:hexo new 文章标题
  • 然后到 _post 目录下打开,文章标题.md。
  • 文章格式如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    title: 文章标题
    date: 2017-09-18 14:18:11
    tags:
    - 标签1
    - 标签2
    - 标签3
    categories: [分类1,分类2,分类3]

    正文………

  • 使用 Markdown 尽情发挥吧。

部署上传更新

安装部署当工具

  • 打开终端,进入博客文件目录:
  • 安装部署当工具:npm install hexo-deployer-git --save。等待完成。
    预览Git

修改配置文件

  • 进入博客文件目录找到 _config.yml 文件打开,找到 deploy 部分,更改配置:
    1
    2
    3
    4
    5
    type: git
    repo:
    github: < Github 地址 >
    coding: < Coding 地址 >

  • Coding 可以不使用,笔者的博客是双部署,GitHub,Coding 同时部署,看各位喜好。
  • 输入:hexo clean && hexo g && hexo d,等待部署完成:
    部署远程

Hexo,命令的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
hexo help                   # 查看帮助。
hexo init # 初始化目录。
hexo new “postName” # 新建文章。
hexo new page “pageName” # 新建页面。
hexo generate # 生成网页, 可以在public目录查看整个网站的文件。
hexo server # 本地预览,预览地址 : http://localhost:4000/,'Ctrl+C'关闭。
hexo deploy # 部署.deploy 目录。
hexo clean # 清除缓存,建议每次执行命令前先清理缓存。
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
# 清理,生成网页,发布
hexo clean && hexo g && hexo d


Tips

  • skip_render: 跳过指定文件的渲染,您可使用 glob 表达式来匹配路径,(可以理解为不需要 hexo 模板的样式,可以自己写 html 样式)
  • 配置方法如下:
  • 单个文件夹下全部文件:skip_render: docs/
  • 单个文件夹下指定类型文件:skip_render: docs/*.html
  • 单个文件夹下全部文件以及子目录:skip_render:docs/
  • 多个文件夹以及各种复杂情况:
    1
    2
    3
    4
    skip_render:
    - ‘docs1/*.html’
    - ‘docs1/**’

  • docs 路径问题,docs 应在 source 目录下