作者:玩世不恭的Coder
时间:2020-03-08
说明:本文为原创文章,未经允许不可转载,转载前请联系作者
一文详解Hexo+Github小白建站
前言
GitHub是一个面向开源及私有软件项目的托管平台,也是版本控制库因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。此后,2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
不会使用Markdown的技术员不是一个好的技术员,其功能及其强大,大大加快了写作及排版的速度,同时完美的解决了江湖上令人头阔疼的传言:写文一小时,排版两小时。(小声哔哔:该订阅号中所有的文章都是基于Markdown来进行编写和排版的哦!)有时间的话,整理一篇关于我多年以来使用Markdown的经验,以及该文的排版样式等等。
Github+Hexo的官网:
Github:https://github.com/
Hexo:https://hexo.io/zh-cn/docs/
作为一位Coder,必定需要搭建一个属于自己的博客站点,来记录自己学习的过程以及所走过的坑。网络平台上也有各种各样的建站方法,例如WordPress、emlog、Typecho等等。但是这些对于一个有着极其建站欲望的小白来说无疑是难如上青天,对于懒癌患者来说也是一大痛病,通过海量信息的层层筛选,涛涛最终发现Hexo+Github能够很好的满足大多数小白的要求,既简单又美观,极其适合小白选手,使用它来搭建属于自己的个人站点再好不过了。如果你有也有建站的想法的话,那么以下内容将记录了我之前搭建Hexo的过程,或许能够帮助到你,久而久之,你还会发现其中还有很多有意思的美化操作。(日后再聊)
以下的图文并茂的搭建过程是针对纯小白所实现的,例如github仓库的创建、环境变量的配置、git终端等一些基础操作都有较为详细的说明,按照流程一步步来,分分钟建站毫无压力。
一、搭建环境
环境介绍:
- windows系统:系统根据自己的实际需要准备即可,mac、linux皆可,为了服务更多的读者,本文主要介绍的是在windows系统下搭建。
-
git:安装之后方便使用各种命令,在github上直接使用clone命令秒速下载,在发布文章到服务器时也能方便的使用
hexo clean、hexo g、hexo d
等命令。 - node.js:一个Javascript运行环境,网站的搭建必须建立在这个框架之上。
- Hexo:使用命令可以直接将Hexo生成的静态资源存储到Github上,然后使用自己的Github账户即可访问。
安装:
Git的安装:
你可在git官网中根据自己的需要进行下载:https://git-scm.com/。打开之后你将看到如下内容,无脑download for Windows
:
将其下载到指定的磁盘,然后Windows系统下傻瓜式安装即可。安装好后我们打开cmd终端(win+r -> 输入cmd -> 回车),执行git --version
,若出现git version 2.19.2.windows.1
之类的版本输出,那么恭喜你已经成功安装,离完成建站近了一步。
node.js的安装:
node.js的安装和Git的安装完全如出一辙,同样的操作下载node.js并安装即可,安装好后我们同样在cmd终端使用node -version
命令,如出现v10.13.0
类似输出,则说明已经成功安装。
node.js下载:https://nodejs.org/en/
Github的注册
Github是一个大佬级别的网站,我们进入Github的注册页面观摩一下:https://github.com/join?source=login
然后提示信息填写你的用户名、邮箱、密码等信息进行注册即可。
二、博客的秒速搭建
创建仓库并部署
注册了github之后,我们需要创建一个仓库来存储我们的网站源码以及文章等数据,创建的仓库名也就是我们最终站点所访问的url地址,该url是采用子域名的方式,其一般形式为:XXX.github.io
。XXX一般代表着你注册时的github用户名,所以在你注册之后该仓库名一般是固定的,仓库的创建及部署流程参考如下:
进入个人Github主页之后点击
New repository
来创建新的仓库(就是放东西的),如下:之后按照如下步骤进行
完成以上操作之后,你就已经成功创建好了自己的仓库。这时我们还需要利用git命令来生成我们的秘钥。鼠标右键桌面选择
git bash here
(安装好Git之后即可看见),然后在git终端执行以下命令:
1ssh-keygen -t rsa -C XXX@XXX.com
其中XXX@XXX.com
指的是你注册github时候使用的邮箱,在命令执行的时候回有一些yes、no的选择,直接默认回车即可,最终你将会看到类似如下内容:
1Your identification has been saved in /c/Users/you/.ssh/id_rsa.
2Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
3The key fingerprint is:
4xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx your_email@example.com
之后你将在c/Users/you/.ssh/id_rsa.pub
路径文件看到生成的秘钥对,这个文件我们暂且打开,之后复制粘贴会用到。
补充:打开git bash here之后我们首先需要配置一下个人信息,在git终端分别配置自己的用户名和邮箱。命令如下:
1git config --global user.name XXX # XXX表示你github注册时的用户名
2git config --global user.email XXX # XXX表示你github注册时的邮箱
之后我们需要将ssh key添加到我们的github账户。在个人github主页找到settings,然后点击SSH and GPG keys,之后再出现的页面的中点击
New SSH key
,随后根据如下图操作进行添加ssh key:打开
git bash here
,执行ssh -T git@github.com
,之后会出现一系列的yes or no的问题,我们只需要回答yes即可,最终会输出如下类似内容:
1Hi username! You've successfully authenticated
2
OK,完成以上流程后,你的本机就可以连接上Github了。
Hexo博客框架的搭建
在完成以上操作后,我们就可以来完美地使用Hexo了,你可通过如下操作来进行。
- 在以上操作的基础上,我们首先安装一下Hexo。根据自己的需要在磁盘中创建一个名为
hexo
文件夹,为了更好的管理文件,涛涛是在E盘的根目录中创建该文件夹的。之后进入该文件并在当前路径下打开git bash here
,依次运行如下命令来进行搭建hexo环境:
1npm install hexo-cli -g
2npm install hexo --save
执行完成之后,你会发现在该目录之下会有个node_modules
文件夹生成,如此一来,你就已经搭建好了Hexo环境,离终点又近了一点 (* ̄rǒ ̄)
- 以上的node_modules文件生成之后,我们需要配置一下Hexo的环境变量,以便在cmd中可以直接执行后续博客操作的命令,而不需要在指定的Hexo目录中执行。进入到node_module文件夹下的bin目录,然后复制该bin目录的路径,如下:
后面的添加环境变量的操作比较简单,所以就描述一些流程,就不贴图了。如果有遇到问题的可联系涛涛,或者在下方留言即可。后续操作描述如下(小白也懂的操作):
- ctrl+D切换到桌面。
- 右键此电脑,点击属性。
- 点击左侧的高级系统设置。
- 点击环境变量。
- 在用户变量或者系统变量中找到Path并双击它(推荐用户变量)
- 双击之后点击新建,然后将以上的复制的bin目录粘贴至此。
- 然后一步一步的确定、确定、确定。OK,完成了,是不是很简单 (* ̄rǒ ̄)。
在以上操作完成之后,win+r,打开cmd终端,然后执行Hexo --version
,若出现如下类似信息,则说明你的Hexo已经成功配置了环境变量。
- 随后,我们需要创建我们的博客站点的主目录,你可使用我推荐的方式进行创建,当然你也可以根据自己的喜好方式进行创建。首先在E盘的根目录下创建ZerosBlog文件夹(自定义),然后进入该文件夹并创建XXX.github.io文件夹(该文件夹名必须与你之前创建的github仓库名必须一致,必须固定),双击进入到该目录右键点击
git bash here
来打开git终端,之后在该终端下根据如下命令一步步进行操作:
初始化hexo:
1hexo init
自动安装网站所需组件:
1npm install
稍等片刻即可完成所有的安装步骤。OK,至此,你已经基本完成了网站的建设,可以说是万事具备,只欠东风了。一个基本的Hexo博客框架已经完成了,现在我们只需要最后一步了:导入自己的喜欢的博客主题即可正常使用了,Hexo中有很多很多很多的主题可供用户选择,主题的引入操作如下。
三、主题引入
Hexo中有很多很多很多的主题可供用户选择(N个。。。 Σ( ° △ °|||)︴ 我不知道有多少个,因为他会被许多的前端大神不断频繁更新开源着,如果好奇的话自行了解即可),其主题官网为:https://hexo.io/themes/,你可以在此观摩并使用任意一个来作为你博客的主题,但据统计,绝大多数使用hexo+github
来搭建博客的都是使用NexT
,它的简单美受到了许多用户的青睐,所以以下将以NexT为例来作为我们主题的引入,当然,你也可以去阅读NexT的主题文档来进行NexT主题的引入。
在Hexo主题页面ctrl+F并输入next查找到NexT主题,然后点击进入到NexT主题的github页面,该页面存储了NexT主题的源码,我们需要将其下载下来为己所用。在前面我们已经已经下载好了Git,而且也提到了git的最为方便之处就是可以随意clone github的任意资源,在这个操作就可以完美的显露出来了 ┗|`O′|┛ 嗷 ┗|`O′|┛ 嗷 ┗|`O′|┛ 嗷~~。
在进入到NexT主题的Github仓库页面之后,根据如下图所示复制出该主题的仓库链接:
复制好该链接后我们进入E:\ZerosBlog\XXX.github.io\themes
文件夹下,右键点击git bash here
进入git终端,并执行如下命令,其中链接为你上一步所复制的内容
1git clone https://github.com/theme-next/hexo-theme-next.git
这个过程可能需要一丢丢的时间,如果你累了或者渴了的话可以喝口茶,稍等片刻之后就会在该目录之下成功下载NexT主题了。
待到成功下载NexT主题后,我们需要少量的配置来达到使用该主题的目的,该配置文件是属于站点的,其路径为E:\ZerosBlog\XXX.github.io\_config.yml
,我们用文本编辑器(notepad、notepad++、sublime text、Vim……皆可)打开它,然后ctrl+f输入theme查找到theme属性,然后将值改为next,如下所示:
在NexT中已经为我们准备了四种博客样式,其配置文件在主题的配置文件中(注意与上文中博客的配置文件 _config.yml 区别开来),即E\ZerosBlog\XXX.github.io\themes\next\_config.yml
文件,我们用文本编辑器(notepad、notepad++、sublime text、Vim……)打开它,然后ctrl+F输入scheme查找到如下内容:
可以看见总共有四种主题Muse、Mist、Pisces、Gemini
,你可以根据自己的喜好选择其中一种(可以四种都尝试然后决定一种样式),然后将其他三种注释即可,ctrl+s保存然后退出
操作完成之后,我们来到站点的根目录下,即E:\ZerosBlog\XXX.github.io
,打开git终端(空白处右键git bash heer),完成如下三步走命令
- hexo clean:清除缓存
- hexo g:生成静态页面
- hexo d:将资源提交到服务器中
1hexo clean
2heo g
3hexo d
在以上命令执行过程中,可能会遇到一个登陆表单的突然出现,我们只需要根据自己github注册时所填的信息进行登陆即可,命令执行完成之后我们的站点已经完成了部署并请求https://XXX.github.io/
即可访问到自己的网站了,如下图所示:
四、总结
以上的图文并茂的搭建过程是针对纯小白所实现的,例如github仓库的创建、环境变量的配置、git终端等一些基础操作都有较为详细的说明,按照流程一步步来,分分钟建站毫无压力。另外如果在如上页面中有不懂的地方可以联系作者或者在下方留言,看到后会第一时间回复大家。
特别注意:
这里需要提一点的是,上面的搭建过程仅仅是博客站点的搭建,博客的内容需要我们在E:\MyBlog\XXX.github.io\source\_posts
文件夹中创建你想要发布的文章,例:HelloWorld.md
,然后在该文件下使用Markdown语法进行编写,编写完成之后同样使用hexo clean | hexo g | hexo d
命令将撰写好的文章发布到Github服务器中,最后浏览器访问https://XXX.github.io/
即可看见文章。Markdown撰写语法不再本文的内容介绍中,有时间的话,整理一篇关于我多年以来使用Markdown的经验,以及该文的排版样式等等,或者自行前去学习:https://www.zybuluo.com/mdeditor
至此,已经完成了博客的搭建,但是我们左看看、右看看,不管怎么看都似乎显得有点单调,在之后将会介绍博客的美化,可以引入一些插件,比如像Gitalk在线聊天、APlayer、字数统计、背景等一些插件。
一文详解Hexo+Github小白建站的更多相关文章
-
一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop) 概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...
-
一文详解 OpenGL ES 3.x 渲染管线
OpenGL ES 构建的三维空间,其中的三维实体由许多的三角形拼接构成.如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成.而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x.y ...
-
GitHub详解(GitHub for Windows)
GitHub详解 GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目.它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath ...
-
1.3w字,一文详解死锁!
死锁(Dead Lock)指的是两个或两个以上的运算单元(进程.线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁. 1.死锁演示 死锁的形成分为两个方面,一个是使用 ...
-
nodejs建站+github page 建站问题总结
本文介绍 昨天吃晚饭的时候,在B站偶然看到一个关于搭建自己博客的视频,过程讲的很详细,于是就有了自己想尝试一下的冲动,所以,在晚上的时候,尝试了下,但是,过程并没有视频中说的那么顺利,看了网上很多帖子 ...
-
Git详解及 github与gitlab使用
1.1 关于版本控制 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别.这么做唯一的 好处就是简单,但是特别容易犯错.有 ...
-
阿里云域名注册详解与Github绑定
关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 今教一篇如何注册域名,拥有自己的域名是不是很爽呢?答案是是的,那 ...
-
git原理,git命令使用详解,github使用 --有此图文并茂原来如此简单
一.Git分布式控制系统原理:git有三个区,被管理的代码或文件是从:工作区-->暂存区-->本地版本库. 二.GitHub创建线上仓库GitHub是一个面向开源及私有软件项目的托管平台, ...
-
一文详解 ARP 协议
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 公众号连载计算机网络文章如下 ARP,这个隐匿在计网 ...
随机推荐
-
.NET中的异步
.NET中4种异步方式? ThreadPool.QueueUserworkItem实现 APM模式(就是BeginXXX和EndXXX成对出现.) EAP模式(就是Event based, 准确说来就 ...
-
jq获取元素
<tr><td><div id="add"></div></td></tr>$("#add&quo ...
-
对比其它软件方法评估敏捷和Scrum
一般来说,选择一种软件开发方法,更像是加入一个*组织,而不像是做出了一个技术决策.许多公司甚至从未试图去评估这些方法,而仅仅是盲目采用最流行的方法,这就造成了如今五花八门的各种敏捷方法.因此本文将使 ...
-
spring-data-redis --简单的用spring-data-redis
spring-data-redis序列化策略 spring-data-redis提供了多种serializer策略,这对使用jedis的开发者而言,实在是非常便捷.sdr提供了4种内置的seriali ...
-
顶部图片放大回弹效果Scrollview ---- 各应用中常见的自定义View 解析
原理并不难. 代码量也不大. 非常简洁 . 先来个效果图 再上一波代码. public class SpecialScrollView extends ScrollView implements ...
-
iOS 键盘弹出遮挡输入框
#pragma mark 键盘弹出遮挡输入框 //开始编辑输入框的时候,软键盘出现,执行此事件 -(void)textFieldDidBeginEditing:(UITextField *)textF ...
-
黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户 ...
-
ASP.net中用到的JWT
1.先通过NuGet添加JWT 2.新建一个JwtHelp类 public class JwtHelp { //私钥 web.config中配置 //"GQDstcKsx0NHjPOuXOY ...
-
20175221 2018-2019-2 《Java程序设计》第二周学习总结
20175221 <Java程序设计>第2周学习总结 教材学习内容总结 教材方面 本周学习了第二章的“基本数据类型与数组”的内容,以及粗略地看了一下第三章“运算符.表达式和语句”的内容 ...
-
总结-shell脚本
执行脚本从 svn 检出项目 vi ace.sh #!/bin/bash svn export svn://127.0.0.1/ace/demo /ace/demo 设置脚本可执行 chmod +x ...