准备工作

  • 1、安装git (自己搞定)
  • 2、配置 git
  • 3、生成密匙:

    • 3.1、填写你github注册并且验证的邮箱

      1
      git config –global user.email “xxx@qq.com“
    • 3.2、github 用户名

      1
      git config –global user.name “xxxx”
    • 3.3、ssh-keygen

      1
      2
      3
      4
      Generating public/private rsa key pair.
      Enter file in which to save the key (/home/logan/.ssh/id_rsa):/home/username/.ssh/id_rsa already exists.

      Overwrite (y/n)?

      因为我已经生成过了所以提示,一直回车即可,打开用户目录下的 .ssh 目录下面生成 id_rsa(私钥) id_rsa.pub(公钥)两个文件,打开id_rsa.pub,复制里面的内容,到github。

    • 3.4、测试

      1
      ssh -T git@github.com

      输出 You’ve successfully authenticated 表示添加 key 成功。

一、注册 github账号

GitHub

二、建仓库

  • 1、新建仓库
  • 2、填写仓库名,创建仓库,用于放网站
  • 3、开启github pages
  • 4、开启 github pages
  • 5、再建一个仓库用于放文章、配置。 这个仓库名字随意,比如:blog

三、创建本地仓库

准备工作:

  • 1、找一个目录来作为你本地的仓库,比如我的是”~/blog”,那么就在gblog文件夹下初始化仓库,将第二步中创建的放网站的仓库clone到该文件夹中。
  • 2、git clone xxx.git

四、安装node

  • 1、brew install node

  • 2、查看版本

    1
    node -v

五、安装hexo

  • 1、安装
    1
    npm install hexo -g

全局安装hexo,可能需要3分钟 出现warn警告信息不用管。

  • 2、更新
    1
    npm update hexo -g

因为Hexo 3.0 把服务器独立成了个别模块,您必须先安装才能使用。

  • 3、安装服务
1
npm install hexo-server –save
  • 4、保存

    1
    npm install hexo-deployer-git –save
  • 5、初始化hexo(在git clone的当前文件夹)

    • 5.1、创建一个文件夹,初始化hexo cd hexo

      1
      mkdir hexo
    • 5、2、初始化 hexo 文件夹 成功就会提示

      1
      hexo init

      当你看到Start blogging with Hexo! 恭喜!框架就已经搭建好了

  • 6、启动

1
hexo server

IMAGE

然后访问http://localhost:4000/,就能看到自己博客的雏形了。

  • 7、hexo文件夹的作用:

    hexo/_config.yml #这个是hexo 配置文件
    hexo/.deploy_git/ # 这个目录下面存放的是hexo 自带的git 配置
    hexo/node_modules/ # hexo 需要的node js 模块
    hexo/.npmignore # 文件里面存放的是npm需要忽略的文件
    hexo/package.json # node.js 的配置文件
    hexo/public/ # 存放要生成的静态网页
    hexo/scaffolds/ # 生成文档的格式,用于 hexo new 命令 默认是post格式
    hexo/source/ # 存放hexo new 生成的源文件,我们写的博客就是在这里
    hexo/themes/ # hexo 的主题 都在这里面。

  • 8、hexo相关命令

    1、hexo new [layout] “file_name” # 新建 file_name 文章
    2、hexo new 文章名字 会创建个file_name.md 的文档
    3、里面有一些默认的格式,文档的路径 hexo/source/_posts/
    4、layout 默认的是post 即scaffolds里面的的post文件
    5、不写就是默认的,layout 可以自己配置
    6、hexo generate # 生成静态文档,将文章生成为博客的一部分,可简写为 hexo g
    7、hexo generate # 生成静态文档,将文章生成为博客的一部分,可简写为 hexo g
    8、hexo server //本地预览(非必须), 可简写为 hexo s
    9、hexo deploy //推送到GitHub,可简写为 hexo d

  • 9、hexo配置,配置文件 hexo/_config.yml 根据注释配置自己的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Hexo Configuration

## Docs: https://hexo.io/docs/configuration.html

## Source: https://github.com/hexojs/hexo/

# Site

title: hiekay's blog #网站标题

subtitle: 分享技术的阳光地带 # 副标题

description: Recoding my grow of technology. # 介绍

author: hiekay # 作者

language: zh-CN # 语言

timezone: # 时区

# URL

## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'

url: [https://hiekay.github.io/](https://hiekay.github.io/) # 填写github pages 生成的那个网址就ok

root: /

permalink: :year/:month/:day/:title/

permalink_defaults:

# Directory 目录对应的文件

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 这里也是 写文章相关的默认配置

new_post_name: :title.md # File name of new posts

default_layout: post #默认layout方式

titlecase: false # Transform title into titlecase

external_link: true # Open external links in new tab

filename_case: 0 #将文件名转换为小写或大写,1.小写,2.大写,0.不转换

render_drafts: false # 渲染草稿

post_asset_folder: false # 开启Assert 文件夹

relative_link: false # 相对路径

future: true

highlight: # 代码高亮

enable: true #是否启动

line_number: true # 行号

auto_detect: false # 自动检测语言类型

tab_replace: # tab 键代替几个空格

# Category & Tag 标签和分类

default_category: uncategorized

category_map:

tag_map:

# Date / Time format

## Hexo uses Moment.js to parse and display date

## You can customize the date format as defined in

## http://momentjs.com/docs/#/displaying/format/

date_format: YYYY-MM-DD

time_format: HH:mm:ss

# Pagination

## Set per_page to 0 to disable pagination

per_page: 10

pagination_dir: page

# Extensions

## Plugins: https://hexo.io/plugins/

## Themes: https://hexo.io/themes/

theme: maupassant # 这里配置主题直接写主题的名字就行

# Deployment 我们需要注意就就是这里

## Docs: https://hexo.io/docs/deployment.html

deploy:

- type: git

repo: git@github.com:hiekay/hiekay.github.io.git

# repo 很多人说不会填写,其实很简单,到你的开启github pages的仓库

# 页面,里面有一个 git clone 的git 地址,复制就可以了不会出错

# 最后注意是 git 类型的,不要复制 https 开头的

注意开始的url 和 最后的 deploy 选项,最后配置完成测试一下.