hexo入门【windows】

hexo文档

本文只介绍hexo在windows系统的使用
更多的内容可以阅读hexo官方文档

安装

  1. 安装 git
    下载地址:gitforwindows 或者 git-scm
    安装成功后,在任意位置右键,找到Git Bash Here点击即可进入git命令行模式

以后的命令都推荐使用git命令行模式

  1. 安装 nodejs
    下载地址:nodejs , 选择windows的LTS版本

  2. 安装Hexo

    1
    npm install -g hexo-cli

重要命令

init:初始化网站

1
hexo init my-hexo-site

my-hexo-site文件夹就是你的hexo站点文件夹,所有的相关文件都在这里

new:新建文章

1
2
hexo new [layout] <title>                       # title为文章标题
hexo new "post title with whitespace" # 标题包含空格要用引号括起来

如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替,默认是 post。
除了post类型外,一般有用的还有page类型
post类型的文章会生成在source/_posts目录下,可以用markdown的语法编辑文章

generate:生成静态文件

1
2
hexo generate         # 可简写为 hexo g
hexo g -d # 文件成后立即部署网站

server:启动服务器

1
hexo server           # 可简写为 hexo s

默认情况下,访问网址为: http://localhost:4000/

deploy:部署网站

1
2
hexo deploy           # 可简写为 hexo d
hexo d -g # 部署之前预先生成静态文件

clean:清除缓存和静态文件

1
hexo clean            # 没有简写。。。

在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。

目录结构

_config.yml

主配置文件

package.json

应用程序信息

scaffolds

模板文件夹
当您新建文章时,Hexo 会根据 scaffold 来建立文件。

source

_posts文件夹之外,开头命名为_(下划线)的文件 / 文件夹和隐藏的文件将会被忽略。
Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

themes

主题文件夹。Hexo 会根据主题来生成静态页面。
注:先进版本的hexo会把主题文件夹放在node_modules下面,一般不去改变主题文件夹的任何内容

重要配置

主配置文件 _config.yml

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
keywords 网站的关键词。支持多个关键词。
author 你的名字
language 网站使用的语言。
timezone 网站时区。Hexo 默认使用您电脑的时区。
url 网址, 必须以 http:// 或 https:// 开头(本地,github,自己域名)

重要概念

Front-matter

Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量,举例来说:

1
2
3
4
---
title: Hello World
date: 2021/10/31 20:46:25
---

常见的参数有tags,categories,comments等等
这个特性[hexo主题next进阶应用]- 添加标签和分页 有用到

标签插件(Tag Plugins)

标签插件和 Front-matter 中的标签不同,它们是用于在文章中快速插入特定内容的插件。
虽然你可以使用任何格式书写你的文章,但是标签插件永远可用,且语法也都是一致的。
更多内容详见Hexo 标签插件

资源文件夹

资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。
更多内容详见Hexo 资源文件夹

数据文件

一般用于自定义的文件,目录是source/_data
这个特性[hexo主题next进阶应用] - 自定义文件 有用到

部署到Github

  1. 在github上 创建 [username].github.io 仓库,username是你的github用户名

  2. 将本地的id_rsa.pub文件(一般在C:\Users\[user]\.ssh下)内容复制到settings的 Deploy keys。
    如果没有,则在git bash里用命令行生成ssh-keygen -t rsa -C "youremail"

  3. 在github上settings-> Developer settings -> Personal access tokens,生成个人访问密令
    并记录,用于本地远程发布github代码,hexo部署代码的时候需要用到

  4. 修改hexo的_config.yml配置文件

    1
    2
    3
    4
    deploy:
    type: git
    repo: https://github.com/[username]/[username].github.io.git
    branch: master

    以上的username需替换为自己的github用户名

  5. 命令行一键部署

    1
    2
    hexo clean && hexo g
    hexo d

    首次部署一般会出现github需要你输入的个人访问密令,将上面的密令输入即可,密码登录是无效的。
    此时,等待github发布即可访问https://[username].github.io

绑定个人域名

  1. 个人域名指向[username].github.io
    本人的域名是在腾讯云买的,所以在腾讯云的后台找到自己的域名管理页面解析域名。
    添加两个域名解析

    1
    2
    @ CNAME 185.199.110.153               # 185.199.110.153是github的ip,第三段108-111任选一个
    www CNAME [username].github.io # 访问域名会指向[username].github.io

    等待记录生效即可
    同时可以申请免费的ssl证书,使域名可以使用https

  2. github上绑定个人域名
    你的[username].github.io仓库->settings->pages,在custom domain里输入你的域名后保存,同时开启Enforce https。
    注意上面的域名不要写http://https://,例:www.xxx.cnxxx.top
    此时,你的github仓库会增加一个CNAME文件,内容就是填入的域名
    当你访问自己的域名不管前面加不加www,都会跳转到这个CNAME文件设置的域名。

  3. 创建CNAME文件
    第一次一键部署的时候,需要在hexo站点中增加一个CNAME文件,否则可能每次都需要重复步骤2。
    在站点目录的source下,新建CNAME文件,填入步骤2的域名即可

  4. 命令行一键部署

    1
    2
    hexo clean && hexo g
    hexo d

发布成功后,你可以通过访问个人域名浏览hexo的内容了。