超详细Hexo+Github博客搭建小白教程
原文链接:
去年9月的时候开始搭建了第一个自己的独立博客,到现在也稍微像模像样了。很多小伙伴应该也想过搭建一个自己的博客,网上也有一堆详细教程。我在此稍稍总结一下具体的搭建步骤,另外网上很少有修改博客源码的个性化教程,我就稍稍分享一下我的一些修改经验,更多的个性化操作需要你自己以后去摸索。
具体效果可以参观我的博客:,欢迎大家支持。
我不是一个前端程序员,有些东西不是很了解,说的不好大家见谅。
首先要了解一下我们搭建博客要用到的框架。Hexo是高效的静态站点生成框架,它基于Node.js。通过Hexo,你可以直接使用Markdown语法来撰写博客。相信很多小伙伴写工程都写过README.md文件吧,对,就是这个格式的!写完后只需两三条命令即可将生成的网页上传到你的github上,然后别人就可以看到你的网页啦。是不是很简单?你无需关心网页源代码的具体细节,你只需要用心写好你的博客内容就行。
安装Node.js
首先下载最新版,我这里给的是64位的。
安装选项全部默认,一路点击Next
。
最后安装好之后,按Win+R
打开命令提示符,输入node -v
和npm -v
,如果出现版本号,那么就安装成功了。
安装Git
为了把本地的网页文件上传到github上面去,我们需要用到分布式版本控制工具————Git。
安装选项还是全部默认,只不过最后一步添加路径时选择Use Git from the Windows Command Prompt
,这样我们就可以直接在命令提示符里打开git了。
安装完成后在命令提示符中输入git --version
验证是否安装成功。
注册Github账号
接下来就去注册一个github账号,用来存放我们的网站。大多数小伙伴应该都有了吧,作为一个合格的程序猿(媛)还是要有一个的。
打开,新建一个项目,如下所示:
然后如下图所示,输入自己的项目名字,后面一定要加.github.io
后缀,README初始化也要勾上。
然后项目就建成了,点击Settings
,向下拉到最后有个GitHub Pages
,点击Choose a theme
选择一个主题。然后等一会儿,再回到GitHub Pages
,会变成下面这样:
点击那个链接,就会出现自己的网页啦,效果如下:
安装Hexo
在合适的地方新建一个文件夹,用来存放自己的博客文件,比如我的博客文件都存放在D:\study\program\blog
目录下。
在该目录下右键点击Git Bash Here
,打开git的控制台窗口,以后我们所有的操作都在git控制台进行,就不要用Windows自带的控制台了。
定位到该目录下,输入npm install hexo-cli -g
安装Hexo。会有几个报错,无视它就行。
然后输入npm install hexo --save
继续安装。
安装完后输入hexo -v
验证是否安装成功。
然后就要初始化我们的网站,输入hexo init
初始化文件夹,接着输入npm install
安装必备的组件。
这样本地的网站配置也弄好啦,输入hexo g
生成静态网页,然后输入hexo s
打开本地服务器,然后浏览器打开,就可以看到我们的博客啦,效果如下:
按ctrl+c
关闭本地服务器。
连接Github与本地
首先右键打开git bash,然后输入下面命令:
git config --global user.name "godweiyang" git config --global user.email "792321264@qq.com"
用户名和邮箱根据你注册github的信息自行修改。
然后生成密钥SSH key:
ssh-keygen -t rsa -C "792321264@qq.com"
输入eval "$(ssh-agent -s)"
,添加密钥到ssh-agent。
再输入ssh-add ~/.ssh/id_rsa
,添加生成的SSH key到ssh-agent。
打开,在头像下面点击settings
,再点击SSH and GPG keys
,新建一个SSH,名字随便。
打开C:\Users\Administrator\.ssh\id_rsa.pub
,注意是隐藏文件夹,将其中的内容复制到新建的SSH中。
输入ssh -T git@github.com
,如果如下图所示,出现你的用户名,那就成功了。
打开博客根目录下的_config.yml
文件,这是博客的配置文件,在这里你可以修改与博客相关的各种信息。
修改最后一行的配置:
deploy: type: git repository: https://github.com/godweiyang/godweiyang.github.io branch: master
repository修改为你自己的github项目地址。不过你这里看到的可能与我有点不一样,因为我已经修改过主题了,所以这一步先不用管,换完主题之后记得回来修改!
写文章、发布文章
首先在博客根目录下右键打开git,安装一个扩展npm install hexo-deployer-git --save
。
然后输入hexo new post "article title"
,新建一篇文章。
然后打开D:\study\program\blog\source\_posts
的目录,可以发现下面多了一个文件夹和一个.md
文件,一个用来存放你的图片等数据,另一个就是你的文章文件啦。
编写完markdown文件后,根目录下输入hexo g
生成静态网页,然后输入hexo s
可以本地预览效果,最后输入hexo d
上传到github上。这时打开你的github.io主页就能看到发布的文章啦。
绑定域名
现在默认的域名还是xxx.github.io
,是不是很没有牌面?想不想也像我一样弄一个专属域名呢,首先你得购买一个域名,xx云都能买,看你个人喜好了。
以我的百度云为例,如下图所示,添加两条解析记录:
然后打开你的github博客项目,点击settings
,拉到下面Custom domain
处,填上你自己的域名,保存:
这时候你的项目根目录应该会出现一个名为CNAME
的文件了。如果没有的话,打开你本地博客/source
目录,我的是D:\study\program\blog\source
,新建CNAME
文件,注意没有后缀。然后在里面写上你的域名,保存。最后运行hexo g
、hexo d
上传到github。
更换主题
网上大多数主题都是github排名第一的Next
主题,但是我个人不是很喜欢,我更喜欢beantech
主题,地址在。
首先要注意的是,这个github项目不仅包含了主题文件,还包含了hexo的各种文件。
所以首先下载下来这个项目,然后推荐将下图所有文件全部替换你原本博客根目录下的文件:
然后运行hexo clean
清空所有生成的网页缓存,hexo g
、hexo d
。这时候新的主题网页就生成好了,博客根目录的情况应该大致如下:
博客目录构成介绍
从上图可以看出,博客的目录结构如下:
- node_modules - public - scaffolds - source - _posts - about - archive - img - tags - themes
node_modules
是node.js各种库的目录,public
是生成的网页文件目录,scaffolds
里面就三个文件,存储着新文章和新页面的初始设置,source
是我们最常用到的一个目录,里面存放着文章、各类页面、图像等文件,themes
存放着主题文件,一般也用不到。
我们平时写文章只需要关注source/_posts
这个文件夹就行了。
个性化设置及bug处理
首先打开_config.yml
,根据自己需求配置,具体不说了,有注释。
修复文档分类bug
这个主题文档分类功能有个bug,一直没有得到解决,直到最近,我才发现是源文件的单词拼错了。。。
打开D:\study\program\blog\scaffolds\post.md
,单词catagories
改为categories
。
添加畅言评论插件
主题自带了多说评论插件,但是多说已经关闭了,所以我换成了畅言评论插件。
首先你得注册一个畅言账号,。
然后打开如下页面,复制该段代码:
打开D:\study\program\blog\themes\beantech\layout\post.ejs
,将代码粘贴到如下位置:
然后重新生成一下网页,可以看到效果图如下:
更多插件例如热评话题之类的,可以自行在畅言后台找到代码添加。
添加图片放大功能
首先下载zooming.js
文件,保存在D:\study\program\blog\themes\beantech\source\js
目录下。
打开D:\study\program\blog\themes\beantech\layout\post.ejs
,在最下方粘贴如下代码:
<script type="text/javascript" src="/js/zooming.js"></script>
然后文章里的图片就可以单击全屏啦。
添加数学公式显示
打开D:\study\program\blog\themes\beantech\layout\post.ejs
,在最下方粘贴如下代码:
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
由于markdown语法与mathjax语法存在冲突,所以还需要修改源文件。
打开D:\study\program\blog\node_modules\marked\lib\marked.js
escape:
处替换成:
escape: /^\\([`*\[\]()#$+\-.!_>])/
em:
处替换成:
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/
这时在文章里写数学公式基本没有问题了,但是要注意:
数学公式中如果出现了连续两个{,中间一定要加空格!
举个例子:
行内公式:\(y = f(x)\)
代码:
\\(y = f(x)\\)
行间公式:
\[y = {f_{ {g_1}}}(x)\]
代码:
\\[y = {f_{ {g_1}}}(x)\\]
注意上面花括号之间有空格!
添加留言板
在D:\study\program\blog\themes\beantech\layout
中新建bbs.ejs
,文件内容如下:
--- layout: page --- <style type="text/css"> header.intro-header{ background-position: right; } </style> <!-- Chinese Version --> <div class="zh post-container"> <%- page.content %> </div>
然后在D:\study\program\blog\source
中新建\bbs
文件夹,里面在新建index.md
文件,内容如下:
--- layout: "bbs" title: "BBS" date: 2017-09-19 12:48:33 description: "欢迎交换友链,一起交流学习!" header-img: "img/header_img/home-bg-2-dark.png" comments: true --- 此处替换为你的畅言评论代码~~~
添加置顶功能
运行如下两条命令安装置顶插件:
npm uninstall hexo-generator-index --save npm install hexo-generator-index-pin-top --save
然后打开D:\study\program\blog\themes\beantech\layout\index.ejs
,在如下位置添加代码:
<% if (post.top) {%> <i class="fa fa-thumb-tack"></i> <font color=7D26CD>置顶</font> <span class="post-meta-divider">|</span> <%}%>
然后在你想置顶的文章md文件里,添加如下配置选项:
top: true
添加网易云音乐BGM
写文章的时候,想插入一段BGM怎么办?
首先打开网易云网页版,找到想听的歌曲,然后点击生成外链:
复制如下代码:
粘贴到文章里就行了,为了美观,设置一下居中,具体代码如下:
<div align="middle">这里粘贴刚刚复制的代码</div>
添加访客人数统计和字数统计
我们使用一个国外的流量统计网站:,首先注册一下。
然后自己添加网站地址,过程就不详细说了,然后点击Get counter code
,选择一个自己喜欢的风格。
如下图所示,选择一个样式,选择HTML
,生成代码:
复制这段代码到D:\study\program\blog\themes\beantech\layout\_partial\footer.ejs
,具体位置如下:
默认的代码和我图中不一样,因为我不想点击图片跳转到它统计网站的链接,可以模仿我的自行修改。
字数统计首先安装插件
npm i --save hexo-wordcount
然后打开D:\study\program\blog\themes\beantech\layout\_partial\footer.ejs
,添加如下代码:
<span class="post-count"><%= totalcount(site) %> words altogether</span>
具体位置见上图。
一些注意事项
---
首先解释一下文章开头的配置,如下图所示:
title: 文章标题 catalog: 是否显示段落目录 date: 文章日期 subtitle: 子标题 header-img: 顶部背景图片 top: 是否置顶 tags: 标签 categories: 分类
网站图片都保存在D:\study\program\blog\source\img
目录下,可以修改成自己的图片。
如果换一台电脑想迁移博客的话,最简单的方法就是把博客整个目录拷贝过去,就是这么暴力。
其他还有什么问题的话等我想起来了再继续添加,如果遇到问题欢迎联系我。
下一篇: JS代码中踩过的坑
推荐阅读
-
强烈推荐,超详细,实操零失误:node.js安装 + npm安装教程 + Vue开发环境搭建 【非原创,但是用生命推荐的转载】
-
使用hexo+github搭建免费个人博客详细教程
-
使用Docker+jenkins+python3环境搭建超详细教程
-
CentOS7下搭建Hadoop3.2.0完全分布式集群(亲娘级教程超详细)
-
Windows10下安装detectron2超详细教程(小白视角)
-
手把手教你用Hexo+Github搭建属于自己的博客(详细图文)
-
win10 tensorflow安装教程 超详细 小白手把手教程
-
搭建PhpStorm+PhpStudy开发环境的超详细教程
-
使用HEXO+GitHub搭建自己博客的步骤教程
-
面向零基础的阿里云+WordPress搭建个人博客网站详细图文教程