2019-3.3_hexo-next主题创建个人博客

日常bb

前一篇文章:2019-3.3_发烧停更
本来向发烧停更的,打算;还是不能休息,有罪恶感。贴上之前我hexo-next主题创建的博客文章。

目录
1.前言
2.环境准备
3.大概步骤
4.初步实施
4.1安装git,node.jsp软件
4.2安装hexo,创建hexo相关软件
4.2.1实现效果
4.3初步部署next
4.3.1下载next
4.3.1.1实现效果
4.3.2部署next
4.3.2.1实现效果
5精修(重点来了)
5.1修改语言,title和作者名字
5.2修改导航栏->右边
5.3修改默认主题
5.4自动更换背景图片
5.5鼠标点击效果
5.5.1点击出现爱心效果
5.5.1.1效果图
5.5.2点击出现爆炸效果
5.5.2.1效果图
5.5.3点击出现富强民主富国公正···效果
5.5.3.1效果图
5.6设置主图顶部有一条黑线,去掉
5.6.1效果图
5.7设置网站图标
5.8修改作者头像并旋转
5.9设置点击头像返回主页
5.10添加标签,分类页面等
5.11添加站内搜索功能
5.12统计访客量和文章阅读数
5.13统计网站底部字数统计
5.14网站底部版本主题显示取消
5.15修改文章底部那个带#的标签
5.16统计字数和阅读分钟数
5.17添加文章访问排名
5.18添加RSS
5.19添加社交图标
5.20侧栏添加建站运行时间
5.21底部显示建站时间和图标修改(变成跳动的红心)
5.22首页不显示全文
5.23修改文章内链接文本样式
5.24文章添加阴影效果
5.25文章末尾统一添加“本文结束”标记
5.26后台admin登录管理发布文章
5.27添加动态粒子背景和修改上一篇,下一篇的顺序。
5.28在回到顶部按钮里显示阅读百分比
5.29在categories和tags添加年月分割
5.30修改tagcloud的颜色
5.31文章摘要图
5.32添加文章置顶
5.33在代码段输入“-”和“+“显示不同的颜色
5.34实现评论
5.35自定义鼠标样式
5.36文章加密访问
5.37首页的文章摘要图片
5.38增加版权信息
5.39设置打赏效果和打赏不停的抽搐

前言

加油弄吧,有不会的地方希望大哥点评

环境准备

  1. 本人用的: windows10。
  2. git 官网: git
  3. 善于动脑子。

大概步骤

  1. github下载hexo-theme-next-master
主题地址:
https://github.com/theme-next/hexo-theme-next

初步实施

安装git,node.jsp软件

git官网:git
node.js官网:node.js

实现效果:

在新创建的hexo文件夹里面右键Git Bash Here

git --version
node -v
npm -v
image

安装hexo,创建hexo相关文件

在创建的hexo文件夹里面右键Git Bash Here

npm i hexo -g
可能有点慢,耐心等待就行,不然你就开梯子。
hexo init
出现:
WARN  Failed to install dependencies. Please run 'npm install' manually!
执行:
cnpm install

实现效果:

打开hexo文件夹:


image

初步部署next

下载next

主题github地址:

https://github.com/theme-next/hexo-theme-next

选择:Clone or download->Download ZIP
下载好解压到创建的hexo文件夹的themes文件夹中。

实现效果

image

部署next

修改配置文件:hexo_test_config.yml
ctrl+f:找到以下代码修改

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
- theme: landscape
+ theme: hexo-theme-next-master

在hexo_test目录下面(以下我允成为根目录)打开Git Bash Here

hexo clean 清除缓存
hexo s     开启服务

ctrl+c退出
本地浏览器输入:
127.0.0.0:4000

实现效果

image

精修(重点来了)

修改语言,title和作者名字

在根目录下_config.yml文件下

# Site
- title: Hexo
+ title: 晓
subtitle:
description:
keywords:
-author: John Doe
+author: 晓晓晓
-language: zh-Hans
+language: zh-CN
timezone:
然后在根目录下面Git Bash here
hexo clean
hexo s
刷新127.0.0.1:4000页面

修改导航栏->右边

在主题目录下_config.yml文件下

sidebar:
  # Sidebar Position, available values: left | right (only for Pisces | Gemini).
  #position: left
-   position: left
+   position: right

刷新页面

修改默认主题

在主题目录下_config.yml文件下

# Schemes
#scheme: Muse
#scheme: Mist
scheme: Pisces
#scheme: Gemini
4种主题,去掉注释保存直接刷新页面就可以看到效果

自动更换背景图片

打开 hexo_test\themes\hexo-theme-next-master\source\css_custom\custom.styl

添加:
body {
    background:url(https://source.unsplash.com/random/1600x900);
    background-repeat: no-repeat;
    background-attachment:fixed;
    background-position:50% 50%;
}
保存直接刷新页面就能看到背景(点击或者刷新页面会自动更换背景图片)
因为要加载自动更换的图片,所以可能会因为网速或者别的原因,网页会刷得不那么快! 应大哥的要求我们这里不使用自动更换的图片。
我们网上找到一张图,然后右击“复制图像地址”复制到url里面去。
body {
    background:url(https://raw.githubusercontent.com/xiao222042/image/master/post-head.jpg);
    background-repeat: no-repeat;
    background-attachment:fixed;
    background-position:50% 50%;
}
完美!!!

这里需要一个注意点

在选择主题的时候有4个选择!!!(你选择“Pisces”和“Gemini”)可以不用看这里了。
# Schemes
#scheme: Muse
#scheme: Mist
scheme: Pisces
#scheme: Gemini
在选择前面两个的时候,保存刷新页面会出现页面透明的效果。
修改文章透明度还在在custom.styl添加
.main-inner { 
    margin-top: 60px;
    padding: 60px 60px 60px 60px;
    background: #fff;
    opacity: 0.8;
    min-height: 500px;
}
保存刷新查看页面。

再说一个注意点:
增加透明度这个办法我只是百度到了使用与前两个主题。使用后两个主题增加了的话就会导致导航栏在文章后面去了,不能点到导航栏按钮

鼠标点击效果

点击出现爱心效果

在 hexo_test\themes\hexo-theme-next-master\source\js\src创建文件clicklove.js

添加代码:
!function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e<d.length;e++)d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");requestAnimationFrame(r)}function o(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),i(e)}}function i(e){var a=t.createElement("div");a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)}function c(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function s(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var d=[];e.requestAnimationFrame=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)}}(),n()}(window,document);

打开hexo_test\themes\next\layout_layout.swig文件

添加代码:
<!-- 页面点击小红心 -->
<script type="text/javascript" src="/js/src/clicklove.js"></script>
hexo clean
hexo s
刷新页面,点击出现爱心。

效果图

image

点击出现爆炸效果

和上面的爱心任选一吧
在 hexo_test\themes\hexo-theme-next-master\source\js\src创建文件fireworks.js

添加代码:
"use strict";function updateCoords(e){pointerX=(e.clientX||e.touches[0].clientX)-canvasEl.getBoundingClientRect().left,pointerY=e.clientY||e.touches[0].clientY-canvasEl.getBoundingClientRect().top}function setParticuleDirection(e){var t=anime.random(0,360)*Math.PI/180,a=anime.random(50,180),n=[-1,1][anime.random(0,1)]*a;return{x:e.x+n*Math.cos(t),y:e.y+n*Math.sin(t)}}function createParticule(e,t){var a={};return a.x=e,a.y=t,a.color=colors[anime.random(0,colors.length-1)],a.radius=anime.random(16,32),a.endPos=setParticuleDirection(a),a.draw=function(){ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.fillStyle=a.color,ctx.fill()},a}function createCircle(e,t){var a={};return a.x=e,a.y=t,a.color="#F00",a.radius=0.1,a.alpha=0.5,a.lineWidth=6,a.draw=function(){ctx.globalAlpha=a.alpha,ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.lineWidth=a.lineWidth,ctx.strokeStyle=a.color,ctx.stroke(),ctx.globalAlpha=1},a}function renderParticule(e){for(var t=0;t<e.animatables.length;t++){e.animatables[t].target.draw()}}function animateParticules(e,t){for(var a=createCircle(e,t),n=[],i=0;i<numberOfParticules;i++){n.push(createParticule(e,t))}anime.timeline().add({targets:n,x:function(e){return e.endPos.x},y:function(e){return e.endPos.y},radius:0.1,duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule}).add({targets:a,radius:anime.random(80,160),lineWidth:0,alpha:{value:0,easing:"linear",duration:anime.random(600,800)},duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule,offset:0})}function debounce(e,t){var a;return function(){var n=this,i=arguments;clearTimeout(a),a=setTimeout(function(){e.apply(n,i)},t)}}var canvasEl=document.querySelector(".fireworks");if(canvasEl){var ctx=canvasEl.getContext("2d"),numberOfParticules=30,pointerX=0,pointerY=0,tap="mousedown",colors=["#FF1461","#18FF92","#5A87FF","#FBF38C"],setCanvasSize=debounce(function(){canvasEl.width=2*window.innerWidth,canvasEl.height=2*window.innerHeight,canvasEl.style.width=window.innerWidth+"px",canvasEl.style.height=window.innerHeight+"px",canvasEl.getContext("2d").scale(2,2)},500),render=anime({duration:1/0,update:function(){ctx.clearRect(0,0,canvasEl.width,canvasEl.height)}});document.addEventListener(tap,function(e){"sidebar"!==e.target.id&&"toggle-sidebar"!==e.target.id&&"A"!==e.target.nodeName&&"IMG"!==e.target.nodeName&&(render.play(),updateCoords(e),animateParticules(pointerX,pointerY))},!1),setCanvasSize(),window.addEventListener("resize",setCanvasSize,!1)}"use strict";function updateCoords(e){pointerX=(e.clientX||e.touches[0].clientX)-canvasEl.getBoundingClientRect().left,pointerY=e.clientY||e.touches[0].clientY-canvasEl.getBoundingClientRect().top}function setParticuleDirection(e){var t=anime.random(0,360)*Math.PI/180,a=anime.random(50,180),n=[-1,1][anime.random(0,1)]*a;return{x:e.x+n*Math.cos(t),y:e.y+n*Math.sin(t)}}function createParticule(e,t){var a={};return a.x=e,a.y=t,a.color=colors[anime.random(0,colors.length-1)],a.radius=anime.random(16,32),a.endPos=setParticuleDirection(a),a.draw=function(){ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.fillStyle=a.color,ctx.fill()},a}function createCircle(e,t){var a={};return a.x=e,a.y=t,a.color="#F00",a.radius=0.1,a.alpha=0.5,a.lineWidth=6,a.draw=function(){ctx.globalAlpha=a.alpha,ctx.beginPath(),ctx.arc(a.x,a.y,a.radius,0,2*Math.PI,!0),ctx.lineWidth=a.lineWidth,ctx.strokeStyle=a.color,ctx.stroke(),ctx.globalAlpha=1},a}function renderParticule(e){for(var t=0;t<e.animatables.length;t++){e.animatables[t].target.draw()}}function animateParticules(e,t){for(var a=createCircle(e,t),n=[],i=0;i<numberOfParticules;i++){n.push(createParticule(e,t))}anime.timeline().add({targets:n,x:function(e){return e.endPos.x},y:function(e){return e.endPos.y},radius:0.1,duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule}).add({targets:a,radius:anime.random(80,160),lineWidth:0,alpha:{value:0,easing:"linear",duration:anime.random(600,800)},duration:anime.random(1200,1800),easing:"easeOutExpo",update:renderParticule,offset:0})}function debounce(e,t){var a;return function(){var n=this,i=arguments;clearTimeout(a),a=setTimeout(function(){e.apply(n,i)},t)}}var canvasEl=document.querySelector(".fireworks");if(canvasEl){var ctx=canvasEl.getContext("2d"),numberOfParticules=30,pointerX=0,pointerY=0,tap="mousedown",colors=["#FF1461","#18FF92","#5A87FF","#FBF38C"],setCanvasSize=debounce(function(){canvasEl.width=2*window.innerWidth,canvasEl.height=2*window.innerHeight,canvasEl.style.width=window.innerWidth+"px",canvasEl.style.height=window.innerHeight+"px",canvasEl.getContext("2d").scale(2,2)},500),render=anime({duration:1/0,update:function(){ctx.clearRect(0,0,canvasEl.width,canvasEl.height)}});document.addEventListener(tap,function(e){"sidebar"!==e.target.id&&"toggle-sidebar"!==e.target.id&&"A"!==e.target.nodeName&&"IMG"!==e.target.nodeName&&(render.play(),updateCoords(e),animateParticules(pointerX,pointerY))},!1),setCanvasSize(),window.addEventListener("resize",setCanvasSize,!1)};

打开hexo_test\themes\hexo-theme-next-master\layout_layout.swig

添加代码:
{% if theme.fireworks %}
   <canvas class="fireworks" style="position: fixed;left: 0;top: 0;z-index: 1; pointer-events: none;" ></canvas> 
   <script type="text/javascript" src="//cdn.bootcss.com/animejs/2.2.0/anime.min.js"></script> 
   <script type="text/javascript" src="/js/src/fireworks.js"></script>
{% endif %}

打开主题配置文件_config.yml

添加:
# Fireworks
fireworks: true
hexo clean
hexo s
刷新页面点击出现爆炸

效果图

image

点击出现富强明主富国公正~~~~效果

这个好像可以和爆炸一起选,效果还不错。
这里就不重复写了,自行添加吧。

效果图

image

设置主题顶部有一条黑线,去掉

打开:hexo_test\themes\hexo-theme-next-master\source\css_custom\custom.styl

添加代码:
.headband {display:none;}
保存刷新发现黑边没有了。

效果图

前:


image

后:
没有了呗。

设置网站图标

自行ps修改一个32*32的图标放在:hexo_test\themes\hexo-theme-next-master\source\images
自行命名

打开主题配置文件_config.yml

修改代码:
  small: /images/favicon-16x16-next.png
-  medium: /images/favicon-32x32-next.png
+  medium: /images/L-32.png

保存刷新页面查看页面logo。

修改作者头像并旋转

修改主题配置文件_config.yml

修改代码:
# Sidebar Avatar
avatar:
  # in theme directory(source/images): /images/avatar.gif
  # in site  directory(source/uploads): /uploads/avatar.gif
  # You can also use other linking images.
-   url:
+   url: https://raw.githubusercontent.com/xiao222042/image/master/10.png
这里做一下解释,我把所有的图片都放在我的github上面的,这样就能保证源代码文件的短小精悍。

打开hexo_test\themes\hexo-theme-next-master\source\css_common\components\sidebar\sidebar-author.styl

添加代码:
.site-author-image {
  display: block;
  margin: 0 auto;
  padding: $site-author-image-padding;
  max-width: $site-author-image-width;
  height: $site-author-image-height;
  border: $site-author-image-border-width solid $site-author-image-border-color;
  /* 头像圆形 */
  border-radius: 80px;
  -webkit-border-radius: 80px;
  -moz-border-radius: 80px;
  box-shadow: inset 0 -1px 0 #333sf;
  /* 设置循环动画 [animation: (play)动画名称 (2s)动画播放时长单位秒或微秒 (ase-out)动画播放的速度曲线为以低速结束 
    (1s)等待1秒然后开始动画 (1)动画播放次数(infinite为循环播放) ]*/
 
  /* 鼠标经过头像旋转360度 */
  -webkit-transition: -webkit-transform 1.0s ease-out;
  -moz-transition: -moz-transform 1.0s ease-out;
  transition: transform 1.0s ease-out;
}
img:hover {
  /* 鼠标经过停止头像旋转 
  -webkit-animation-play-state:paused;
  animation-play-state:paused;*/
  /* 鼠标经过头像旋转360度 */
  -webkit-transform: rotateZ(360deg);
  -moz-transform: rotateZ(360deg);
  transform: rotateZ(360deg);
}
/* Z 轴旋转动画 */
@-webkit-keyframes play {
  0% {
    -webkit-transform: rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(-360deg);
  }
}
@-moz-keyframes play {
  0% {
    -moz-transform: rotateZ(0deg);
  }
  100% {
    -moz-transform: rotateZ(-360deg);
  }
}
@keyframes play {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(-360deg);
  }
}

hexo clean
hexo s
刷新页面点击头像旋转。

设置点击头像返回主页

打开主题配置文件_config.yml

添加代码:
+        <a href="/">
          <img class="site-author-image" itemprop="image"
               src="{{ url_for( theme.avatar | default(theme.images + '/avatar.gif') ) }}"
               alt="{{ theme.author }}" />
+        </a>

这里注意找到中间代码,添加a标签就行了,中间不用修改。
hexo clean
hexo s
刷新页面点击头像返回主页。

添加标签,分类页面等

打开主题配置文件_config.yml

修改:
menu:
  home: / || home
  #about: /about/ || user
  #tags: /tags/ || tags
  #categories: /categories/ || th
  archives: /archives/ || archive
  #schedule: /schedule/ || calendar
  #sitemap: /sitemap.xml || sitemap
  #commonweal: /404/ || heartbeat
  
  用什么修改什么,也可以添加,后面添加文章排行的时候讲添加。
  这里去掉about(关于)tags(标签)categories(分类)常用标签。
  
  保存刷新。

注意这里点击about,tags,categories标签,显示错误
在根目录下面打开Git Bash Here
创建about,tags,categories文件。

新建about代码:
hexo new page about
新建tags代码:
hexo new page tags
新建categories代码:
hexo new page categories

问题又来了
重新打开,然后会发现页面显示about,tags,categories;about不用管,顺便写写就行;tags,categories就不行了,不能实现功能。
修改tags:
打开hexo_test\source\tags\index.md

修改为:
---
title: 标签
date: 2019-01-17 22:30:42
type: "tags"
comments: false
---

修改categories:
打开hexo_test\source\categories\index.md

修改为:
---
title: 分类
date: 2019-01-17 22:30:48
type: "categories"
commentes: false
---

添加站内搜索功能

在站点的根目录下执行以下命令:

npm install hexo-generator-searchdb --save

打开根目录配置文件_config.yml

添加代码:
search:
  path: search.xml
  field: post
  format: html
  limit: 10000

打开主题配置文件_config.yml

修改代码:
# Local search
local_search:
-  enable: false
+  enable: true

刷新页面出现搜索。

统计访客量和文章阅读数

打开主题配置文件_config.yml

修改代码:
# Show Views/Visitors of the website/page with busuanzi.
# Get more information on http://ibruce.info/2015/04/04/busuanzi
busuanzi_count:
-  enable: false
+  enable: true
  total_visitors: true
  total_visitors_icon: user
  total_views: true
  total_views_icon: eye
  post_views: true
  post_views_icon: eye
  
刷新页面。

统计网站底部字数统计

在根目录下面右键Git Bash Here
npm install hexo-wordcount --save
打开文件:hexo_test\themes\hexo-theme-next-master\layout_partials\footer.swig

添加代码:
<div class="theme-info">
  <div class="powered-by"></div>
  <span class="post-count">博客全站共{{ totalcount(site) }}字</span>
</div>

网站底部版本主题显示取消

打开主题配置文件_config.yml

修改成一下代码:
  # -------------------------------------------------------------
  powered:
    # Hexo link (Powered by Hexo).
    enable: false
    # Version info of Hexo after Hexo link (vX.X.X).
    version: false

  theme:
    # Theme & scheme info link (Theme - NexT.scheme).
    enable: false
    # Version info of NexT after scheme info (vX.X.X).
    version: false

修改文章底部那个带#的标签

打开文件hexo_test\themes\hexo-theme-next-master\layout_macro\post.swig

修改代码:
- rel="tag">#
+ rel="tag"><i class="fa fa-tag"></i>
hexo clean
hexo s
刷新页面。

统计字数和阅读分钟数

在根目录下面右键Git Bash Here

输入代码:
npm install hexo-symbols-count-time --save

打开根目录配置文件_config.yml

添加代码:
symbols_count_time:
  symbols: true
  time: true
  total_symbols: true
  total_time: true

打开主题配置文件_config.yml

修改代码成:
symbols_count_time:
  separated_meta: true
  item_text_post: true
  item_text_total: false
  awl: 4
  wpm: 275

添加文章访问排名

打开主题配置文件_config.yml

修改代码:
leancloud_visitors:
-  enable: false
+  enable: true
  app_id: fCUG1rTPRvlYmesaQpEUdlHi-xxxxxxxxx #<app_id>
  app_key: 7V3sW2YiQcq0wlz3jvxxxx #<app_key>

app_id和app_key的添加在后面写道。

在跟目录右键打开Git Bash Here

输入代码:
hexo new page "top"

打开top文件夹下面的index.md

修改代码为:
---
title: 阅读量排行
comments: false
keywords: top,文章阅读量排行榜
description: 博客文章阅读量排行榜
---
<div id="top"></div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script>AV.initialize("app_id", "app_key");</script>
<script type="text/javascript">
  var time=0
  var title=""
  var url=""
  var query = new AV.Query('Counter');
  query.notEqualTo('id',0);
  query.descending('time');
  query.limit(1000);
  query.find().then(function (todo) {
    for (var i=0;i<1000;i++){
      var result=todo[i].attributes;
      time=result.time;
      title=result.title;
      url=result.url;
      var content="<a href='"+"https://reuixiy.github.io"+url+"'>"+title+"</a>"+"<br />"+"<font color='#555'>"+"阅读次数:"+time+"</font>"+"<br /><br />";
      document.getElementById("top").innerHTML+=content
    }
  }, function (error) {
    console.log("error");
  });
</script>

<style>.post-description { display: none; }</style>


其中的app_id和app_key在后面写上。

打开主题配置文件_config.yml

在menu处,添加代码:
menu:
  home: / || home
  about: /about/ || user
  tags: /tags/ || tags
  categories: /categories/ || th
  archives: /archives/ || archive
+  top: /top/ || signal

打开hexo_test\themes\hexo-theme-next-master\languages\zh-CN.yml

添加代码:
menu:
  home: 首页
  archives: 归档
  categories: 分类
  tags: 标签
  about: 关于
  search: 搜索
  schedule: 日程表
  sitemap: 站点地图
  commonweal: 公益 404
+  top: 阅读量排行

好了这里添加app_id和app_key
算了:懒得写了。
转csdn:NexT主题下,用Leancloud统计文章阅读量
然后修改app_id和app_key

添加RSS

在根目录下面打开Git Bash Here

输入安装插件:
npm install --save hexo-generator-feed

打开根目录配置文件_config.yml

添加代码:
feed: # RSS订阅插件
  type: atom
  path: atom.xml
  limit: 0
 
plugins: hexo-generate-feed

hexo clean
hexo s
刷新页面。

添加社交图标

打开主题配置文件_config.yml

去掉social和下面你需要的社交图标的注释。

或者是自定义你需要的图标,然后再图标库里面搜索名称,不需要下载下来。
图标名称写到“||”的后面。

侧栏添加建站运行时间

打开hexo_test\themes\hexo-theme-next-master\layout_custom\sidebar.swig

添加代码:
<div id="days"></div>
<script>
function show_date_time(){
window.setTimeout("show_date_time()", 1000);
BirthDay=new Date("01/20/2019 12:00:00");
today=new Date();
timeold=(today.getTime()-BirthDay.getTime());
sectimeold=timeold/1000
secondsold=Math.floor(sectimeold);
msPerDay=24*60*60*1000
e_daysold=timeold/msPerDay
daysold=Math.floor(e_daysold);
e_hrsold=(e_daysold-daysold)*24;
hrsold=setzero(Math.floor(e_hrsold));
e_minsold=(e_hrsold-hrsold)*60;
minsold=setzero(Math.floor((e_hrsold-hrsold)*60));
seconds=setzero(Math.floor((e_minsold-minsold)*60));
document.getElementById('days').innerHTML="已运行 "+daysold+" 天 "+hrsold+" 小时 "+minsold+" 分 "+seconds+" 秒";
}
function setzero(i){
if (i<10)
{i="0" + i};
return i;
}
show_date_time();
</script>


上面的date时间可以自己定义。

底部显示建站时间和图标修改(变成跳动的红心)

打开主题配置文件_config.yml

修改代码:
footer:
  # Specify the date when the site was setup.
  # If not defined, current year will be used.
-#since: 2015
+#since: 2019
  # Icon between year and copyright info.
  icon:
-  name: user
-  name: heart

打开文件:hexo_test\themes\hexo-theme-next-master\layout_partials\footer.swig

修改代码:
- <span class="with-love" id="animate">
+ <span class="with-love" id="heart">

打开文件:hexo_test\themes\hexo-theme-next-master\source/css_custom\custom.styl

添加代码:
// 自定义页脚跳动的心样式
@keyframes heartAnimate {
    0%,100%{transform:scale(1);}
    10%,30%{transform:scale(0.9);}
    20%,40%,60%,80%{transform:scale(1.1);}
    50%,70%{transform:scale(1.1);}
}
#heart {
    animation: heartAnimate 1.33s ease-in-out infinite;
}
.with-love {
    color: rgb(255, 113, 168);
}
刷新页面。

首页不显示全文

打开主题配置文件_config.yml

修改代码:
# Automatically Excerpt. Not recommend.
# Use <!-- more --> in the post to control excerpt accurately.
auto_excerpt:
-  enable: false
+  enable: true
  length: 150
刷新页面。

修改文章内链接文本样式

默认不好看,自行体会吧,可以不修改。
打开:hexo_test\themes\next\source\css_common\components\post\post.styl

添加代码:
// 文章内链接文本样式
.post-body p a{
  color: #0593d3;
  border-bottom: none;
  border-bottom: 1px solid #0593d3;
  &:hover {
    color: #fc6423;
    border-bottom: none;
    border-bottom: 1px solid #fc6423;
  }
}

文章添加阴影效果

打开文件:hexo_test\themes\hexo-theme-next-master\source\css_custom\custom.styl

添加代码:
// 主页文章添加阴影效果
 .post {
   margin-top: 60px;
   margin-bottom: 60px;
   padding: 25px;
   -webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5);
   -moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5);
  }
刷新页面。

文章末尾统一添加“本文结束”标记

打开文件:\layout_macro
新建文件:passage-end-tag.swig

添加代码:
<div>
    {% if not is_index %}
        <div style="text-align:center;color: #555;font-size:14px;">-------------The End-------------</div>
    {% endif %}
</div>

打开文件:\layout_macro\post.swig

添加代码:
    { #####################}
    { ### END POST BODY ###}
    { #####################}

    <div>
+  {% if not is_index %}
+    {% include 'passage-end-tag.swig' %}
+  {% endif %}
+    </div>

hexo clean
hexo s
刷新页面。

打开主题配文件_config.yml

添加代码:
# 文章末尾添加“本文结束”标记
passage_end_tag:
  enabled: true

后台admin登录管理发布文章

在根目录下右键Git Bash Here

输入命令:
npm install hexo-admin --save

第一次登录:localhost:4000\admin->settings->settings_Setup authentification here
然后按照说明设置账户密码。
打开根目录配置文件_config.yml

修改代码:
修改成上面你设置的密码。

添加动态粒子背景和修改上一篇,下一篇的顺序。

打开hexo_test\themes\hexo-theme-next-master\layout_layout.swig

在body标签中添加代码:
{% if theme.canvas_nest %} <script type="text/javascript" src="//cdn.bootcss.com/canvas-nest.js/1.0.0/canvas-nest.min.js"> </script> {% endif %}

打开主题配置文件_config.yml

修改代码:
-canvas_next: false
+canvas_next: true

打开文件hexo_test\themes\hexo-theme-next-master\layout\_macro\post.swig

修改代码:
{% if not is_index and (post.prev or post.next) %}
  <div class="post-nav">
    <div class="post-nav-next post-nav-item">
-      {% if post.next %}
+      {% if post.prev %}
-        <a href="{{ url_for(post.next.path) }}" rel="next" title="{{ post.next.title }}">
+        <a href="{{ url_for(post.prev.path) }}" rel="prev" title="{{ post.prev.title }}">
-          <i class="fa fa-chevron-left"></i> {{ post.next.title }}
+          <i class="fa fa-chevron-left"></i> {{ post.prev.title }}
        </a>
      {% endif %}
    </div>

    <span class="post-nav-divider"></span>

    <div class="post-nav-prev post-nav-item">
-      {% if post.prev %}
+      {% if post.next %}
-        <a href="{{ url_for(post.prev.path) }}" rel="prev" title="{{ post.prev.title }}">
+        <a href="{{ url_for(post.next.path) }}" rel="next" title="{{ post.next.title }}">
-          {{ post.prev.title }} <i class="fa fa-chevron-right"></i>
+          {{ post.next.title }} <i class="fa fa-chevron-right"></i>
        </a>
      {% endif %}
    </div>
  </div>
{% endif %}

在回到顶部按钮里显示阅读百分比

打开主题配置文件修改代码:

  scrollpercent: true
  刷新页面

在categories和tags添加年月分割

打开主题配置/layout/category.swig添加代码

添加categories:

    {% for post in page.posts %}
              位置A
      {{ post_template.render(post) }}
    {% endfor %}
  (略)
    位置B(没错最后面)
位置a:
      {# Show year #}
      {% set year %}
      {% set post.year = date(post.date, 'YYYY') %}
      {% if post.year !== year %}
        {% set year = post.year %}
        <div class="collection-title">
          <h2 class="archive-year motion-element" id="archive-year-{{ year }}">{{ year }}</h2>
        </div>
      {% endif %}
      {# endshow #}
位置b:
{% block script_extra %}
  {% if theme.use_motion %}
    <script type="text/javascript" id="motion.page.archive">
      $('.archive-year').velocity('transition.slideLeftIn');
    </script>
  {% endif %}
{% endblock %}
刷新页面查看。
添加tags:打开文件tag.swig
修改和categories一样。

修改tagcloud的颜色

默认的白底云标签不好看,修改。
打开主题目录下面的/layout/page.swig
修改对应参数值即可,参数说明见hexo官方文档

{{ tagcloud({min_font: 13, max_font: 31, amount: 1000, color: true, start_color: '#9733EE', end_color: '#FF512F'}) }}
刷新页面

文章摘要图

它会展示在页面,因此在每篇文章的文章摘要中加一张图片,页面看起来就很美观。
在主题配置文件_config.yml修改代码

# Automatically excerpt description in homepage as preamble text.
excerpt_description: false

# Automatically Excerpt. Not recommend.
# Use <!-- more --> in the post to control excerpt accurately.
auto_excerpt:
  enable: false
  length: 150

打开主题目录文件/layout/_macro/post.swig添加代码

          {{ post.excerpt }}

位置a:
          <!--noindex-->

位置a:
        {% if post.image %}
        <div class="out-img-topic">
          <img src={{ post.image }} class="img-topic" />
        </div>
        {% endif %}

为了防止有的图片宽度不够导致风格不够统一,页面不美观。
打开主题目录文件/source/css/_custom/custom.styl添加代码

// 自定义的文章摘要图片样式
img.img-topic {
    width: 100%;
}

编辑相关文章在Front-matter(文件最上方以---分隔的区域)加上一行:

在文章中添加:
photos: 
    - "url"

添加文章置顶

移除默认安装插件:
cnpm uninstall hexo-generator-index --save
安装插件:
cnpm install hexo-generator-index-pin-top --save

打开主题目录文件/layout/_macro/post.swig添加代码

<div class="post-meta">
位置a:

位置a:
        {% if post.top %} 
        <i class="fa fa-thumb-tack"></i> 
        <font color=7D26CD>置顶</font> 
        <span class="post-meta-divider">|</span> 
        {% endif %}

编辑相关文章在Front-matter(文件最上方以---分隔的区域)加上一行:

top: 1

注意:
设置1就是最置顶,然后是2,3等。
数字大的在前面。

在代码段输入“-”和“+“显示不同的颜色

打开问主题目录文件/source/css/_custom/custom.styl添加代码

// 文章```代码块diff样式
pre .addition {
    background: #e6ffed;
}
pre .deletion {
    background: #ffeef0;
}

在代码段写入

```diff
测试

实现评论

来必应需要域名,暂时不写
https://linan.blog/2017/LiveReCommentsSystem/

自定义鼠标样式

文章加密访问

首页的文章摘要图片

增加版权信息

设置打赏效果和打赏不停的抽搐

推荐阅读更多精彩内容