技术小白搭建个人博客 github+hexo
本文主要讲解博客的搭建过程,next主题优化,next配置文件详解等。
不做过多介绍了,快速开始
准备安装软件
依次安装
1、Node.js
2、Git
注册github
访问https://github.com/ 右上角signup
uername 最好都用小写,因为最后建立的博客地址是:http://username.github.io;邮箱十分重要,GitHub 上很多通知都是通过邮箱的。
创建Repository
Repository 名字应该是http://username.github.io。比如我的username 就是wumansgy
其他的可以选择添加一些描述也可以选择默认什么也不添加 ,点击creat repository
配置和使用Github
开始—所有应用—找到git bash
配置SSH keys
ssh keys就是用来使本地git 项目与github联系
1. 检查SSH keys的设置
首先要检查自己电脑上现有的 SSH key:
1 | $ cd ~/. ssh |
如果显示“No such file or directory”,说明这是你第一次使用 git
2、生成新的 SSH Key:
1 | $ ssh-keygen -t rsa -C "邮件地址@youremail.com" |
【提示1】这里的邮箱地址,输入注册 Github 的邮箱地址;
【提示2】「-C」的是大写的「C」
然后系统会要你输入密码:
1 | Enter passphrase (empty for no passphrase):<设置密码> |
在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。
注意:输入密码的时候没有输入痕迹的,不要以为什么也没有输入。
最后看到这样的界面,就成功设置ssh key了:
3、添加SSH Key到GitHub
在本地文件夹找到id_rsa.pub文件,看上面的图片第四行的位置告诉你存在哪里了
没找到的勾选一下文件扩展名 隐藏的项目
.ssh文件夹里记事本打开这个文件复制全部内容到
github相应位置。不要着急…(记得期末考试复习概率论看汤家凤老师的视频时老师的口头禅…)
你的github主页
点击头像后边的箭头(为什么我每次想要上传头像都没反应呢?希望有知道的小伙伴能看到告诉我一下)
Title最好写,随便写。网上有说不写title也有可能后期出现乱七八糟的错误
Key部分就是放刚才复制的内容啦 点击Add SSH key
测试
git bash 里
输入以下代码 不要改任何一个字 我就是自作聪明以为代表的是自己注册时候的邮箱然后…
1 | $ ssh -T git@github.com |
如果得到以下反馈
1 | The authenticity of host 'GitHub.com (207.97.227.239)' can't be established. |
输入yes回车
1 | Enter passphrase for key '/c/Users/lenovo/.ssh/id_rsa': |
输入刚才设置的密码回车
设置用户信息
现在已经可以通过 SSH 链接到 GitHub 啦!当然还需要完善一些个人信息:
1 | $ git config --global user.name "wuyalan"//输入注册时的username |
GitHub 也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的,名字必须是你的真名,而不是GitHub的昵称。
SSH Key配置成功
本机已成功连接到 github。
如有问题,请重新设置。常见错误请参考:
搭建hexo博客
利用npm命令安装hexo
1 | $ cd |
1. 创建独立博客项目文件夹
安装完成后,关掉前面那个 Git Bash 窗口。在本地创建一个与 Repository 中博客项目同名的文件夹(如E:[http://username.github.io])在文件夹上点击鼠标右键,选择 Git bash here;
【提示】在进行博客搭建工作时,每次使用命令都要在 H:[http://username.github.io] 目录下。
执行下面的指令,Hexo 就会自动在 H:[http://username.github.io]文件夹建立独立博客所需要的所有文件啦!
1 | $ hexo init |
2. 安装依赖包
1 | $ npm install |
3. 确保git部署
1 | $ npm install hexo-deployer-git --save |
4.本地查看
现在已经搭建好本地的 Hexo 博客了,执行完下面的命令就可以到浏览器输入 localhost:4000 查看到啦
1 | $ hexo g |
hexo g 每次进行相应改动都要hexo g 生成一下
hexo s 启动服务预览
5. 用Hexo克隆主题
执行完 hexo init 命令后会给一个默认的主题:landscape
你可以到官网找你喜欢的主题进行下载 hexo themes 知乎:有哪些好看的 Hexo 主题?
找到它所在的 Github Repository (怎么找,我喜欢的那个,恰好博主放了他的github地址,emmm)
找到之后通过git命令下载
在主题的repository点击clone 复制一下那个地址
1 | $ git clone +复制的地址+themes/archer |
后面就是clone之后放到你本地的博客文件夹themes文件夹下 名字纹archer的文件 我下载的是archer主题~(有喜欢同样的小伙伴在个性化自己主题的时候欢迎来交流一下呀~真的是技术小白~还没研究清楚要怎么改,不过主题作者也会在readme说明的,细心看就是)
6. 修改整站配置文件
自己把 http://blog.io 中文件都点开看一遍,主要配置文件是 _config.yml ,可以用记事本打开,推荐使用 sublime 或者nodepad++打开。
修订清单如下,文档内有详细注释,可按注释逐个修订
博客名字及作者信息:_config.yml
个人介绍页面:about.md
代表作页面:milestone.md
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这里贴一份网上看到的 可以复制替换原来的 但是替换之前最好备份 可能会出错
那要么你就对照着看一下改就好
# Hexo Configuration
## Docs: http://zespia.tw/hexo/docs/configure.html
## Source: https://github.com/tommy351/hexo/
# Site 这里的配置,哪项配置反映在哪里,可以参考我的博客
title: My Blog #博客名
subtitle: to be continued... #副标题
description: My blog #给搜索引擎看的,对网站的描述,可以自定义
author: Yourname #作者,在博客底部可以看到
email: yourname@yourmail.com #你的联系邮箱
language: zh-CN #中文。如果不填则默认英文
# URL #这项暂不配置,绑定域名后,欲创建sitemap.xml需要配置该项
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
tag_dir: tags
archive_dir: archives
category_dir: categories
# Writing 文章布局、写作格式的定义,不修改
new_post_name: :title.md # File name of new posts
default_layout: post
auto_spacing: false # Add spaces between asian characters and western characters
titlecase: false # Transform title into titlecase
max_open_file: 100
filename_case: 0
highlight:
enable: true
backtick_code_block: true
line_number: true
tab_replace:
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Archives 默认值为2,这里都修改为1,相应页面就只会列出标题,而非全文
## 2: Enable pagination
## 1: Disable pagination
## 0: Fully Disable
archive: 1
category: 1
tag: 1
# Server 不修改
## Hexo uses Connect as a server
## You can customize the logger format as defined in
## http://www.senchalabs.org/connect/logger.html
port: 4000
logger: false
logger_format:
# 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-M-D
time_format: H:mm:ss
# Pagination 每页显示文章数,可以自定义,贴主设置的是10
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Disqus Disqus插件,我们会替换成“多说”,不修改
disqus_shortname:
# Extensions 这里配置站点所用主题和插件,暂时默认
## Plugins: https://github.com/tommy351/hexo/wiki/Plugins
## Themes: https://github.com/tommy351/hexo/wiki/Themes
theme: landscape
exclude_generator:
plugins:
- hexo-generator-feed
- hexo-generator-sitemap
# Deployment 站点部署到github要配置
## Docs: http://zespia.tw/hexo/docs/deploy.html
deploy:
type: git
repository:
branch: master
7. 启用新下载的主题
在刚打开的的_config.yml 文件中,找到“# Extensions”,把默认主题 landscape 修改为刚刚下载下来的主题名:
【提示】http://username.github.io 里有两个 config.yml 文件,一个在根目录,一个在 theme 下,现在修改的是在根目录下的。
8. 更新主题
git bash 里执行
1 | $ cd themes/主题名 |
9. 本地查看调试
每次修改都要hexo g 生成一下
1 | $ hexo g #生成 |
浏览器输入
localhost:4000 预览效果
将博客部署到http://username.github.io
1. 复制SSH码
进入 Github 个人主页中的 Repository,复制新建的独立博客项目:http://username.github.io 的 SSH 码
2. 编辑整站配置文件
打开 H:\username.github.io_config.yml,把刚刚复制的 SSH 码粘贴到“repository:”后面,别忘了冒号后要空一格。
1 | deploy: |
3. 执行下列指令即可完成部署。
【提示】每次修改本地文件后,需要 hexo g 才能保存。每次使用命令时,都要在你的博客文件夹目录下
1 | $ hexo g |
(ps:我在第一次hexo d 的时候出现了错误,具体错误提示忘了,原因是我没有deploy 的权限
在repository的setting
(这里我有一点小疑惑 为什么delete不了这个公钥呢,我想要delete是因为第一次设置时没有勾选 ..如下
emm里面的内容就是重复配置SSH key的步骤,记得勾选这个小框框,我就是没有勾选设置之后还是没有deploy成功
)
因为我看到的教程里大多数没有讲这一部分,所以我也不确定这一步是否必须,如果有遇到相同问题的小伙伴可以参考
)
【提示】如果在配置 SSH key 时设置了密码,执行 hexo d 命令上传文件时需要输入密码进行确认,会出现一个小框框。
输入密码之后在浏览器输入:
如果得到你想要的效果,那么恭喜你,博客已经搭建好啦!
允许你偷偷激动一下…哈哈哈
之后就是写博文了,我还没开始…要好好写博客好好写博客
你看技术大神们哪个没有自己的优秀博客。
不懂技术的小伙伴也可以在自己的小天地写文,很爽又很有逼格是不是~
我的博客地址:进入
next主题使用及优化
启用主题
与所有 Hexo 主题启用的模式一样。 当 克隆/下载 完成后,打开 站点配置文件, 找到 theme
字段,并将其值更改为 next
。
启用 NexT 主题
1 | theme: next |
到此,NexT 主题安装完成。下一步我们将验证主题是否正确启用。在切换主题之后、验证之前, 我们最好使用 hexo clean
来清除 Hexo 的缓存。
选择 Scheme
Scheme 是 NexT 提供的一种特性,借助于 Scheme,NexT 为你提供多种不同的外观。同时,几乎所有的配置都可以 在 Scheme 之间共用。目前 NexT 支持三种 Scheme,他们是:
- Muse - 默认 Scheme,这是 NexT 最初的版本,黑白主调,大量留白
- Mist - Muse 的紧凑版本,整洁有序的单栏外观
- Pisces - 双栏 Scheme,小家碧玉似的清新
Scheme 的切换通过更改 主题配置文件,搜索 scheme 关键字。 你会看到有三行 scheme 的配置,将你需用启用的 scheme 前面注释 #
去除即可。
选择 Pisces Scheme
1 | #scheme: Muse |
设置 语言
编辑 站点配置文件, 将 language
设置成你所需要的语言。建议明确设置你所需要的语言,例如选用简体中文,配置如下:
1 | language: zh-CN |
Local Search
添加百度/谷歌/本地 自定义站点内容搜索
- 安装
hexo-generator-searchdb
,在站点的根目录下执行以下命令:
1 | $ npm install hexo-generator-searchdb --save |
- 编辑 站点配置文件,新增以下内容到任意位置:
1 | search: |
- 编辑 主题配置文件,启用本地搜索功能:
1 | # Local search |
文章模块的美化
文章内代码美化
- 行内代码
在主题目录下,将source/css/_custom/custom.styl
文件修改如下:
1 | //行内代码样式 |
- 区块代码
在主题目录下,修改config.yml
文件:
1 | # 样式可选: normal | night | night eighties | night blue | night bright |
文章结束语
- 添加模块文件
在主题目录下layout/_macro
中新建 passage-end-tag.swig
文件,并添加以下内容:
1 | <div> |
- 导入模板文件
在layout/_macro/post.swig
文件中,找到:
1 | {#####################} |
在上面代码之前添加:
1 | <div> |
- 配置
在主题配置文件中添加:
1 | # 文章末尾添加“本文结束”标记 |
增强文章底部版权信息
- 增加文章md文件的头部信息中添加
copyright: true
时,添加版权声明 - 增加文章标题、发布时间、更新时间等信息
在目录 next/layout/_macro/下
添加 my-copyright.swig
:
1 | {% if page.copyright %} |
在目录next/source/css/_common/components/post/
下添加my-post-copyright.styl
:
1 | .my_post_copyright { |
修改next/layout/_macro/post.swig
,在代码
1 | {#####################} |
之前添加增加如下代码:
1 | <div> |
修改next/source/css/_common/components/post/post.styl
文件,在最后一行增加代码:
1 | @import "my-post-copyright" |
保存重新生成即可。
微信:sgsgy5
qq:869087033
欢迎交流,搭建走了很多坑。 友情链接