如何用 windows+github搭建一个优美的hexo博客
1.Hexo简单介绍
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
- 风一般的速度
Hexo基于Node.js,支持多进程,几百篇文章也可以秒生成。 - 流畅的撰写
支持GitHub Flavored Markdown和所有Octopress的插件。 - 扩展性
Hexo支持EJS、Swig和Stylus。通过插件支持Haml、Jade和Less.
总之有个动态背景图啥 特别好管理 也非常的优美
展示地址:
Hexo演示地址
2.Hexo安装
2.1 安装准备与环境
Git是为了方便管理代码啊 github for windows也可以
2.2 本地搭建
配置github仓库
- 登陆你的github账号
创建你的github库, 注意命名规则: 你取的名字.github.io
```  
2. 然后克隆到本地 地址如下

在你想要放置仓库的文件 点击右键 git bash here 前提是安装好了git
或者使用github for windows也行 ```javascript
git clone 你的仓库地址
```

#### 安装初始化Hexo
3. 安装Hexo
在刚clone完的git bash界面输入命令<br>
```javascript
npm install -g hexo
``` <br>
cmd也行 安装完毕 输入命令 ```javascript
hexo version
```
查看安装是否成功  4. 初始化 Hexo
输入命令 <br>
```javascript
hexo init
```
初始化 完成hexo的创建
5. 安装hexo相关插件到我们的博客目录下 这里是调用的node.js,命令如下<br>
`npm start`<br>
```javascript
hexo s #全程是hexo server
```
下图是完全安装后的文件

## 3. 运行Hexo
1. 安装好hexo后,通过下面代码可以生成静态页面,生成的静态页面存储在public目录下:
<br>
```avascript
hexo g #全称是hexo generate `
```
<br>
2. 运行服务 开启端口
开启预览访问端口(默认端口4000,git bash下 ‘ctrl + c’ 关闭server)输入命令 ```javascript
hexo s #全程是hexo server
``` 下图表示运行成功 可以看到地址 我们访问http://localhost:4000/
,即可看到hexo自带的hello world 页面  至此,hexo已经在本地搭建完成。 ## 4. 配置主题 hexo默认使用的是landscape主题,下文将采用NexT主题。
Next主题目前是最好看最流行的
想更换主题的可以参考: [有哪些好看的 Hexo 主题?](https://www.zhihu.com/question/24422335)
### 安装主题
将next的代码clone到项目中,保存在github仓库中的`themes/next`目录下: ```javascript
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
``` ### 修改配置
1. 修改根目录下的_config.yml配置文件: 新建的hexo文件中使用的是默认的主题landscape,将其修改为next(next为主题安装的目录名`themes/next`)
2. 修改后运行输入命令 ```javascript
hexo server -g #为`hexo generate`及`hexo server`的缩写
``` 然后浏览器访问就可以看到我们变化的主题啦
 ### 设置主题
- 添加我们的个人介绍
修改根目录下配置文件**_config.yml **
头像的地址也在这儿设置
通过avatar字段设置,站点外头像设置avatar:图片url,站点内头像设置avatar:目录/图片名.图片格式 在根目录下的_config.yml文件中,添加avatar字段:

NexT 通过 Scheme 提供主题中的主题。 Mist 是 NexT 的第一款 Scheme。启用 Mist 仅需在 主题配置文件 中将 #scheme: Mist 前面的 # 注释去掉即可。

修改`themes/next`目录下的_config.yml文件:
### 添加首页的标签栏 1. 添加标签栏
```javascript
hexo new page tags
``` 修改刚创建的tags文件夹(**github仓库目录\source\tags**)下的index.md文件:

在`themes/next`目录下的_config.yml文件中,将 menu关键字 中 about 前面的注释去掉即可
2. 添加分类 ```javascript
hexo new page categories
```
修改刚创建的categories文件夹(**github仓库目录\source\categories**)下的index.md文件
3. 添加About 界面 ```javascript
hexo new page about
在themes/next目录下的_config.yml文件中,将 menu关键字 中 about 前面的注释去掉即可
同类型的操作还有配置 sitmap 和错误的404界面
- 404界面
腾讯公益404页面使用方法,新建 404.html 页面,放到主题的 source 目录下(themes/next/source),内容如下
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8;"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="robots" content="all" />
<meta name="robots" content="index,follow"/>
</head>
<body> <script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="your site url " homePageName="回到我的主页"></script> </body>
</html>
界面美化
添加github绶带
获取源码后,修改arsense.github.io\themes\next\layout目录下的_layout文件:
将绶带的代码,添加在上方即可。
完成以上步骤后,运行效果:
添加RSS
输入命令
npm install --save hexo-generator-feed
修改根目录下配置文件_config.yml
在themes/next目录下的_config.yml文件中,
添加
# Set rss to false to disable feed link.
# Leave rss as empty to use site's feed link.
# Set rss to specific value if you have burned your feed already.
rss: /atom.xml
修改底部的#为标签
修改模板
/themes/next/layout/_macro/post.swig,搜索 rel="tag">#,
将 # 换成<i class="fa fa-tag"></i>
文章底部添加本文结束
在路径 \themes\next\layout_macro 中新建 passage-end-tag.swig 文件,并添加以下内容:
div>
{% if not is_index %}
<div style="text-align:center;color: #ccc;font-size:14px;">-------------本文结束<i class="fa fa-paw"></i>感谢您的阅读-------------</div>
{% endif %}
</div>
接着打开\themes\next\layout_macro\post.swig文件,在post-body 之后, post-footer 之前添加如下画红色部分代码(post-footer之前两个DIV):
<div>
{% if not is_index %}
{% include 'passage-end-tag.swig' %}
{% endif %}
</div>
然后在themes\next打开配置文件(_config.yml),在末尾添加:
上传github
这里我们已经基本大功告成
hexo clean
hexo generate
hexo deploy
输入命令即可部署hexo到github 上
在里面的末尾添加:(请注意在冒号后面要加一个空格,不然会发生错误!)
看URL访问
番外篇
hexo常用命令
hexo命令
常用命令:
hexo new “postName” #新建文章
hexo new page “pageName” #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,’ctrl + c’关闭server)
hexo deploy #将.deploy目录部署到GitHub
常用复合命令:
hexo deploy -g
hexo server -g
简写:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
参考文章
如何用 windows+github搭建一个优美的hexo博客的更多相关文章
- Jekyll + Github 搭建属于你的静态博客
1. 搭建Jekyll环境 linux下jekyll的安装非常简单,这里主要讲一下windows下的jekyll的安装过程 这是一台刚刚装完系统的win10系统,它什么都没有,让我们从零开始. 1.1 ...
- 初学者入门:使用WordPress搭建一个专属自己的博客
体验简介 阿里云云起实验室提供相关实验资源,点击前往 场景将提供一台基础环境为CentOS 的ECS(云服务器)实例,这台服务器上已经内置LAMP环境.我们将会在这台服务器上安装 WordPress ...
- 使用GitHub Actions自动编译部署hexo博客
前言 使用hexo博客也挺久的,最开始是本地hexo clean && hexo g,最后hexo d推送到服务器.后来是本地hexo clean && hexo g, ...
- 快速搭建一个自己的个人博客(Github Pages~二次元主题)
前言 本次的一个布局技术都写的非常详细了,只要按着来就行,不过,先说明本次主题为二次元主题. 如果真的喜欢本主题的不妨可以试一试(==建议跟据目录来看==) 在很久很久以前.... 嘛,就在前不久我正 ...
- 【ghost初级教程】 怎么搭建一个免费的ghost博客
ghost博客系统无疑是这个月最火热的话题之一,这个号称”只为博客“的系统,早在项目开始之初就受到了众人的关注.它使用了当前最火热node.js技术,10月14日发布了V0.3.3版本.江湖传言它将是 ...
- 搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客
1.安装 Git 和 nodejs https://hexo.io/zh-cn/docs/
- 在Github上面搭建一个自己域名的Hexo博客
前言 在一次看到别人的博客主页,觉得设计很漂亮.但是由于自己对于前台这块没什么办法,煞是羡慕.偶然中发现这种样式是在Github上面搭建的,使用的是Next主题.于是便想自己也搭建一个,于是便去就去查 ...
- 在Github上面搭建Hexo博客(一):部署到Github
什么是Hexo Hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在Github和Heroku上.并且有很多人为其制作了很多优秀的主题(theme),你可以根据自己的喜好进行设 ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
随机推荐
- 【转】C#日期时间格式化
源地址:https://www.cnblogs.com/polk6/p/5465088.html
- 快速排序(一) 思想 JAVA实现
已知数组59.71.37.56.88.96.21.58.48.43 采用快速排序将数组有序. 快速排序同样采用了“分治策略”,使用递归的思路来实现算法. 快速排序的算法思想: 9.71.37.56.8 ...
- 条目十二《切勿对slt容器的线性安全性又不切实际的依赖》
条目十二<切勿对slt容器的线性安全性又不切实际的依赖> 这一条目,我想用简短而有力的语句来总结. stl库是为了照顾大多数情况,而不是某一领域,如果在库层次实现线性安全,很大可能是对性能 ...
- jmeter 正则表达式的关联
在工作中,用JM录制了登录---退出的脚本,但是多次请求后发现,总是返回的录制脚本的时候使用的账号的数据. 经过研究发现,login后,响应里的每次返回的token值是变化的,顺着往下看,下一个请求中 ...
- Docker 安装Hadoop集群
资源准备:jdk1.8及hadoop2.7.3 链接:https://pan.baidu.com/s/1x8t1t2iY46jKkvNUBHZlGQ 提取码:g1gm 复制这段内容后打开百度网盘手机A ...
- docker 安装 redis
docker拉去镜像以及配置生成容器的步骤几乎和之前的nginx安装一样,直接写下面的命令了 1. docker pull redis 2. docker run -p 6379:6379 -v /U ...
- JS 节点的属性 与 元素
节点的属性{ nodeType 是节点的类型: nodeNam 是节点的名字 nodeValue 节点的值 }可以用节点.属性 取得三个属性的值 节点.nodeType 出来的 ...
- PHP 生成随机数组
/** 生成指定个数,以及最小最大值随机数组(包括最大值) * @parem $min 随机数组最小值 * @parem $max 随机数组最大值 * @parem $num 随机数组个数,默认max ...
- HDU6470 ()矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:f[n] = f[n-1] + f[n-2]*2 + n^3; f[1] =1 ; f[2] = 2 ...
- ZOJ - 1539 记忆化搜索
注意不要仅搜DP(1e7),因为这不是线性的 #include<iostream> #include<algorithm> #include<cstdio> #in ...