文章目录
  1. 1. 写在前面
  2. 2. 1.环境配置
    1. 2.1. 安装Node
    2. 2.2. 安装Git
    3. 2.3. 申请Github
    4. 2.4. 正式安装HEXO
    5. 2.5. 初始化
    6. 2.6. 生成静态页面
    7. 2.7. 本地启动
    8. 2.8. 配置Github
  3. 3. 配置SSH keys
  4. 4. vim编辑器的基本操作指令见下面
  5. 5. 问题
  6. 6. 参考

写在前面

之前懒,没好好整理blog搭建的步骤,因为打算挪窝,也把博客迁移到另一台机器上,所以有了下面的文章,前面和通常搭建的blog的步骤大同小异,这次迁移遇到两个问题1.npm版本冲突,高版本到低版本 2.重新链接远程仓库 都一一解决,特此记录.

1.环境配置

安装Node

作用:用来生成静态页面的 到Node.js官网下载相应平台的最新版本,一路安装即可。

安装Git

作用:把本地的hexo内容提交到github上去. 安装Xcode就自带有Git

申请Github

作用:是用来做博客的远程创库、域名、服务器之类的,怎么与本地hexo建立连接等下讲。 github账号 ,没有的话直接申请就行了,跟一般的注册账号差不多,SSH Keys配置下面单独讲解,如果没有配置SSH keys ,每次提交博客都需要输入账号密码进行验证。

正式安装HEXO

Node和Git都安装好后,可执行如下命令安装hexo:终端输入:

1
sudo npm install -g hexo

初始化

创建一个文件夹,如:Blog,cd到Blog里执行hexo init的。命令:

1
hexo init

生成静态页面

继续再Blog目录下执行如下命令,生成静态页面

1
hexo g   #注释:g -->generate

本地启动

启动本地服务,进行文章预览调试,命令

1
hexo s #注释: s-->server

浏览器输入http://localhost:4000 ,进入本地预览,
结束预览:

1
Ctrl+C

配置Github

建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】,固定写法 然后建立关联,我的Blog在本地,Blog是我之前建的东西也全在这里面,有

20170320149000732118363.jpg

现在我们需要_config.yml文件,来建立关联,命令:

1
vim _config.yml  #vim编辑器的基本操作指令见下面

翻到最下面,改成我这样子的,注意: : 后面要有空格

deploy:
type: git
repository: https://github.com/lizhaojie001/lizhaojie001.github.io
branch: master

或者


deploy:
type: git
repo: git@github.com:lizhaojie001/lizhaojie001.github.io.git
branch: master

下面附上 我自己的_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
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: 严青的博客
subtitle: 记录学习
description: 走着走着就走丢了
author: 严青
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://lizhaojie001.github.io/
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
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
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
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: 0
pagination_dir: page

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: jacman

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:lizhaojie001/lizhaojie001.github.io.git
branch: master

配置SSH keys

前面的环境和基本设置完成了,如何把本地的文章同步到GitHub仓库呢,下面介绍SSH keys的使用,当然这也不是必须的,除非你希望每次同步的时候同输入账号密码

1.检查SSH keys的设置

首先我们需要检查你电脑上现有的ssh key:

1
cd ~/. ssh #检查本机的ssh密钥

可能看到的结果有两种:

  • Permission denied (publickey). fatal: The remote end hung up unexpectedly

  • 一个钥匙名字(猜测,因为我的mac系统没有,不排除你的有)

第二种情况比较好解决,先看第一种情况

密钥就是你访问GitHub那把说的钥匙,(这话听别扭的),GitHub就想把,密钥就是对应的钥匙,你有钥匙,GitHub也应该有同样的钥匙,这样他才能进行对比,判断你是不是你.(更饶了).


前提

  • 本地有一份密钥
  • GitHub有一份密钥

  1. 制作密钥

    1
    ssh-keygen -t rsa
  2. 复制 public key (id_rsa.pub)的内容 到你账户的 list of SSH keys

    1
    cat id_rsa.pub

密钥大概是这个样子的
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXAmlp0EmrRqiKm0l0Bo2Bm8VmXcY5NYj/9wHLfBGbIGEefV//rZzX0fwc2V1w9SKgSoACgiGBB/gH9EjkI32goapG/kOLlA0KU2VX/mxbFc8qNq9hsuCz9eVAzRgzJvQK6qUeZNd0ciJXVyl/q92k1tXqeAvvGFDdvaCdU3qx9cdI/DjFehRJcy3rLIUWSSHnDH4RNDldOCA7EBaO2WOXbH10SWqS5TS6213KPuPX6OQ6gK+brvwWJ/Jlrwq4RSo8cwmdaXFNnkrT+su4/tzGlG6zJIeUywwnx9cNSEWqcqg6Rl7PTsRBv+dfhoasfqcermITiRLr0goJbQwpxYXWjUL8G61 yanqing@yanqingdeiMac.local
为了防止有人使坏,我改变了其中的内容,切勿使用,每个机器生成的密钥是不同的

至此,你就可以同步你的本地到GitHub了,并且发布你的博客.

接下来会讲解一些关于更改域名的知识,
毕竟像GitHub给的lizhaojie001.github.io这样的域名一点也不个性化.

vim编辑器的基本操作指令见下面

i 进入编辑模式
Esc 退出编辑模式
: 进入命令航模式
w 保存编辑
q 退出编辑器

问题

1.关于node版本冲突的问题

产生原因,博客迁移,node版本不同

1
sudo npm install hexo-cli -g

2.密钥每次都要输入密码,暂时未解决

已解决…在设置的时候可以不设置密码的,,,,没仔细看说明

参考

https://segmentfault.com/q/1010000006788195

http://blog.csdn.net/xzz_hust/article/details/8969090

个性化博客,域名绑定

文章目录
  1. 1. 写在前面
  2. 2. 1.环境配置
    1. 2.1. 安装Node
    2. 2.2. 安装Git
    3. 2.3. 申请Github
    4. 2.4. 正式安装HEXO
    5. 2.5. 初始化
    6. 2.6. 生成静态页面
    7. 2.7. 本地启动
    8. 2.8. 配置Github
  3. 3. 配置SSH keys
  4. 4. vim编辑器的基本操作指令见下面
  5. 5. 问题
  6. 6. 参考