超详细Hexo+Github博客搭建小白教程(三)

简介: 首先要了解一下我们搭建博客要用到的框架。Hexo是高效的静态站点生成框架,它基于Node.js。通过Hexo,你可以直接使用Markdown语法来撰写博客。相信很多小伙伴写工程都写过README.md文件吧,对,就是这个格式的!写完后只需两三条命令即可将生成的网页上传到你的github上,然后别人就可以看到你的网页啦。是不是很简单?你无需关心网页源代码的具体细节,你只需要用心写好你的博客内容就行。

常见问题及解答(FAQ)


这个章节主要更新许多同学在搭建博客的过程中咨询我的一些问题。

为什么本地生成完ssh key之后没有.ssh文件夹?

这是我没有想到会遇到的问题,但是很多人还是遇到了,主要问题就是在输入完 ssh-keygen-t rsa-C"792321264@qq.com"之后,很多同学没有按照提示继续输入,而是就这么结束了,然后报错了也没有发现。正确做法是按照提示,一路按回车就行了。

为什么代码块显示有问题?

代码要显示正确,要注意以下几个点:

  • 根目录 _config.yml文件下的 highlight中的 line_number要设置为 false,因为行号有bug,当然如果你按照上面教程修复了bug,就可以改成 true
  • 不要按照网上教程安装 kramed插件,已经装了的卸载掉。
  • 修改 node_modules/marked/lib/marked.js文件中的 escapeem两行(在538行左右),改成下面:
escape: /^\\([`*\[\]()#$+\-.!_>])/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

为什么博客本地预览没问题,push到github上就显示不正常?

这个问题可能原因有很多,我暂时列举遇到的情况:

  • github博客的仓库名称一定要和你的github名字完全一样,比如你github名字叫 abc,那么仓库名字一定要是 abc.github.io。这是大多数人会犯的错误,会导致显示不正常。

更换主题之后,配置文件是修改根目录下的还是主题目录下的?

这个其实都要修改,一般也不会出现重复的属性。具体使用哪个,要看主题的源代码,如果是 config.xxx那就是用的根目录配置文件,如果是 theme.xxx那就用的是主题目录的配置文件。

在哪建立github分支?

点击仓库的 settings-branches,右边点击 addnewbranch即可。

个性化设置(beantech主题,已停更)


下面的个性化设置主要针对的是我之前使用的 beantech主题,当然如果你想用我现在博客这个主题,可以不看这部分。这部分已经停止更新,今后我只会更新 matery主题的各种配置。

更换主题

网上大多数主题都是github排名第一的 Next主题,但是我个人不是很喜欢,我更喜欢 beantech主题,地址在传送门。

首先要注意的是,这个github项目不仅包含了主题文件,还包含了hexo的各种文件

所以首先下载下来这个项目,然后推荐将下图所有文件全部替换你原本博客根目录下的文件:

03e17ab697d60734c869f5e8b636d8fe.jpg

当然一般的主题和这个主题有点不一样,只含有主题文件夹,所以把整个文件夹丢到 theme下就行了。

然后运行 hexo clean清空所有生成的网页缓存, hexo ghexo d。这时候新的主题网页就生成好了,博客根目录的情况应该大致如下:

e422751a291bb660a59dbeac9e1600fe.jpg

博客目录构成介绍

从上图可以看出,博客的目录结构如下:

- node_modules
- public
- scaffolds
- source
    - _posts
    - about
    - archive
    - img
    - tags
- themes

node_modules是node.js各种库的目录, public是生成的网页文件目录, scaffolds里面就三个文件,存储着新文章和新页面的初始设置, source是我们最常用到的一个目录,里面存放着文章、各类页面、图像等文件, themes存放着主题文件,一般也用不到。

我们平时写文章只需要关注 source/_posts这个文件夹就行了。

网站图片都保存在 D:\study\program\blog\source\img目录下,可以修改成自己的图片。

修复文档分类bug

这个主题文档分类功能有个bug,一直没有得到解决,直到最近,我才发现是源文件的单词拼错了。。。

打开 D:\study\program\blog\scaffolds\post.md,单词 catagories改为 categories

添加畅言评论插件

主题自带了多说评论插件,但是多说已经关闭了,所以我换成了畅言评论插件。

首先你得注册一个畅言账号,地址。然后打开如下页面,复制该段代码:

238795e123480113e109bfabfb6a96c2.jpg

打开 D:\study\program\blog\themes\beantech\layout\post.ejs,将代码粘贴到如下位置:

a9b69b2ca2f98bae5e9c1177dafe8abd.jpg

然后重新生成一下网页,可以看到效果图如下:

5787aeb94744658ba601d4b02ceb3d25.jpg

更多插件例如热评话题之类的,可以自行在畅言后台找到代码添加。

添加图片放大功能

首先下载 zooming.js文件地址,保存在 D:\study\program\blog\themes\beantech\source\js目录下。

打开 D:\study\program\blog\themes\beantech\layout\post.ejs,在最下方粘贴如下代码:

type="text/javascript" src="/js/zooming.js">

然后文章里的图片就可以单击全屏啦。

添加数学公式显示

打开 D:\study\program\blog\themes\beantech\layout\post.ejs,在最下方粘贴如下代码:

type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default">

由于markdown语法与mathjax语法存在冲突,所以还需要修改源文件。

打开 D:\study\program\blog\node_modules\marked\lib\marked.jsescape:处替换成:

escape: /^$[`*\[\]()#$+\-.!_>])/

em:处替换成:

em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/

这时在文章里写数学公式基本没有问题了,但是要注意: 数学公式中如果出现了连续两个{,中间一定要加空格!

举个例子: 行内公式:$y = f(x)$ 代码:

$y = f(x)$

行间公式:\[y = {f{ {g1}}}(x)\] 代码:

\\[y = {f_{ {g_1}}}(x)\\]

注意上面花括号之间有空格!

添加留言板

D:\study\program\blog\themes\beantech\layout中新建 bbs.ejs,文件内容如下:

---
layout: page
---
 type="text/css">
    header.intro-header{
        background-position: right; 
    }
 class="zh post-container">
    <%- page.content %>

然后在 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,在如下位置添加代码:

1cbceb00dffddd83bb1c875e01e632b6.jpg

<% if (post.top) {%>
     class="fa fa-thumb-tack">
     color=7D26CD>置顶
     class="post-meta-divider">|
<%}%>

然后在你想置顶的文章md文件里,添加如下配置选项:

top: true

添加访客人数统计和字数统计

我们使用一个国外的流量统计网站:gostats.com,首先注册一下。

然后自己添加网站地址,过程就不详细说了,然后点击 Getcounter code,选择一个自己喜欢的风格。如下图所示,选择一个样式,选择 HTML,生成代码:

89e1de795aac7c9aa34077bcbb2b9635.jpg

复制这段代码到 D:\study\program\blog\themes\beantech\layout\_partial\footer.ejs,具体位置如下:

990b96dfa4792d97a778331b08bb6927.jpg

默认的代码和我图中不一样,因为我不想点击图片跳转到它统计网站的链接,可以模仿我的自行修改。

字数统计首先安装插件

npm i --save hexo-wordcount

然后打开 D:\study\program\blog\themes\beantech\layout\_partial\footer.ejs,添加如下代码:

class="post-count"><%= totalcount(site) %> words altogether

具体位置见上图。

文章属性配置

首先解释一下文章开头的属性配置,如下图所示:

cf6e1e345d1a335a905955780b6180e8.jpg

title: 文章标题
catalog: 是否显示段落目录
date: 文章日期
subtitle: 子标题
header-img: 顶部背景图片
top: 是否置顶
tags: 标签
categories: 分类

每次写文章修改每个值就行了。

相关文章
|
1月前
|
Shell 网络安全 开发工具
Github Pages + Jekyll 独立博客一小时快速搭建&上线指南
Github Pages + Jekyll 独立博客一小时快速搭建&上线指南
62 1
|
4月前
|
缓存 开发工具 git
如何修改github博客主题
如何修改github博客主题
|
4月前
|
开发工具 git
[github初学者教程] 分支管理-以及问题解决
[github初学者教程] 分支管理-以及问题解决
33 0
|
4月前
|
资源调度 前端开发 JavaScript
不花一分钱,用Hexo和GitHub Pages搭建个人博客🏢
不花一分钱,用Hexo和GitHub Pages搭建个人博客🏢
|
4月前
|
JavaScript 开发工具 git
保姆级教程:从零构建GitHub Pages静态网站(下)
保姆级教程:从零构建GitHub Pages静态网站(下)
127 0
|
4月前
|
前端开发 JavaScript
保姆级教程:从零构建GitHub Pages静态网站(上)
保姆级教程:从零构建GitHub Pages静态网站
978 0
|
5月前
|
缓存 JavaScript 网络安全
基于Hexo的主题Fluid搭建Github博客
基于Hexo的主题Fluid搭建Github博客
75 1
|
3月前
|
存储 搜索推荐 安全
GitHub教程-自定义个人页制作
GitHub是全球最大的代码托管平台,除了存放代码,它还允许用户个性化定制自己的主页,展示个人特色、技能和项目。本教程旨在向GitHub用户展示如何制作个性化主页,同时,介绍了GitHub Actions的应用,可以自动化更新主页内容。通过本教程,GitHub用户将学会如何打造独具个性的GitHub个人主页,吸引更多关注和合作机会。具体代码请参阅文末。
69 0
|
4月前
|
网络安全 开发工具 git
[github全教程]github版本控制最全教学------- 大厂找工作面试必备!
[github全教程]github版本控制最全教学------- 大厂找工作面试必备!
33 0
|
4月前
Hexo博客添加GitHub评论功能
Hexo博客添加GitHub评论功能
50 0