hexo 博客
梦飞扬~
个人网站:Mauger`s Blog
使用Node.js+Hexo+Github搭建个人博客
一、为什么要花时间去搭建个人博客?
首先说说为什么我想要尝试着去搭建属于自己的Blog,古人云:“好记性不如烂笔头”。一开始我把笔记做在本子上、电脑上,发现要用的时候特别地不方便,而且越记越多、越多越杂。于是将其整理到有道云笔记、百度网盘上,还有手机App可以随时记笔记、搜索查看,挺好。后来慢慢发现自己记的笔记其他人又看不到,不能更好地分享与交流,无意间看到《为什么你应该写博客》一文很是激励着我。所以,我注册了CSDN、cnBlogs、Github,希望有自己的个人博客网站并且多向大牛们交流学习。废话不多说,咱们转入正题~
说明:该文章的内容介绍仅限 Windows 用户,Mac 及 Unix/Linux 用户请参考其他资料如:Hexo 文档
个人博客示例: Mauger`s Blog
更新于:2017/12/19 23:21
二、准备工作
1. Git 下载(Git for windows 国内下载)、安装(安装时请勾选Add to PATH选项)、配置、生成SSH公钥
2. Github 账号申请、配置SSH Keys
3. Node.js 下载安装
4. Markdown 下载安装
说明:本想着讲一下详细的下载、安装和配置工作,却发现还是官方文档说明更好,已附上相关链接。
三、HEXO 简介及安装使用
1. Hexo 简介
Hexo 是一个快速、简洁且高效的Node.js静态博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
2. Hexo 安装
我的 Hexo 安装版本为:vs_3.4.3;Node.js 版本为:vs_8.9.3。安装 Hexo 之前请先确保 Git 及 Node.js 安装成功,接下来只需要使用 NPM 即可完成 Hexo 的安装。在计算机的某个盘符下(其他盘符/文件夹下亦可)新建文件夹 blog,进入到文件夹 blog 中使用 Git Bash (在任意位置单击右键,选择 “Git Bash Here” 即可)进行操作如下:
$ npm install -g hexo-cli
Hexo 更新至最新版本,命令如下:
$ npm update hexo -g
3. Hexo 初始化
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init blog
$ cd blog
$ npm install
输入以下命令生成静态页面:
$ hexo generate
新建完成后,指定文件夹的目录如下:
1
2
3
4
5
6
7
8
|
. ├── _config.yml 网站的配置信息,您可以在此配置大部分的参数 ├── package .json 应用程序的信息 ├── scaffolds 模板文件夹 ├── source 资源文件夹,存放用户资源 | ├── _drafts | └── _posts └── themes 网站主题文件夹 |
接着输入命令启动服务:
$ hexo server
打印信息如下表示服务启动成功:
1
2
3
|
$ hexo server INFO Start processing INFO Hexo is running at http: //localhost:4000/. Press Ctrl+C to stop. |
然后在谷歌浏览器中访问:http://localhost:4000/,注意这里不能直接使用快捷键 Ctrl+C 去复制链接,需要单击鼠标右键选择复制或手动输入。注意看打印信息 Press Ctrl+C to stop. 所以你如果随手 Ctrl+C,服务就停了,也就无法访问了。如果操作无误且正确启动服务后仍无法访问,那么请您继续往下看:(四、常见问题及解决方法)
或者(防止80端口被占用,更改端口号)
1
2
3
|
$ hexo s --p 8081 INFO Start processing INFO Hexo is running at http: //localhost:8081/. Press Ctrl+C to stop. |
然后在谷歌浏览器中访问:http://localhost:8081/
4. Hexo 配置(_config.yml 文件)
title 网站标题
subtitle 网站副标题
description 网站描述
author 您的名字
language 网站使用的语言
timezone 网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。 其中,description主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author参数用于主题显示文章的作者。
其他相关详细配置信息请参考:Hexo 配置
5. Hexo 部署至 Github
首先需要在 Github 中新建仓库 new repository 为:【您的 Github 名称.github.io】,如:MaugerWu.github.io。然后修改 _config.yml 配置文件 ,打开文件后找到 deploy: 修改如下:(注意冒号后面有一个空格: )
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: https://github.com/MaugerWu/MaugerWu.github.io.git
branch: master
message:
编辑完成后进行保存,接着安装 hexo-deployer-git,命令如下:
$ npm install hexo-deployer-git --save
等待安装完成以后,执行如下配置命令:
1
|
$ hexo deploy |
重新部署一下,命令如下:
$ hexo clean
$ hexo generate
$ hexo deploy
在正常部署完成的情况下,打开浏览器输入:【https://您的 Github 名称/github.io】进行访问,例如:https://MaugerWu.github.io。此时你会发现没有网站主题,只有文字没样式并不好看,于是乎,选择一个自己喜欢的 Hexo主题:
- AnimaStars - Add amazing star rotation animation to the official Landscape theme along with some changes on font and colors. - Demo
- Coney - A theme based on Pacman,especially for Chinese! change the display style, add baidu share module, baidu search module, baidu analytics module, up to top button and so on. - Demo
- Landscape-x - A fresh looking and responsive theme for Hexo, Modification of Landscape plus theme - Demo
- Winterland - A minimalistic theme based on Light with living background - Demo
6. 关于主题更新
博主本次选择主题为: Yilia ,配置更新请参考:Jacman Theme
当你每次修改完文件夹 ../themes/yilia 下的配置文件 _config.yml 后,请进入到主题 yilia 下执行以下命令:
$ git pull
四、常见问题及解决方法
1. http://localhost:4000/ 无法访问?
出现该问题的可能原因是端口号4000被占用,将 index.js 文件(若找不到该index.js文件,请参考我的另一篇博客:Everything 工具使用)中的端口号修改为:4001或者其他,重启服务后再次访问即可。
1
2
3
4
5
6
7
|
hexo.config.server = assign({ port: 4001, log: false , ip: '0.0.0.0' , compress: false , header: true }, hexo.config.server); |
2. 博客出现中文乱码问题?
若出现该问题请使用编辑器 Notepad++ 或 Sublime Text2/3 编辑 _config.yml 文件,设置编辑器的编码为 UTF-8 后进行保存即可。
1
2
3
4
5
6
7
8
9
10
11
|
# Hexo Configuration ## Docs: https://hexo.io/docs/configuration.html ## Source: https://github.com/hexojs/hexo/ # Site title: Hexo 网站主标题 subtitle: 网站二级标题/副标题 description: 网站描述 author: 网站作者 language: 网站使用语言 timezone: 网站时区,Hexo 默认使用您电脑的时区 |
3. 博客访问中出现404错误?
若出现该问题,可能是在你修改 _config.yml 文件中 Hexo 主题后导致,比如将 theme: landscape 换成 theme: Next。
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape
4. 修改个人博客根目录下的配置文件或主题下的配制文件 _config.yml,刷新页面后修改的地方没有生效?
首先进入到主题文件夹的目录下(如:../blog/themes/yilia/),执行命令:
$ git pull
然后返回到文件夹 ../blog 下,重新部署项目执行命令如下:
$ hexo clean
$ hexo g
$ hexo d
五、名词术语解释
1. NPM:NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。参考
2. NVM:Node Version Manager(Node版本管理器),用它可以方便的在机器上安装并维护多个Node的版本。参考
3. Markdown:一种轻量级的可以使用普通文本编辑器编写的标记语言。MaHua在线编辑器、或者 MarkdownPad2 工具。参考
六、感谢
本博客内容参考了以下几位大牛写的文章,在此表示由衷地感谢各位,分别如下:
· cnfeat 的《如何搭建一个独立博客——简明Github与Hexo教程》
· leopardpan 的《HEXO搭建个人博客》
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
30 | 31 | 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 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
搜索
随笔分类
- Apache Tomcat(9)
- Artificial Intelligence(AI)
- Blog(6)
- Bootstrap(1)
- CSS3(5)
- Data Structures(1)
- Design Patterns
- Eclipse(8)
- Github(6)
- Hadoop
- Hibernate
- HTML5(6)
- Java(11)
- JavaScript(6)
- JavaWeb(1)
- JQuery
- JSP(1)
- Linux/ Unix(5)
- Machine Learning(ML)
- Maven(9)
- MongoDB
- MyBatis(1)
- MySQL(3)
- Nginx(1)
- Oauth2.0(1)
- Python(2)
- Spring
- SpringMVC(1)
- Struts/ Struts2
- Tools(10)
- Ubuntu(5)
- Web框架
- XML(2)
- 求职(2)
随笔档案
文章分类
hexo 博客的更多相关文章
- Hexo博客建设
上次我教大家利用wordpress程序搭建个人网站,这次换个Hexo来搭建咱们的个人博客,那咱们开始吧!先提供官网给大家英文版的请点击这里,中文版的请点击这里,好了然后是工具要准备下,貌似就只要安装g ...
- ubuntu安装hexo博客
ubuntu下安装hexo博客 一 安装git sudo apt-get install git 二 安装nodejs 官网下载linux安装包.tar.gz文件 解压 tar zxvf 这样变可以切 ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- 史上最详细“截图”搭建Hexo博客——For Windows
http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...
- [原创]HEXO博客搭建日记
博客系统折腾了好久,使用过Wordpress,Ghost,Typecho,其中Typecho是我使用起来最舒心的一种,Markdown编辑+轻量化设计,功能不多不少刚好,着实让我这种强迫症患者舒服了好 ...
- linux 搭建hexo博客
搭建环境: CentOS 6.5 1.安装git的编译包 yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gette ...
- 在Github上面搭建Hexo博客(一):部署到Github
什么是Hexo Hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在Github和Heroku上.并且有很多人为其制作了很多优秀的主题(theme),你可以根据自己的喜好进行设 ...
- hexo博客的优化与配置——加入统计代码
今天看着csdn博客的訪客数,就想给hexo博客也加入统计訪客的插件,上次折腾了个pacman主题,中间自带的是goole的统计,easy被墙,所以就想换一个统计工具,看了好多人用的都是cnzz的站长 ...
- 在腾讯云上部署Hexo博客
推荐理由 ----搭建个人的空间博客目前深受个人开发者的追捧,然而博客的种类和平台有很多,Hexo是一个开源的静态博客生成器.相比于其他博客而言它只要是web容器就能用.除了闷头专研技术之外,程序员还 ...
- hexo博客MathJax公式渲染问题
这个问题自己很早以前便碰到了,用MathJax语法写的一些公式,在本地Markdown编译器上渲染是没问题的,可是部署到hexo博客中就出现问题了,之前我是使用图片代替公式应付过去了,今天从网上找了一 ...
随机推荐
- WebApi 通过身份票据进行认证授权的具体实现
写在前面: 如果webapi接口没有身份认证,那么所有知道接口url的用户都可以随意访问接口,从而查询或者修改数据库, 那么问题就来了,如果我们不想让所有人都调用我们的接口,那么就需要加上一层验证,只 ...
- Linux常用基本命令 1
useradd 创建用户. password 修改密码. date 查看时间 man date 帮助文档.f往后翻 b往前翻 q退出.软修改 man hwclock 修改硬件时钟, cal 查看日历 ...
- SpringBoot18 Swagger、API接口文档生成、WireMock、模拟后台数据
1 Swagger 1.1 简述 前后端分离的项目需要前后端开发人员协同工作,后台开发人员需要给到前端开发者一套API文档:利用Swagger可以简单高效的帮助后台开发者生成RestfulAPI开发文 ...
- 再谈JQuery插件$.extend(), $.fn和$.fn.extend()
在我的博客中,曾经写过一篇关于JQuery插件的文章 https://www.cnblogs.com/wphl-27/p/6903170.html 今天看一个项目的代码时,看到使用JQuery插件部 ...
- <abbr> 元素的样式为显示在文本底部的一条虚线边框,当鼠标悬停在上面时会显示完整的文本(只要您为 <abbr> title 属性添加了文本)
<abbr title="World Wide Web">WWW</abbr><br><abbr title="Real Sim ...
- [GO]随机数的使用
package main import ( "math/rand" "time" "fmt" ) func main() { //设置种子, ...
- Sublime Text 2插件推荐
必装Package Control 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: import urllib2,os; pf='Package ...
- HackThree
创建自定义ViewGroup 一,概要: 使用自定义View 和ViewGroup组织应用程序布局是一个好方法,定制组件的同时允许开发者提供自定义行为和功能,以后,开发者 在需要创建复杂布局 ...
- C#在线运行--cmd方法
此次C#在线运行采用cmd.exe用csc对文件进行编译,然后再运行的思路实现在线运行的效果.不过会生成二个文件(.cs和.exe),可能需要定期清除临时文件夹. 首先利用时间戳生成唯一文件名, ...
- 认识学习MVC这家伙
通过最近的学习认识,只能感慨这玩意太强大了! 以前看了一些MVC的入门教程,看入门教程我感觉不能去体会它的强大,可以看看它的扩展点,通过扩展点去真正的试着了解它,体会它的强大. 它的验证.模型绑定提供 ...