HexoGithub:个人博客网站搭建完全教程(看这篇就够了)

2024-03-23    分类: 网站建设

个人博客网站搭建完全教程(看这篇就够了)阅读须知

注意,这篇文章篇幅较长,主要针对新手,每一步很详细,所以可能会显得比较啰嗦,建议基础比较好小伙伴根据右侧目录选择自己感兴趣的部分跳着看,不要文章没看,上来先喷一下!谢谢( ⊙ o ⊙ )。教程内容随意复制使用,引用的话请加一个参考链接,谢谢!

博客开源

倒腾了一两周总算把个人博客网站完善了,目前这个版本使用应该是够了,当然还有一些优化项和功能增加后续在慢慢更新,为了回馈开源,今天准备把我自己修改完善的blog网站源代码开源。这不是生成后的网页文件,是您可以直接使用的源码,您只需要把博客相关信息换成您自己的就可以部署了,对于新手或者不懂编程的小伙伴来说,简直是福音,极大简化了您构建博客的工作量和复杂度,每个人都可以下载并修改成自己喜欢样式!如果你有修改想法,欢迎PR!最后,我们还是给这个开源小项目取个名字吧,就叫hexo-blog-fly吧,怎么样?<<<<<源代码下载>>>>>

本博客基于Hexo框架搭建,用到hexo-theme-matery主题,并在此基础之上做了很多修改,修复了一些bug,增加了一些新的特性和功能,博客地址:https://shw2018.github.io,博客演示:sunhwee.com。

简单使用方法:

star本项目仓库o安装Git, 安装nodeJS你可以直接fork一份源码到你的仓库,clone到本地在本地博客仓库运行npm i命令安装依赖包修改配置信息,改成自己的信息运行命令hexo clean(清除生成文件),hexo g(生成网页),hexo s(本地预览),hexo d(部署)

更多详情教程,强烈推荐看我写的:Hexo+Github博客搭建完全教程

有什么问题可以在文章最后评论区留言和讨论,当然,欢迎文章最后打赏投币,请博主一杯冰阔乐,笑~

最后,如果项目和教程对你有所帮助或者你看见了还算比较喜欢,欢迎给我github项目仓库点个star,谢谢您!

前言

去年在博客园注册了自己的第一个博客,当时初衷就是想拿来作为自己的在线笔记本,做做学习记录,分享一些学到的东西,使用第三方提供的博客服务其实也挺方便,现在市面上提供类似服务的博客网站也很多,如CSDN,博客园,简书等平台,可以直接在上面发表,用户交互做的好,写的文章百度也能搜索的到。但是缺点是比较不自由,会受到平台的各种限制和恶心的广告,个性化不足。而自己购买域名和服务器,搭建博客的成本实在是太高了,不光是说这些购买成本,单单是花力气去自己搭这么一个网站,还要定期的维护它,对于我们大多数人来说,也是没有这样的精力和时间。那么,我们能不能自己定制一个自己喜欢的个性化博客,同时也不用付出太高的成本啦?

这就引出了第三种选择,基于开源框架搭建博客,然后直接在github page平台上托管我们的博客。这样就可以安心的来写作,又不需要定期维护,基于这个想法,今年8月初的时候开始搭建第一个属于自己的独立博客,前后断续弄了近一周,到现在稍微有点模样了。我想可能有很多小伙伴应该也想过搭建一个自己的博客,当然,网上也有一堆详细教程。写这篇博客的目的大概有两个,第一个是当做自己的搭建记录,方便以后自己随时查看提示修改,第二个是稍稍总结一下具体的搭建步骤以及一些支持个性化定制的博客源码修改的教程,稍稍分享一下这些修改经验,当然,更多的一些个性化操作需要你自己以后在这个基础上慢慢去摸索,有些写的不太好的地方还希望看到的小伙伴多多包涵。

博客初步的页面效果可以看一下我的博客:sunhwee.com,欢迎大家支持。

本博客基于Hexo,所以首先要了解一下我们搭建博客所要用到的框架。Hexo是高效的静态网站生成框架,它基于Node.js,快速,简单且功能强大,是搭建博客的选框架。大家可以进入hexo官网进行详细查看,因为Hexo的创建者是台湾人,对中文的支持很友好,可以选择中文进行查看。通过Hexo,你可以直接使用Markdown语法来撰写博客。相信很多小伙伴写工程都写过README.md文件吧,对,就是这个格式的!写完后只需两三条命令即可将生成的网页上传到github或者coding等代码管理托管平台,然后别人就可以浏览你的博客网页啦。是不是很简单?你无需关心网页源代码的具体生成细节,只需要用心写好你的博客文章内容就行了。

简单总结:Hexo, 产品成熟,使用简单,功能强大,有丰富的各种插件资源;但,像发布后台、站内搜索,评论系统类似诉求,虽然有对应的工具,但也需要自己折腾下,后续我们一步一步介绍。

教程大致分三个部分,

第一部分:hexo的初级搭建还有部署到github page上,以及个人域名的绑定。第二部分:hexo的基本配置,更换主题,实现多终端工作,以及在coding page部署实现国内外分流第三部分:hexo添加各种功能,包括搜索的SEO,阅读量统计,访问量统计和评论系统等。第一部分 搭建

hexo的初级搭建还有部署到github page上,以及个人域名的绑定。

Hexo搭建步骤1.安装Git2.安装Node.js3.安装Hexo4.GitHub创建个人仓库5.生成SSH添加到GitHub6.将hexo部署到GitHub7.设置个人域名8.发布文章1. 安装Git

为了把本地的网页文件上传到github上面去,需要用到工具———Git[下载地址]。Git是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git非常强大,建议每个人都去了解一下。廖雪峰老师的Git教程写的非常好,大家可以看一下。Git教程

windows:到git官网上下载.exe文件,Download git,安装选项还是全部默认,只不过最后一步添加路径时选择Use Git from the Windows Command Prompt,这样我们就可以直接在命令提示符里打开git了。

顺便说一下,windows在git安装完后,就可以直接使用git bash来敲命令行了,不用自带的cmd,cmd有点难用。

linux:对linux来说实在是太简单了,因为最早的git就是在linux上编写的,只需要一行代码

sudo apt-getinstall git

安装完成后在命令提示符中输入git --version来查看一下版本验证是否安装成功。

2. 安装nodejs

Hexo是基于node.js编写的,所以需要安装一下node.js和里面的npm工具。

windows:下载稳定版或者最新版都可以Node.js,安装选项全部默认,一路点击Next。最后安装好之后,按Win+R打开命令提示符,输入node -v和npm -v,如果出现版本号,那么就安装成功了。

linux:命令行安装:

sudo apt-getinstallnodejs sudo apt-getinstallnpm

不过不推荐命令行安装,有时候有问题,建议直接到官网去下载编译好的压缩文件,如下所示:

然后解压到你指定的文件夹即可,比如我解压到我系统的/home/shw/MySoftwares目录下了,如图:

注意本压缩包是.tar.xz格式的,需要两次解压

配置一下环境变量

sudovim /etc/profile

复制下面两行到刚打开的profile文件最底部(注意node的安装地址/home/shw/MySoftwares/node-v12.8.0-linux-x64换成自己的):

exportNODE_HOME=/home/shw/MySoftwares/node-v12.8.0-linux-x64exportPATH=$PATH:$NODE_HOME/bin

保存后退出,再执行下面命令将环境变量生效:

source/etc/profile

将目录软链接到全局环境下(命令后面的/usr/local/bin/node是固定的)

sudo ln -s /home/shw/MySoftwares/node-v12.8.0-linux-x64/node /usr/local/bin/node sudo ln -s /home/shw/MySoftwares/node-v12.8.0-linux-x64/npm /usr/local/bin/npm

这样安装好了以后使用npm安装的包(比如:ionic serve),使用包的命令时可能会提示找不到命令,没关系,在用户目录下终端执行下面命令(固定写法):

echo-e"export PATH=$(npm prefix -g)/bin:$PATH">> ~/.bashrc &&source~/.bashrc

这样我们在所有用户下,都可以使用npm,也可以使用npm安装的包的命令。成功地将nodejs安装并配置到全局环境下。

安装完后,打开命令行终端,输入:

node-vnpm-v

检查一下有没有安装成功

添加国内镜像源

如果没有梯子的话,可以使用阿里的国内镜像进行加速。

npmconfig set registry https://registry.npm.taobao.org3. 安装Hexo

前面git和nodejs安装好后,就可以安装hexo了,你可以先创建一个文件夹MyBlog,用来存放自己的博客文件,然后cd到这个文件夹下(或者在这个文件夹下直接右键git bash打开)。

比如我的博客文件都存放在D:\Study\MyBlog目录下。

在该目录下右键点击Git Bash Here,打开git的控制台窗口,以后我们所有的操作都在git控制台进行,就不用Windows自带的cmd了。

定位到该目录下,输入npm install -g hexo-cli安装Hexo。可能会有几个报错,无视它就行。

npminstall -g hexo-cli

安装完后输入hexo -v验证是否安装成功。

至此hexo就安装完了。

接下来初始化一下hexo,即初始化我们的网站,输入hexo init初始化文件夹

hexoinitMyBlog

这个MyBlog可以自己取什么名字都行,然后,接着输入npm install安装必备的组件。

cdMyBlog //进入这个MyBlog文件夹npminstall

新建完成后,指定文件夹MyBlog目录下载:

node_modules:依赖包public:存放生成的页面scaffolds:生成文章的一些模板source:用来存放你的文章themes:主题**_config.yml:博客的配置文件**

这样本地的网站配置也弄好了,输入hexo g生成静态网页,然后输入hexo s打开本地服务器,

hexoghexoserver(或者简写:hexo s))

然后浏览器打开http://localhost:4000/,就可以看到我们的博客啦,效果如下:

按ctrl+c关闭本地服务器。

4. 注册Github账号创建个人仓库

接下来就去注册一个github账号,用来存放我们的网站。大多数小伙伴应该都有了吧,作为一个合格的程序猿(媛)还是要有一个的。

打开https://github.com/,新建一个项目仓库New repository,如下所示:

然后如下图所示,输入自己的项目名字,后面一定要加.github.io后缀,README初始化也要勾上。

要创建一个和你用户名相同的仓库,后面加.http://github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是http://xxxx.github.io,其中xxx就是你注册GitHub的用户名。例如我的:http://shw2018.github.io

5. 生成SSH添加到GitHub

生成SSH添加到GitHub,连接Github与本地。右键打开git bash,然后输入下面命令:

git config --globaluser.name"yourname"git config --globaluser.email"youremail"

这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。例如我的:

git config --globaluser.name"shw2018"git config --globaluser.email"hwsun@std.uestc.edu.cn"

可以用以下两条,检查一下你有没有输对

gitconfiguser.namegitconfiguser.email

然后创建SSH,一路回车

ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。

ssh-keygen -t rsa -C"youremail"

这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。或者git bash中输入

cat ~/.ssh/id_rsa.pub

将输出的内容复制到框中,点击确定保存。

打开github,在头像下面点击settings,再点击SSH and GPG keys,新建一个SSH,名字随便取一个都可以,把你的id_rsa.pub里面的信息复制进去。如图:

在git bash输入ssh -T git@github.com,如果如下图所示,出现你的用户名,那就成功了。

6. 将hexo部署到GitHub

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开博客根目录下的_config.yml文件,这是博客的配置文件,在这里你可以修改与博客配置相关的各种信息。

修改最后一行的配置:

deploy:type: gitrepository:https://github.com/shw2018/shw2018.github.iobranch: master

repository修改为你自己的github项目地址即可,就是部署时,告诉工具,将生成网页通过git方式上传到你对应的链接仓库中。

这个时候需要先安装deploy-git,也就是部署的命令,这样你才能用命令部署到GitHub。

npminstallhexo-deployer-git--save

然后

hexocleanhexogeneratehexodeploy

其中hexo clean清除了你之前生成的东西,也可以不加。hexo generate顾名思义,生成静态文章,可以用hexo g缩写 ,hexo deploy部署文章,可以用hexo d缩写

注意deploy时可能要你输入username和password。

得到下图就说明部署成功了,过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!

7. 设置个人域名

不过,这一步不是必要的,如果目前还不想买域名可以先跳过,继续看后面的,以后想买域名了在还看这块

首先你得购买一个专属域名,xx云都能买,看你个人喜好了。

这篇以腾讯云为例,腾讯云官网购买:

然后实名认证后进入腾讯云控制台,点云解析进去,找到你刚买的域名,点进去添加两条解析记录,如下图所示:

然后打开你的github博客项目,点击settings,拉到下面Custom domain处,填上你自己的域名,保存:

这时候你的项目根目录应该会出现一个名为CNAME的文件了。如果没有的话,打开你本地博客/source目录,我的是D:\Study\MyBlog\source,新建CNAME文件,注意没有后缀。然后在里面写上你的域名,保存。最后运行hexo g、hexo d上传到github。

过不了多久,再打开你的浏览器,输入你自己的专属域名,就可以看到搭建的网站啦!

8. 写文章、发布文章

首先在博客根目录下右键打开git bash,安装一个扩展npm i hexo-deployer-git。

然后输入hexo new post "article title",新建一篇文章。

然后打开D:\Study\MyBlog\source\_posts的目录,可以发现下面多了一个文件夹和一个.md文件,一个用来存放你的图片等数据,另一个就是你的文章文件啦。你可以会直接在vscode里面编写markdown文件,可以实时预览,也可以用用其他编辑md文件的软件的工具编写。编写完markdown文件后,根目录下输入hexo g生成静态网页,然后输入hexo s可以本地预览效果,最后输入hexo d上传到github上。这时打开你的github.io主页就能看到发布的文章啦。

到这儿基本第一部分就完成了,已经完整搭建起一个比较简陋的个人博客了,接下来我们就可以对我们的博客进行个性化定制了。

第二部分 定制

我们要定制自己的博客的话,首先就要来了解一下Hexo博客的一些目录和文件的作用,以及如何平滑更换漂亮的主题模板并加入自己的定制源代码实现个性化定制

1. Hexo相关目录文件1.1 博客目录构成介绍

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

-node_modules-public-scaffolds-source-_data-_posts-about-archives-categories-friends-tags-themes

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

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

1.2 hexo基本配置

在文件根目录下的_config.yml,就是整个hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。

1.2.1 网站

参数描述title网站标题subtitle网站副标题description网站描述author您的名字language网站使用的语言timezone网站时区。Hexo默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和UTC。

在这里,你需要把url改成你的网站域名

permalink,也就是你生成某个文章时的那个链接格式。

比如我新建一个文章叫temp.md,那么这个时候他自动生成的地址就是http://yoursite.com/2018/09/05/temp。

以下是官方给出的示例,关于链接的变量还有很多,需要的可以去官网上查找 永久链接 。

参数结果:year/:month/:day/:title/2019/08/10/hello-world:year-:month-:day-:title.html2019-08-10-hello-world.html:category/:titlefoo/bar/hello-world

再往下翻,中间这些都默认就好了。

theme: landscap

theme就是选择什么主题,也就是在themes这个文件夹下,在官网上有很多个主题,默认给你安装的是lanscape这个主题。当你需要更换主题时,在官网上下载,把主题的文件放在themes文件夹下,再修改这个主题参数就可以了。

1.2.3 Front-matter

Front-matter是md文件最上方以---分隔的区域,用于指定个别文件的变量,举例来说:

title:Hexo+Github博客搭建记录date:2019-08-1021:44:44

下是预先定义的参数,您可在模板中使用这些参数值并加以利用。

其中,分类和标签需要区别一下,分类具有顺序性和层次性,也就是说Foo,Bar不等于Bar,Foo;而标签没有顺序和层次。

---title:Hexo+Github博客搭建记录date:2019-08-1021:44:44author:洪卫img:/medias/banner/7.jpgcoverImg:/medias/banner/7.jpgtop:truecover:truetoc:truepassword:5f15b28ffe43f8be4f239bdd9b69af9d80dbafcb20a5f0df5d1677a120ae9110mathjax:truesummary:这是你自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要tags:-Hexo-Github-博客categories:-软件安装与配置---1.2.4 layout(布局)

1.2.4.1 post

当你每一次使用代码

hexonewXXX

它其实默认使用的是post这个布局,也就是在source文件夹下的_post里面。

Hexo有三种默认布局:post、page和draft,它们分别对应不同的路径,而您自定义的其他布局和post相同,都将储存到source/_posts文件夹。

而new这个命令其实是:

hexonew[layout] </code></pre><p id="d079cda3-53dc-444e-98bc-63850dc5ae32">只不过这个<span id="e86ac8bc-b860-473a-9cca-c1a847371101"><span id="f74dbade-7364-48da-99e3-4605ac2365e2">layout</span></span>默认是<span id="dd010655-ecfe-400c-bc18-a9d09c1f8223"><span id="4a81f807-cddc-4779-a521-0a1d2a0e6edd">post</span></span>罢了。</p><p id="7e7da8d1-eff1-4bbf-b6e7-19bcc2675ae9"><strong id="4c5a7007-8239-4ef5-8b5d-f518da641fb7">1.2.4.2 page</strong></p><p id="19d1351b-4352-42fc-8ca2-54f59cf8f008">如果你想另起一页,那么可以使用</p><pre id="b414940a-ea5a-4251-9525-4998f15b95a9"><code id="e38a4ee4-ac5d-4035-b541-69ab0b283c34">hexo<span id="1a2c30dd-c1a2-4cd7-a231-564a4ed012b7">new</span>page newpage</code></pre><p id="21948078-cdd8-4590-b168-6e2d7bd3f71f">系统会自动给你在<span id="aafb0c44-2f55-4a73-b5d8-99c2054c3543"><span id="f72f20f2-6747-4573-8107-b2771644bfd6">source</span></span>文件夹下创建一个<span id="ea9f77c7-e14e-42ee-b10b-ec410085e389"><span id="2a844933-836b-4cb6-9004-6eefbde1b5b4">newpage</span></span>文件夹,以及<span id="b0e9c96a-a716-4634-9d15-0f942018f909"><span id="7c988bb3-2c59-4060-90bf-ec0fb0bbb2cf">newpage</span></span>文件夹中的<span id="5ec04eb6-cda1-446c-bbf3-757256d034d1"><span id="ecf83b7d-4251-4e4e-9916-ce5b7e3ef6d2">index.md</span></span>,这样你访问的<span id="455c1277-fcd4-4f01-91d1-fe49cfc5af1c"><span id="02dbb51a-d6f3-43e8-be91-ca73d9728431">newpage</span></span>对应的链接就是http://xxx.xxx/newpage</p><p id="26969733-41af-434e-a7e2-fd01d58cb57b"><strong id="15713309-b8e5-46a5-abd5-663f1c23160f">1.2.4.3 draft</strong></p><p id="3f0fa932-3873-4799-a088-1acfb39adbef"><span id="81dcd621-3110-4eb1-9472-ac5b6df8f3d0"><span id="f175cad0-0a08-4a50-b8dc-bc37ccd16585">draft</span></span>是草稿的意思,也就是你如果想写文章,又不希望被看到,那么可以</p><pre id="e1f8477c-920b-43a9-9f87-c23ccb24cbd9"><code id="50872aa1-0abf-4c5f-ab41-73ec87af3d66">hexo<span id="eb0d7e31-d474-433b-a497-e8e1d0f18d92">new</span>draft newdraft</code></pre><p id="c4dcadec-dd8f-4167-bb74-0ab487a90cb2">这样会在<span id="1ac92e3c-c68f-4786-a5e7-88734cbb8567"><span id="fd9e097e-4f6b-4c53-b411-ce1c6284802b">source/_draft</span></span>中新建一个<span id="fdf565e2-0b28-40ac-910b-dcae6a3451c4"><span id="777e524c-89d1-4089-9a17-d30ec6f95cb3">newdraft.md</span></span>文件,如果你的草稿文件写的过程中,想要预览一下,那么可以使用</p><pre id="9c8ff9d3-eb4a-4622-baaa-d9ceb6ee4844"><code id="0bdd0533-5a43-4f9e-bd50-039bfa5a4c9a">hexo server<span id="0d539cdc-b8d6-45a8-a8d8-c75ef4129eb6">--draft</span></code></pre><p id="f426d6a8-8584-4607-a050-a2023a0da519">在本地端口中开启服务预览。</p><p id="d4e866a9-33f6-4435-8c7a-6e3ce42abf46">如果你的草稿文件写完了,想要发表到<span id="6912d3ee-5880-45df-977a-be1b9aa9723f"><span id="8c571814-8006-419f-b170-ab0d8f4818d7">post</span></span>中,</p><pre id="6f000c24-dc6d-48c2-b8b7-c583e309adc4"><code id="142fcb80-581e-4341-ace7-13bd35172798"><span id="c2b354e8-28f4-4873-92c0-0e2608f3d581">hexo</span>publish draft newdraft</code></pre><p id="c6dbb6ed-008f-412a-8790-8d8f265ac7cc">就会自动把<span id="5d50fc7a-eada-4615-9bb5-f82e8d95844a"><span id="4ec01a29-3453-45f0-b670-13ad029508f6">newdraft.md</span></span>发送到<span id="71fa7d1a-b886-4c4b-8a64-ccc2f228c51c"><span id="17d227f3-6481-4a6a-a7e4-ccb5b621b18e">post</span></span>中。</p><h1 id="2d867380-7d6c-4e72-b191-d48196a47c98">2. 更换主题</h1><hr id="18388e95-fd96-4b4b-b9e0-964441928e9a"></hr><p id="b5bf924c-e0d5-415e-8d1f-20d4f004cf58">我们在了解<span id="7130a42e-5442-4020-a4c0-edbbb5e9d8c2"><span id="4671fc97-af3a-4ce8-818b-b056a6ea3c0d">Hexo</span></span>博客文件基础之后,知道主题文件就放在<span id="82be4c4f-a70f-4b01-8b3c-df9714f04efa"><span id="3e9bcf1a-bc4c-4855-81c8-158af8bbf6a4">themes</span></span>文件下,那么我们就可以去Hexo官网下载喜欢的主题,复制进去然后修改参数即可。网上大多数主题都是github排名第一的<span id="2d774c39-9ea4-4e93-bbdd-101df2f24fd4"><span id="f52a6d1a-1c86-41c5-8df1-640206b76a8c">Next</span></span>主题,但是我个人不是很喜欢,我在网上看到一个主题感觉还不错:hexo-theme-matery,地址在传送门。这个主题看着比较漂亮,并且响应式比较友好,点起来很舒服,功能也比较很多。</p><blockquote id="accd9ed5-d447-4e69-b5e9-24efb1809ebe"><p id="db5f46bb-5d8b-4671-ac4c-fd313c40cf91"><span id="f8576887-61d7-48bc-851b-4c4000dfc54d">当然,人各有异,这个主题风格也不一定是你喜欢,那么你也可以跟着这教程类似的方法替换成你喜欢的就行了。</span></p></blockquote><blockquote id="a4beea50-7547-4f32-90d5-0427b2e58b01"><p id="f4921ca3-83a3-40b0-9890-7abe7675ce51"><span id="d3f1aaf0-b33a-4b62-9b69-483039a07c46">特性:</span></p></blockquote><ul id="7187cd56-da22-4c24-95cc-d8ad5eea33db"><li id="daeb8b56-c428-4bc6-9e29-a8e04f132299">简单漂亮,文章内容美观易读</li><li id="6722a023-2597-49f7-8808-d24e1972e32f">Material Design 设计</li><li id="240d3483-d994-4d3c-bd02-3bdf9e1304bd">响应式设计,博客在桌面端、平板、手机等设备上均能很好的展现</li><li id="0e58dab8-e434-4ea6-b51b-0bb3dabd8aab">首页轮播文章及每天动态切换<span id="d94777a1-8950-4ece-90cb-54c4ccdd6f2c"><span id="6435d4da-f720-4ada-b4a4-f434a5e7550b">Banner</span></span>图片</li><li id="2304ec53-b9eb-4d1f-919f-8856e8755142">瀑布流式的博客文章列表(文章无特色图片时会有<span id="42de90f7-fc9f-45ca-a176-e0bf20bd79fd"><span id="3baf7544-e5f5-4c72-bab7-91a955e34dc3">24</span></span>张漂亮的图片代替)</li><li id="c9ab7b23-39de-4216-b266-90911c8078f2">时间轴式的归档页</li><li id="96d1403a-e038-4944-9afe-0daaec050a77"><strong id="dbc4947b-aeee-48c3-ada4-2d51f9d3a693">词云</strong>的标签页和<strong id="d035697e-a85f-47f5-a9dd-0aece9835323">雷达图</strong>的分类页</li><li id="26046f26-7690-40d9-8c35-72ec7296fce2">丰富的关于我页面(包括关于我、文章统计图、我的项目、我的技能、相册等)</li><li id="a812f9c0-c634-4619-b902-400a98ba22a5">可自定义的数据的友情链接页面</li><li id="d873bf51-1bde-4f90-8704-d1326823d593">支持文章置顶和文章打赏</li><li id="f63759e7-a5c8-45de-8bc5-d30604c116fb">支持<span id="1d170d15-93f1-43ab-9d1e-f64f960002c3"><span id="c6db1353-1c05-4e5b-907c-e2a627552448">MathJax</span></span></li><li id="7f83ffdb-5f37-483e-bfa7-80f58df23291"><span id="fc563a72-43ba-4d9d-9fef-00ef9c4edc6f"><span id="5bebba06-bd57-4b4d-bb6c-3b4149c2d48a">TOC</span></span>目录</li><li id="ab4dae0e-cb30-4ecf-bada-4c954bf4a444">可设置复制文章内容时追加版权信息</li><li id="e697ab3b-1d33-49cf-b4f8-706ce63c8b3f">可设置阅读文章时做密码验证</li><li id="623bd20c-a7f0-47f1-a224-2ac1ab1e1984">Gitalk、Gitment、Valine 和 Disqus 评论模块(推荐使用<span id="000f0359-f7d1-42ec-93c4-27adc43042eb"><span id="c376610f-27b2-48e9-809a-383a288792a4">Gitalk</span></span>)</li><li id="44678556-01c9-49ed-a4d1-1327b9225a67">集成了不蒜子统计、谷歌分析(<span id="5d386856-ef61-46ab-848f-e991beb93653"><span id="e8380407-61d7-48fc-861e-844913b7680e">Google Analytics</span></span>)和文章字数统计等功能</li><li id="3911c977-6a95-42f0-87e9-905a487bb5d0">支持在首页的音乐播放和视频播放功能</li></ul><p id="55420541-4174-4ac5-abc0-025b8d240b5c">他的介绍文档写得非常的详细,还有中英文两个版本。效果图如下:</p><p id="9a12be46-15b0-48ba-ae65-a41a61f57c52">首先先按照文档教程安装一遍主题,然后是可以正常打开的,如果你是一般使用的话,基本没啥问题了。不过有些地方有些地方可以根据你自己的习惯和喜好修改一下, 下面记录一下我这个博客修改了的一些地方。</p><h1 id="74f00798-523e-47d9-b996-17ccac867ab1">2.1 新建文章模板修改</h1><hr id="c02357ac-0560-471a-9f3e-6dfd9b15cbc6"></hr><p id="571cf9d0-3ccc-4042-80c7-8ab1c517823d">首先为了新建文章方便,我们可以修改一下文章模板,建议将<span id="b57c8cb2-ed04-4f6c-8685-a5348e8ff647"><span id="92682728-bd51-482a-a440-e583754b799b">/scaffolds/post.md</span></span>修改为如下代码:</p><pre id="609bf736-88c8-4542-a103-09dc5d094a8f"><code id="2c1ba3df-8b96-4590-abc5-576ae47aeb16"><span id="d5f17189-ee3e-4212-be2b-6e78ebfec313">---</span><span id="112d3bf1-708a-4fd4-a971-e74aaf11d36b">title:</span><span id="e13ed2dc-bd9a-43f4-bd0a-52bf326adc9d">{{</span><span id="61cbf8ab-4028-48f4-9135-a42b59b722be">title</span><span id="bd725c68-f517-4060-b719-dda9c1a9047c">}}</span><span id="1a225f3b-2b53-4cca-879e-3436ac997664">date:</span><span id="7d213b20-85f1-4d8a-b6c0-a2df338e539e">{{</span><span id="d3262d43-72cd-4ff8-aacf-d45f813887e9">date</span><span id="d7ef6e72-fdbb-47f8-9798-f1ae3bfb3a67">}}</span><span id="e869fd71-feb7-42d9-b3ad-aadece44ad13">author:</span><span id="57bf6981-8b33-45d6-afbd-e054e8ce9540">img:</span><span id="d7127db6-e1ee-467a-aaa6-0a2816bb44bf">coverImg:</span><span id="5eb0fde1-fdd7-47e6-8def-4f64015b0850">top:</span><span id="12f238fb-89a0-4b76-9d6b-84e235e3a4a4">false</span><span id="f3319830-77d1-4813-8b31-b8ea3ee4a6fb">cover:</span><span id="f189e4f3-46f6-4ae9-8171-51402f8bbb15">false</span><span id="58bc442c-9ab8-4adb-8ed3-ab0e2a4c1cd6">toc:</span><span id="26822146-acd1-4f50-a6e3-d836317fc473">true</span><span id="15c79136-c213-4a6f-9724-b6590be4f694">mathjax:</span><span id="7704b4ca-6329-4ecf-8767-a84f6eb0a5b4">false</span><span id="656e1576-260d-4ac3-a8f4-c4a746a4afe1">password:</span><span id="23352356-ca5a-49c6-93d7-281911318655">summary:</span><span id="c3e0e8a8-24e1-4d49-968e-f16d95a517ba">tags:</span><span id="dc7622e0-2ecf-415a-8aa6-080f491afc4c">categories:</span><span id="39dc372e-01c6-4792-b842-36e170c8167e">---</span></code></pre><p id="1cc2680b-7e2c-471b-9af1-4ed55997a682">这样新建文章后 一些<span id="29c353c6-2efe-4e52-ba30-525beacc2a7b"><span id="fc7544ad-03ab-432a-9840-bd07a6f95886">Front-matter</span></span>参数不用你自己补充了,修改对应信息就可以了。</p><h1 id="b5ce89c2-17cd-4c07-8f8b-d75dc063bfc9">2.2 添加404页面</h1><hr id="f08631be-b6d9-4b56-b9e1-d70dc23857c6"></hr><p id="ac22a4eb-d6eb-4939-b047-b856e0666119">原来的主题没有<span id="151dbf8e-bb90-451e-926c-16e3964119f8"><span id="429615bb-c54e-4711-be77-6b36b54afed3">404</span></span>页面,我们加一个。首先在<span id="e0966dd7-c5bb-4e76-a0bd-6a90e86ab4ed"><span id="5ae5483e-b9f6-4159-87b5-77213bd0daf5">/source/</span></span>目录下新建一个<span id="de22f5ea-88a7-4eb8-91bf-d2457ae083d7"><span id="003370ad-0eba-4209-8e6c-8f2934bb80e6">404.md</span></span>,内容如下:</p><pre id="4e994713-525d-4091-a685-d380dba61172"><code id="19a8fe9e-bec4-450f-b241-90b64ffe3f4d"><span id="82ca8a88-8acb-490d-8f63-368e83fca96f">title:</span><span id="5a9b1f10-2735-457b-8e3d-9746401ff3fa">404</span><span id="72be0488-1748-446a-9b05-e6cd1174749b">date:</span><span id="9ceebb69-12a6-48c7-bcca-b2d745cd2fb1">2019</span><span id="e953e62b-c55a-442e-b749-90aaaa7961e9">-08</span><span id="262d8330-fe04-4a77-a828-9d19554bccf1">-5</span><span id="56fd6b9f-5f44-4c2e-a542-97fea4118a4d">16</span><span id="13a65304-f7c5-4054-a151-d1f48fcebe41">:41:10</span><span id="18cabcb2-9414-4b07-86a6-fc0a5a230420">type:</span><span id="73405edb-4a10-44b0-8048-a06925051a81">"404"</span><span id="43500fcc-eef5-47b0-98b9-e0e71e0c7a7c">layout:</span><span id="9668f40a-67d8-4145-a3c5-88f8b3918e01">"404"</span><span id="c5aead50-7390-4a98-96c0-bc52958e61ab">description:</span><span id="dc7f998c-72c8-453c-83d2-bf1cee4ddb9e">"Oops~,我崩溃了!找不到你想要的页面 :("</span></code></pre><p id="3fdd680a-eff9-4a83-ad76-22a520b28956">然后在<span id="678cca8d-89fa-48d6-b8a4-955d17061220"><span id="a1eaf29f-98b2-4c87-99fc-8bcd658927b1">/themes/matery/layout/</span></span>目录下新建一个<span id="705e2f1d-dd7c-45dc-b27f-bcddd32a73f9"><span id="478cd2fb-132c-40eb-8e4f-77f635fda7ef">404.ejs</span></span>文件,内容如下:</p><pre id="d53035c8-e37f-40e0-adac-836d5ca35ed2"><code id="67e73041-39a9-473a-8e86-3a5622c10c44"><span id="5b5abec4-4240-4981-9e9b-65dc0ee26c48"><<span id="c1dc1b3d-1c6d-4841-8225-3388c8678930">style</span><span id="0c2cdcf3-5ffe-4ea3-b99e-6e2af6db8127">type</span>=<span id="a7522560-23f2-4d13-9fa3-4f9fedb97ceb">"text/css"</span>></span><span id="fe144622-fd0b-4337-8bae-769c97f0e47e"><span id="7ec6b194-7632-421c-b76d-89522e0a6f83">/* dont remove. */</span><span id="4d76631b-ce9a-48c9-adc0-adb6768edf2d">.about-cover</span>{<span id="348abf5b-e758-4b37-850f-a3d80e4350d6">height</span>:<span id="792185c7-80a0-40cb-b484-d7891d58ec32">75vh</span>; }</span><span id="172ca257-e948-485a-9f8c-29bfa0e82a28"></<span id="1a322c56-21ac-486f-912c-6dbd2154f54b">style</span>></span><span id="6fb66eb0-7b64-4c14-bcb9-92312b41cee7"><<span id="51dade4d-fc03-4311-86dd-870e7c0b0e5a">div</span><span id="145fcc60-5e78-4f92-9d0a-5b3501d1332d">class</span>=<span id="b96c1fa0-a9ce-42ad-b658-ca15d13ead16">"bg-cover pd-header about-cover"</span>></span><span id="14fddfde-6060-43ea-8cb6-35add7732816"><<span id="022e180f-1315-412d-bde5-a73faf1025d7">div</span><span id="2fb427f8-8161-49f2-a9c0-3254de912d41">class</span>=<span id="69a99826-eb55-44d1-957e-b5ae13ce0878">"container"</span>></span><span id="ad333f23-ccb2-4691-a3dc-1e3e6ad6f2b9"><<span id="5c011dc0-a29f-4545-907e-51a2b4acc06d">div</span><span id="dd0a80bc-fb87-48bc-8283-bf3180ef410f">class</span>=<span id="1144814e-39b5-4fe6-9284-12529b1156b9">"row"</span>></span><span id="559fd3c1-ddad-4861-a0fb-7df90d2e23f7"><<span id="e22070a3-398b-4f9b-8990-7feef28f917b">div</span><span id="390c7dc5-5421-4338-8d23-dcc6c4621279">class</span>=<span id="d9d4bfcf-956d-4816-acc9-ba7334d96d81">"col s10 offset-s1 m8 offset-m2 l8 offset-l2"</span>></span><span id="aa73312a-62b9-4387-8a0f-5aff2a492e24"><<span id="c254a724-c69c-443f-b80c-a79b54a86641">div</span><span id="5bba0dac-a64a-406c-b528-976bd3e83c53">class</span>=<span id="c0064fba-35b4-4067-95ff-96b327000d22">"brand"</span>></span><span id="be141866-68c7-47fb-9c21-b76597ce4c37"><<span id="437a244b-52a6-49c0-8e66-4301b66e252d">div</span><span id="2f839aa0-9c62-4279-b196-31c88170673b">class</span>=<span id="2dc7dff6-df51-4d18-a557-66fa23a22377">"title center-align"</span>></span>404<span id="7ece62e2-3512-45f7-a715-35966a424ce2"></<span id="4164be91-a191-41f2-a516-a66cc7f17fda">div</span>></span><span id="99a987aa-4fc3-451c-b3bf-fe3b80595ca9"><<span id="4c9c8a7b-973f-4a2f-a34b-fa5ce68b7281">div</span><span id="1d092ca9-8648-4b3c-a352-3ad529816e81">class</span>=<span id="58b33c29-74eb-40de-a1b0-f3e89c2768e7">"description center-align"</span>></span><span id="10055a00-351e-4af0-a058-a67efe52cf9f"><<span id="6a61135f-53bf-49e3-86cf-23719507bcf2">%=</span><span id="440d3652-0408-4a8c-acfa-d3ca534489dd">page.description</span>%></span><span id="f0872ebf-3181-4877-a4b3-9b75073d36a7"></<span id="0166da51-78ec-4fab-85ae-847387716b7b">div</span>></span><span id="bf289f3b-43bf-4af2-95de-5a28a46fd587"></<span id="94ea2f7c-fb00-49c3-9162-dd68f8d5c4e3">div</span>></span><span id="9fd3a13a-341b-44e6-a82d-f73b39705ca6"></<span id="1d4e2bee-96d1-4fc6-978e-66898a2dcab3">div</span>></span><span id="260706f8-31f8-46f9-84ed-8e0044531dc9"></<span id="9370b26a-bb48-4cab-9fec-687a59e6dac2">div</span>></span><span id="9fed2c3a-b088-4e2d-a49a-4ded6c4c0d32"></<span id="06602544-d778-48e1-8c92-5768410e87f7">div</span>></span><span id="df27bd9b-e317-40f9-ace0-a0e7906050a4"></<span id="8985fc4a-2dda-4e6a-89c4-36405d949102">div</span>></span><span id="c8698e0c-2492-4331-b596-293ebe5e2527"><<span id="77ded9e5-5f60-409a-9a75-604547050c09">script</span>></span><span id="4df2f7b0-559c-4152-88c6-12969f026baa"><span id="67ee6208-98f0-4590-b0b4-c384d5354728">// 每天切换 banner 图. Switch banner image every day.</span>$(<span id="528b38a2-b564-4fa5-a722-38bfdef65ae8">.bg-cover</span>).css(<span id="5333b778-85b0-4cec-8640-72f28906126e">background-image</span>,<span id="865ef4bd-ff6b-4a55-a759-db0f0e4edb4c">url(/medias/banner/</span>+<span id="ddbf0ab4-82ed-4a36-ad01-77ebb7cc3e66">new</span><span id="df57c276-8424-4ee5-8ad7-2367b699483b">Date</span>().getDay() +<span id="d1ed33b8-9658-45fa-9ae7-f6282660b04c">.jpg)</span>);</span><span id="80cf2b48-921b-4c12-a959-a05decfaa736"></<span id="bf15c68f-2da6-43fc-85f6-54e556cae9fa">script</span>></span></code></pre><h1 id="b96f0d39-d220-4255-9f2d-b8ed05fa8ee8">2.3关于页面增加简历(可选)</h1><hr id="6d8fe216-ce99-4c3f-a074-01a57f06c96c"></hr><p id="a55ff28a-35af-4d8a-b19b-c1b8431fcfd3">修改<span id="a52e8ac4-70a0-43fd-b747-9db2b46a5701"><span id="cfd8cd3d-abf6-41d2-a7ff-222097456625"><span id="b64b2c8d-da57-4ae2-869e-54fe35be20c7">/themes/matery/layout/about.ejs</span></span></span>,找到<span id="b171ede9-5aee-4d59-8f3a-5b13aa89dd03"><span id="abf9910b-cd4c-4f84-8524-b2b215bbbc36"><div class="card"></span></span>标签,然后找到它对应的<span id="9885303f-08c6-42d5-a544-11dd63fdca95"><span id="ece66d72-2de7-4d15-8393-f2d6faa145f0"></div></span></span>标签,接在后面新增一个<span id="6866a584-aab1-49b2-b156-3d49cd54f027"><span id="5c5134b1-bb90-464d-8ff0-c952dc96da6c">card</span></span>,语句如下:</p><pre id="d2a33a4c-5595-4e86-a4a9-537d326cec18"><code id="08d1d0fb-49f0-4487-ada7-09d5d95af3c2"><div<span id="97bcd285-285b-499e-bcde-6fd825160177"><span id="a006790a-d656-4a07-9e17-7fa2436f111b">class</span></span>=<span id="bc7a99b9-af08-4440-9bdd-56d22b4c5911">"card"</span>><span id="2f03216a-ee14-4178-bc43-aca3b9e73c4f"><span id="a6c1c84b-bbe9-48ac-afbe-bf79c4552668"><<span id="62510465-78c8-4069-a3a6-c93c05895eda">div</span><span id="bac2267e-846c-4368-a177-bbbac7a1a6d4">class</span>=<span id="aec8202c-e8eb-46eb-bb85-628f6b1cf5dd">"card-content"</span>></span><span id="a6a20409-5bbf-4093-865b-c8f91acddfc3"><<span id="d269901d-3fb6-4672-8f73-d8578093073e">div</span><span id="97a92548-3a38-45c4-87a1-33f482a522db">class</span>=<span id="47a8494f-4af9-4cc0-8b11-c64e16c14d6f">"card-content article-card-content"</span>></span><span id="205c2f86-50a6-4ed3-935a-d99b8c04b9e0"><<span id="00836787-4280-4944-9a7b-b80e100a8e22">div</span><span id="cd13cef3-fa2e-440a-b59b-d97b7d4f84fa">class</span>=<span id="fb97cfb1-b628-4b4b-a173-cf6f89eccd1f">"title center-align"</span><span id="b853b770-11f2-4ae3-bffd-5acfb4feccc2">data-aos</span>=<span id="c35e710b-77eb-4515-b89c-0f39012b3791">"zoom-in-up"</span>></span><span id="f5fbeec5-7548-4d30-870f-6b3e534a71be"><<span id="d0ee1866-a163-42fc-ae03-10f17df1ef40">i</span><span id="d943a8d9-81a1-4bd7-9049-359de8c0ea74">class</span>=<span id="27f85a91-dd46-4357-bba5-82e819fcfcb8">"fa fa-address-book"</span>></span><span id="20ce53a0-fc92-44d0-bd01-74a078537eda"></<span id="5b18765d-0733-4aad-803a-ace237bea94d">i</span>></span><span id="ab87b4bf-7a9a-42be-8cc7-eccc7a191af9"><<span id="ea68a622-8c16-49a0-8d68-673a8f2c997c">%-</span><span id="7086258b-b408-4789-bdc9-baad1834a1a4">__</span>(<span id="eb516af6-7117-4022-8036-ba634bc7c54b">myCV</span>) %></span><span id="fc0cd5d2-9552-4926-b617-767c0db66b0d"></<span id="2a30e243-34e8-44ff-853d-94ddd1b980aa">div</span>></span><span id="8157ab1a-98fd-435f-be52-32626da5fb41"><<span id="0b3b075f-3a76-464f-b0bc-674a1de042e4">div</span><span id="920e15bb-1c24-4fda-97d9-47b0d44ed1b9">id</span>=<span id="5c4c99bf-b357-4ede-bfb5-4853de5b9b9a">"articleContent"</span><span id="59bd5f4c-5d99-44df-8711-761a7539bc58">data-aos</span>=<span id="73fbe8ea-e70f-4ceb-ad46-2a0007a750c0">"fade-up"</span>></span><span id="b42457fc-6760-4ef3-9814-19b4c7603c10"><<span id="3d26ac59-7595-4654-9bd8-67178ddd64e3">%-</span><span id="68b053fa-f6d8-4e13-a2f7-f34a5698311d">page.content</span>%></span><span id="bddc668a-3b70-4702-9873-309c339ba422"></<span id="8c383440-dd21-420e-ae0b-cb33e502e467">div</span>></span><span id="c3bdba35-99a8-450a-ab40-28291fd9f2a4"></<span id="82cee7f0-6c7f-4214-a350-2da7b506eb72">div</span>></span><span id="5fe6ad0f-5be6-4afe-b5d0-0289704932c0"></<span id="873efa3b-9f96-40b6-b19b-093f78c949a3">div</span>></span></span><span id="24298dc6-0a60-4619-bef1-bb20f77a6ac1"><span id="1ee1679d-a401-4f8f-ae23-3b4f2a3dc334"></<span id="fdd22413-1e97-40d1-bb1f-a0b6b622a0ee">div</span>></span></span></code></pre><p id="a8913d25-9546-4fd0-8a5b-b8c3b1e8da3e">这样就会多出一张<span id="3cfce2ca-9081-4666-be42-7ce25406c528"><span id="7b1d9fa8-b2ce-4d0c-b1cd-f966087d0c0b">card</span></span>,然后可以在<span id="333c2c56-8024-4512-9b44-b3f203ebed17"><span id="f4fe9f34-b973-4312-9ab0-ba39101b2f50">/source/about/index.md</span></span>下面写上你的简历了,当然这里的位置随你自己设置,你也可以把简历作为第一个<span id="2fb6a784-d4f4-475d-997c-be367e9eb91a"><span id="688c9089-eca6-4125-80a2-5fc5d8f54f3e">card</span></span>。</p><h1 id="86d2c792-7287-47c9-8c6e-d2fa38b46940">2.4 数学公式渲染和代码高亮</h1><hr id="6d442dbf-33d8-4a1d-a387-f34e082937f9"></hr><p id="973d7f06-ab29-4c79-bc90-e1a2fc5b6e46"><strong id="bfc4aa45-a34a-490d-bdec-e0982fcf917f">2.4.1 解决mathjax与代码高亮的冲突</strong></p><p id="132803ac-80e1-46bb-a180-2339b8afbf47">如果你按照教程安装了代码高亮插件<span id="c07d5f22-08b2-467a-aa32-edbfdd6adc08"><span id="663c87fd-6b83-4bab-974a-a6531893b07d">hexo-prism-plugin</span></span>,单独使用是没有问题的,但如果你又使用了<span id="fbf7cb5e-bc8c-44ff-bcec-08a8fd486aab"><span id="9618d977-9ac3-4242-a472-b6d877842c5b">mathjax</span></span>,并且按照网上教程,安装<span id="1e124d50-e575-4093-8a52-8da0c2243ddb"><span id="27b07b50-2e20-4d9d-af3b-231d2b856266">kramed</span></span>插件并修改了<span id="968b4b47-6f20-4fce-abb9-dd408554f89f"><span id="a0d38c2f-fffe-40fc-a114-9038d6b8cc4e">js</span></span>文件里的正则表达式(为了解决<span id="7e677e7b-0a87-4071-b7c4-a94f4449144a"><span id="526891eb-a5f7-4c93-af15-6c922cd1dfde">markdown</span></span>和<span id="5c297f45-91c7-4ade-9318-65cfb7770ef9"><span id="3738ea0a-19a8-4bc3-a0af-e61b5732648b">mathjax</span></span>的语法冲突),那你的代码就无法高亮了。解决方法很简单,别用<span id="f5de334c-295b-4bb0-a567-38719963574f"><span id="965e3328-66a4-43b9-ade4-20aef5ad1e0b">kramed</span></span>插件了,还用原来自带的<span id="99a346c4-ded5-4a45-aed3-84bf7ff0df14"><span id="cdd8a44b-f8bc-4197-8fc5-ae04a7e123bf">marked</span></span>插件,直接改它的正则表达式就行了。</p><p id="4bc2c3e6-b771-4d1a-90d0-60f832a36e80"><strong id="a5169bae-fa52-47a5-9ee8-1b3d93c0af4e">2.4.2 加数学公式显示</strong></p><p id="86463b1c-26e6-4301-9411-223161e3d998">打开<span id="65a83a5d-fc65-4b06-afa4-bbcd53abbbf7"><span id="41172910-82d6-4356-853b-f0f033bf7991">/themes/matery/layout</span></span>中的<span id="48f06a6b-4f46-412b-94a2-b9f844134321"><span id="7338994d-34a9-4f62-89ba-be00310ab07c">post.ejs</span></span>文件,在最下方粘贴如下代码:</p><pre id="b1c35793-3493-478c-8536-1b683e18907c"><code id="2a7883c5-9e5d-44e3-8d44-c747fe1cc5d9"><span id="25a37119-3b63-4610-ad29-d2f78e428859"><<span id="0a34ae40-699c-47b6-9ab7-d632877ced7f">script</span><span id="a88cbfeb-0911-4b54-b7f7-4a393464facb">type</span>=<span id="61f383bd-a9e9-40b7-9a70-a8f7ade4c4e7">"text/javascript"</span><span id="947b2dfc-fec8-4ea5-92ab-10fccbc8714c">src</span>=<span id="ac235cd5-f70d-4f79-9577-b10ffdc7ef24">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"</span>></span><span id="cf2b32e3-6591-4aea-9f27-d7f68c4ed82f"></<span id="20bd695f-9394-4eff-afd9-1dbefdb7c077">script</span>></span></code></pre><p id="3f8e7ef0-401f-44b1-ba16-45dfa188c65a">由于<span id="5d088897-91a1-48ee-a247-79819c19c1cb"><span id="a311e406-acad-4d8d-a161-b4d32b028438">markdown</span></span>语法与<span id="303bfd85-9a9a-43d6-b08f-e12b8b62d321"><span id="9c73a050-8a45-4f31-b0f2-b69e19140a07">mathjax</span></span>语法存在冲突,所以还需要修改源文件。</p><p id="9194b616-f98b-4b69-8d37-d4f8506ce897">打开<span id="e933c4b8-8ddc-4f73-85fe-f523a60d4848"><span id="5e0414ae-19e3-4d00-afa9-8514764a424f">/node_modules/marked/lib</span></span>中的<span id="4149e016-05e9-46be-88d7-763907b34fc2"><span id="627aa9fa-0a0b-4efd-8513-e967806f7329">marked.js</span></span>文件,第539行的<span id="185ba812-1ae1-466e-ac84-afe7adbc0f92"><span id="5e2b098b-1bc5-4002-9ca9-e9b107053b1d">escape:</span></span>处替换成:</p><pre id="67c07eb4-a711-4228-bb34-7bc0c976290a"><code id="502bdeed-0ffb-44a3-8b4c-43d781711a23">escape: /^$[<span id="b6cb0535-a053-49e6-a98f-7bd86dac9b83">`*\[\</span>]()$+\-.!_>])/</code></pre><p id="d96d749a-045d-4708-b1c1-49836f141fee">第553行的<span id="6edbaaea-8d6c-4c82-a7df-9c5cc140c513"><span id="f0bfd592-d7b0-4fea-a58a-c63a56736b59">em:</span></span>处替换成:</p><pre id="b5a9875a-16ff-44bf-9f0c-4d3b95eaba68"><code id="d9f42eb7-5c9b-451e-b2d3-eb27394a5ac0">em: /^\<span id="fd2b2b6a-2e35-457f-85ca-9060a9afc8f3">*((?:\*</span>\<span id="230be4b6-2bc8-478e-8755-1b675b970263">*|[\s\S])+?)\*</span>(?!\*)/</code></pre><p id="d94e57d6-2e1e-4732-a965-edbee092ed55">这时在文章里写数学公式基本没有问题了,但是要注意:<strong id="26def030-02ad-4c01-8f70-9f47e5f84ed5">数学公式中如果出现了连续两个{,中间一定要加空格!</strong></p><p id="f9b74958-798f-4bf6-a0f6-6dde1e1bd4a3">举个例子:行内公式:y=f(x)y=f(x)代码:</p><pre id="6f48486b-2a9b-4f8f-be71-9ee9ffb3057b"><code id="a44abe30-0c8d-4e1e-ab62-ec6e86bc0476">$y = f(x)$</code></pre><p id="4d27b4b8-05ab-4eb7-a197-b951e75d66c9">行间公式:</p><p id="2e32cdec-9243-4f6e-8eff-68243b59717b">y=fg1(x)y=fg1(x)</p><p id="08c9a2d5-fc32-49ac-a188-1ffd88be3121">代码:</p><pre id="8540a485-314c-40c8-b32c-a59371095fd3"><code id="fb745898-8e1f-4c4b-8d61-c27a87d977b5">\\<span id="ebbc9316-9603-4ce6-8b8d-581dce182394">[y = {f_{ {g_1}}}(x)\\]</span></code></pre><blockquote id="f99a8779-6b8f-4e4b-95ef-aa2928cdd17e"><p id="22973c4c-d115-432e-8a55-0c1f2d637d3e"><span id="6784a881-83da-4ef8-99d6-d8a46db942d7">注意上面花括号之间有空格!</span></p></blockquote><h1 id="bf2cbaf3-9024-4f4f-b9e0-89602822ad3d">2.5 增加建站时间</h1><hr id="7e9f4aad-a45b-432e-8c57-c8ba44cc746a"></hr><p id="7928cf14-faf5-4bb8-a181-8617b30ba546">修改<span id="86f6a8cc-33ea-49c4-8d96-c46cd90f8d12"><span id="38ca5c53-59e0-469f-ac2f-2f0c1fee23e2"><span id="7ec21153-5b01-4fac-809f-99454730956a">/themes/matery/layout/_partial</span></span></span>中的<span id="b409e13c-305d-487f-a9e0-a5c494b0e95b"><span id="90f4fbca-1bcd-48bb-bd54-6bddeb257749">footer.ejs</span></span>,在最后加上:</p><pre id="4900a921-61b4-4982-9893-4ba7d5998c2a"><code id="0fb47117-97da-48b2-afcf-8f39f91450dc"><span id="539e5643-d35e-4edb-9033-b58238cf66f4"><<span id="37351161-bf1c-4db1-965d-76987008c364">script</span><span id="54e8bf9d-1027-4479-a6b6-e8283c5b20e1">language</span>=<span id="807fc2a2-3bdc-4f99-b000-9bffdb3d8113">javascript</span>></span><span id="f9e97eb1-9932-4f0e-9b1b-9f00e50cfc6e"><span id="a0cbf7fc-acb9-4894-afb7-6992ab37bcd7"><span id="2154db89-7434-4453-aba2-e999a59457c9">function</span><span id="4f479754-d895-4e5d-9e91-359e63af0e0e">siteTime</span>()</span>{<span id="b79a4331-e55c-4b64-993f-e3a6a3abf892">window</span>.setTimeout(<span id="b7eaeaf2-3c54-4b2d-ab13-8ccfb7419095">"siteTime()"</span>,<span id="9acf763e-7fbc-429b-8ec1-b85feb990448">1000</span>);<span id="f192bc94-1231-4ca3-999e-9caf1f116610">var</span>seconds =<span id="804341f5-15c9-4efc-b090-f641167a0f8b">1000</span>;<span id="97f9ef69-e0e5-4761-a6a7-51e49b60d0b7">var</span>minutes = seconds *<span id="720defb3-9b96-4399-91b2-dba1b1f9c96a">60</span>;<span id="b9b9ec01-4941-4807-99e9-8a2ac5cee3b8">var</span>hours = minutes *<span id="1c299861-761a-4635-9108-b8a5eab3136a">60</span>;<span id="b511cf83-27ad-40e3-ad79-5aa07e5cebed">var</span>days = hours *<span id="1f734379-aaa2-41cf-ad60-63c8ffa4cb23">24</span>;<span id="f2762df6-9d09-4ea6-9de1-ac1ffb82f466">var</span>years = days *<span id="373a2003-a61d-448f-a2d8-b049eb4cfc7a">365</span>;<span id="ee6e1603-0f7f-42f3-abf0-ea7d9ffa4fc2">var</span>today =<span id="b749cc87-da06-4b25-85a8-ec65f85fd90c">new</span><span id="4f03ecbd-21b1-44d0-a2ce-d29ba7714e46">Date</span>();<span id="62e631a5-804a-46b9-83a9-436d7c4c0652">var</span>todayYear = today.getFullYear();<span id="9eab9253-d260-4ded-b10b-4adb00cce541">var</span>todayMonth = today.getMonth() +<span id="60613c7a-bcf1-4b50-9811-3964298d39c5">1</span>;<span id="da64ffb9-2bc4-4bfe-9b12-8794a80a4c04">var</span>todayDate = today.getDate();<span id="26699eeb-3982-4cbc-b783-eb3284c5fc49">var</span>todayHour = today.getHours();<span id="e1348522-2d15-44a8-b8e5-1f4ace99126a">var</span>todayMinute = today.getMinutes();<span id="e896210e-4d31-4690-b067-3be4d9757fe6">var</span>todaySecond = today.getSeconds();<span id="81e6ae8a-ceb1-423c-86df-8a4a5137b3a2">/* Date.UTC() -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳) year - 作为date对象的年份,为4位年份值 month - 0-11之间的整数,做为date对象的月份 day - 1-31之间的整数,做为date对象的天数 hours - 0(午夜24点)-23之间的整数,做为date对象的小时数 minutes - 0-59之间的整数,做为date对象的分钟数 seconds - 0-59之间的整数,做为date对象的秒数 microseconds - 0-999之间的整数,做为date对象的毫秒数 */</span><span id="93b6f2d5-750e-4684-a585-1ecbfd6f215e">var</span>t1 =<span id="43ac0f58-0103-4fe3-905e-eeb349118824">Date</span>.UTC(<span id="f977dc14-a809-439b-ac2e-739ef8b0316f">2017</span>,<span id="1d83e188-619b-4fda-8547-6414a6df8902">09</span>,<span id="9748fb1c-adec-4272-9aa5-93941cb78b41">11</span>,<span id="2876e704-dc90-4360-b9a0-e85dc49a6197">00</span>,<span id="2fd882b1-d043-4f23-97cf-6d505c8f6c89">00</span>,<span id="3d03e805-6cb1-4186-b8a7-0337680c17f9">00</span>);<span id="53b21d36-6bdd-49d8-aa2f-41d121cd1ade">//成都时间2018-2-13 00:00:00</span><span id="6dd5fc0c-2874-4601-9804-18d6886d0fdb">var</span>t2 =<span id="f5567f35-51e6-4b5c-92d0-f86f18e1ee27">Date</span>.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond);<span id="39d71a5c-dfee-4337-963a-cf4f7f0770e2">var</span>diff = t2 - t1;<span id="7495e224-2de0-4291-9555-944098ab7ef2">var</span>diffYears =<span id="eac69d5d-a364-469e-a5ad-1aaa66fbfd3c">Math</span>.floor(diff / years);<span id="f07e2c37-85a5-494e-a44e-89cf14789472">var</span>diffDays =<span id="94ceac07-0756-4c3c-a694-b5f605b5854a">Math</span>.floor((diff / days) - diffYears *<span id="591c1652-5f31-41db-a51e-52360cdb6ca7">365</span>);<span id="ce27df57-e0a8-4d7d-8c2b-babc9d022120">var</span>diffHours =<span id="8d3b54e7-4f67-4e44-b5c2-e0b54fa4939b">Math</span>.floor((diff - (diffYears *<span id="595f42c9-bd62-4973-8e0b-ca72deed8564">365</span>+ diffDays) * days) / hours);<span id="3ce8d8d0-2517-460a-9954-4adf38dbeaee">var</span>diffMinutes =<span id="9e91b15c-94ad-4644-9f32-3234367eb7a7">Math</span>.floor((diff - (diffYears *<span id="1cacd149-7feb-4dd1-a622-33254463e678">365</span>+ diffDays) * days - diffHours * hours) / minutes);<span id="04b6c4b7-8ed5-4f9f-a3ac-e347855d7e95">var</span>diffSeconds =<span id="b610d6c8-9ab7-4e8e-b207-20379c1f5b83">Math</span>.floor((diff - (diffYears *<span id="16bbaf6e-d3d9-402e-8670-470da20a24fc">365</span>+ diffDays) * days - diffHours * hours - diffMinutes * minutes) / seconds);<span id="8f7bde32-2275-49fe-9367-5d44df004165">document</span>.getElementById(<span id="a0e5af23-5f03-41b7-872a-6622da5ccbae">"sitetime"</span>).innerHTML =<span id="3f4f7b39-18a1-4a02-80e6-60dc9a467800">"本站已运行 "</span>+diffYears+<span id="61be2f7b-7f73-43be-ac9c-9ff7408dc5e4">" 年 "</span>+diffDays +<span id="485bb99e-eff6-4fd6-ad94-eb57e28e720c">" 天 "</span>+ diffHours +<span id="b151dd93-b28f-45b7-beb6-771ef7425d18">" 小时 "</span>+ diffMinutes +<span id="5f080b8a-e9bf-4a12-8a36-ddf55ed31aa2">" 分钟 "</span>+ diffSeconds +<span id="c7151759-6665-448a-af62-929639833e3e">" 秒"</span>; }<span id="177f0fc1-b95c-4d8b-a0ee-d8ca734b67f1">/*因为建站时间还没有一年,就将之注释掉了。需要的可以取消*/</span>siteTime();</span><span id="cb61671e-49ba-4913-92ac-059e24f2d8d3"></<span id="13c038c6-b90a-4270-af1a-ec74381c61b9">script</span>></span></code></pre><p id="3f176506-eda5-4942-ac31-e8527c088a2f">然后在合适的地方(比如<span id="8abbabe6-e5fc-44e2-913d-983c8af705f9"><span id="1b537e2d-b536-4a38-b740-f13fff1cc585">copyright</span></span>声明后面)加上下面的代码就行了:</p><pre id="6bcf35e1-1240-4d18-a488-aa7f78ee5009"><code id="484cec0a-0d3e-46e9-83f4-72c0d32c849d"><span id="d7d59b02-e752-4ccd-9c97-7404b43dfb53"><<span id="7cf00c25-2b33-401c-9ae7-94d465b4a900">span</span><span id="1c40357b-883f-4ba9-802d-393f2f3f04d3">id</span>=<span id="532e2ab8-391a-405b-a241-4324919afe0d">"sitetime"</span>></span><span id="2d8cb400-0473-43ae-836f-9cef2d03e7d0"></<span id="853297ad-adf8-404d-af96-508c3c6c8cdd">span</span>></span></code></pre><h1 id="c52334b9-6977-4a07-8b15-2714cf3d8dd2">2.6 修改不蒜子初始化计数</h1><hr id="58dc7a99-4c2a-4143-80ef-de76ffdb0dba"></hr><p id="0490afe0-7718-474d-9a8d-c321606cce2e">因为不蒜子至今未开放注册,所以没办法在官网修改初始化,只能自己动手了。和上一条一样,我们在<span id="cad505fe-954c-4377-90f7-fba46ae6aa7a"><span id="056fc10a-8ca9-40b3-b0bb-f391c59e59d6"><span id="d75814c4-64c2-41d4-812c-82d0544b60ed">/themes/matery/layout/_partial</span></span></span>里的<span id="a1151dde-0722-47d1-96cb-b1636c8e1504"><span id="7739ce82-380d-4707-a6e7-824377f7ca4b">footer.ejs</span></span>文件最后加上:</p><pre id="0a8f7a42-7c6d-45b2-ab61-36734b55b77d"><code id="345b19a0-ef65-419a-894f-3d639e871899"><span id="1125bb88-af54-40aa-9311-775b4f7c4e8c"><<span id="d1c90978-f8a1-42e8-86fe-586986669c7e">script</span>></span><span id="7f1cde96-7350-424e-a681-d2350417b1b1">$(<span id="3c3ad223-c40d-48d0-839a-4daaa8ed251c">document</span>).ready(<span id="62c3cd01-e97a-41cb-a4f1-56306d57bec0"><span id="98d0e628-c632-4515-b8ac-2d1289e3de57">function</span>()</span>{<span id="70a073e4-87ce-42d2-9956-d13feacf97bc">var</span>int = setInterval(fixCount,<span id="0475574c-dc6d-4c21-958d-05dc07673038">50</span>);<span id="dc3870f5-71e4-4b41-90d0-9ac821911494">// 50ms周期检测函数</span><span id="67e115d8-8a7e-4337-878f-a048d377f0b1">var</span>pvcountOffset =<span id="5029991f-0bdc-4b70-bc43-bc60bc09da42">80000</span>;<span id="08b6bcf9-b419-4c8d-b857-f3d4d96f4f41">// 初始化首次数据</span><span id="b92bcb80-dac3-4d31-bafb-977d817883c0">var</span>uvcountOffset =<span id="57274459-30aa-4f13-a1e5-67ca58402910">20000</span>;<span id="590649ed-e254-499c-87f9-96dd903c15fd"><span id="8716c895-9d78-401c-b700-c872e6e6cfc3">function</span><span id="2328dad1-4167-4425-9abd-79ce82a7f5fd">fixCount</span>()</span>{<span id="87a21f06-aa14-4cf6-9882-9f346c1a4563">if</span>(<span id="0a136dc8-b4d8-404d-93d3-761268c09876">document</span>.getElementById(<span id="6ce95a27-0bac-472c-bf92-89c3525a3db4">"busuanzi_container_site_pv"</span>).style.display !=<span id="938be72a-4a13-49a0-af27-ed126bd0751d">"none"</span>) { $(<span id="0f2a477b-19cf-4cca-b28e-1976316c47a0">"busuanzi_value_site_pv"</span>).html(<span id="fdd1c0e5-b731-4342-be67-35a2517c6f43">parseInt</span>($(<span id="c5cbb3a0-be1f-4c87-9c65-401d9088b0b3">"busuanzi_value_site_pv"</span>).html()) + pvcountOffset); clearInterval(int); }<span id="f9c6a70e-a90e-4e8f-9362-c391d97f2089">if</span>($(<span id="f66f6003-f08d-4f75-8847-c010c8f8754c">"busuanzi_container_site_pv"</span>).css(<span id="a9e7f171-1df1-49d1-9e07-c9ec817747ed">"display"</span>) !=<span id="15efdf4b-f886-414f-b264-6346827a0286">"none"</span>) { $(<span id="ee5d62df-a6b0-4d31-a577-80e27c89e919">"busuanzi_value_site_uv"</span>).html(<span id="e516bc2f-7523-4872-9ee7-94bae9d38e93">parseInt</span>($(<span id="bf526a98-62bc-4d8b-b368-5fb27c9f296b">"busuanzi_value_site_uv"</span>).html()) + uvcountOffset);<span id="ecb77fd4-284b-40a8-8aae-163be3688960">// 加上初始数据</span>clearInterval(int);<span id="8ad9a400-9953-481a-bd35-dce7a008e2c4">// 停止检测</span>} } });</span><span id="24802900-eb9a-4efb-ad40-2a4d850ca72c"></<span id="0d81eb81-b22d-4478-a8f3-40f7502b3c07">script</span>></span></code></pre><p id="677ce69f-1d4f-4d51-9468-5aa773423408">然后把上面几行有段代码:</p><pre id="6b680b64-525a-4a45-8ee8-ca4e24054931"><code id="29ef2f09-10f7-4034-8d4b-5e06cc60e1aa"><span id="d5f1761d-3e6c-45e2-a319-aad49ae8f45d"><<span id="d7b4cf5d-60e9-4de9-9f0a-f7dae8477bd5">%</span><span id="b363462f-5825-4323-869a-a48b6b1e678b">if</span>(<span id="51995169-8f6f-44c5-b0c7-4ee7d5131515">theme.busuanziStatistics</span>&&<span id="1b09fe56-9dd1-4bde-9cf0-c3a3e44d37e4">theme.busuanziStatistics.totalTraffic</span>) { %></span><span id="91a9cb30-20b6-44bd-a10e-c9e4e6212d53"><<span id="88041ad4-c6d9-4ff8-97b0-c14c5c07fb33">span</span><span id="c90e5f71-eb94-447b-9f75-0438ffa22acf">id</span>=<span id="054bb1f7-5a4b-46db-95e7-fb855bc50c2d">"busuanzi_container_site_pv"</span>></span><span id="9cde4573-f11f-433d-89fd-54a90045e36c"><<span id="ea019cdd-698a-4a8c-8b23-098d918bcf95">i</span><span id="2ec830c7-5b78-4ec8-860c-f66624b1d481">class</span>=<span id="bd0d800e-4042-43a1-8192-6f61504b2991">"fa fa-heart-o"</span>></span><span id="ec3783fe-98b4-42a7-9425-d22733a0dc09"></<span id="61c53917-7d0f-4ed7-8696-c0c26a206a42">i</span>></span>本站总访问量<span id="db25d286-9801-4523-be0d-f41f51c1c8ae"><<span id="282ada29-2ecf-4266-a6ab-ee797e609e76">span</span><span id="4cb75fee-5708-4c55-85cb-6fc6a0550805">id</span>=<span id="f24c9087-0354-47e5-ad90-76cab67d1438">"busuanzi_value_site_pv"</span><span id="8d9f631a-5f8c-4241-afff-866ce2a9fa13">class</span>=<span id="48a30cfc-d901-4319-8e7f-03b693abe47e">"white-color"</span>></span><span id="f960f433-ea4f-42af-9d3d-4277f8f5208d"></<span id="9892558c-7d86-4bfc-b673-3400693c52e3">

网站题目:HexoGithub:个人博客网站搭建完全教程(看这篇就够了)
网页地址:https://www.cdcxhl.com/news26/321476.html

成都网站建设公司_创新互联,为您提供响应式网站虚拟主机网站营销网站制作网站导航软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司