折腾了这么久,整理分享一下,希望对大家有帮助。


目前共六条:Valine 评论、爱心(核心价值观)点击效果、运营计时、网易云音乐挂件、一言插件、公告打字机效果。


免责声明:以下教程部分来源于网络,如有侵权请联系删除,李姐万岁


# Valine 评论设置

因为之前写过,推荐 Valine,比较简单
方法参考之前的 Valine 评论配置

# 点击效果

# 爱心

# 效果预览

爱心

# 配置方法

在对应主题内找到 \source\js
在该文件夹内新建 clicklove.js
并在 JS 内写入

t
!function (e, t, a) {
    function r() {
      for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
      requestAnimationFrame(r)
    }
  
    function n() {
      var t = "function" == typeof e.onclick && e.onclick;
      e.onclick = function (e) {
        t && t(), o(e)
      }
    }
  
    function o(e) {
      var a = t.createElement("div");
      a.className = "heart", s.push({
        el: a,
        x: e.clientX - 5,
        y: e.clientY - 5,
        scale: 1,
        alpha: 1,
        color: c()
      }), t.body.appendChild(a)
    }
  
    function i(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 c() {
      return "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + ")"
    }
    var s = [];
    e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function (e) {
      setTimeout(e, 1e3 / 60)
    }, i(".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;}"), n(), r()
  }(window, document);

(代码来自网络,侵删)
然后进入 \layout\_layout.swing
在头部 (

...) 内加入调用代码

l
<script type ="text/javascript" src ="/js/clicklove.js"> </script >

Git Bash Here

hexo clean
---------
hexo g
---------
hexo d

同步配置后即可

# 社会主义核心价值观

# 效果预览

社会主义核心价值观

# 配置方法

同样在上文 js 文件夹内创建 clicksocialvalue.js
并写入

p
var a_idx = 0; 
jQuery(document).ready(function($) { 
    $("body").click(function(e) { 
        var a = new Array("富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", "敬业", "诚信", "友善"); 
        var $i = $("<span/>").text(a[a_idx]); 
        a_idx = (a_idx + 1) % a.length; 
        var x = e.pageX, 
        y = e.pageY; 
        $i.css({ 
            "z-index": 999, 
            "top": y - 20, 
            "left": x, 
            "position": "absolute", 
            "font-weight": "bold", 
            "color": "#ff6651" 
        }); 
        $("body").append($i); 
        $i.animate({ 
            "top": y - 180, 
            "opacity": 0 
        }, 
        1500, 
        function() { 
            $i.remove(); 
        }); 
    }); 
});

再回到头部 (

...) 内加入调用代码
这个时候注意还需要加入一行

l
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>

才可以正常使用
调用代码如下

l
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  <script type ="text/javascript" src ="/js/clicksocialvalue.js"> </script>

# 实时站点运营时间

# 效果预览:

# 配置方法

在你觉得合适的地方插入

l
<script type="text/javascript">
function show_date_time() {
	window.setTimeout("show_date_time()", 1000);
	var BirthDay = new Date("04/03/2020 00:11:01");  //这里括号填你站点建立时间
	var today = new Date();
	var timeold = (today.getTime() - BirthDay.getTime());
	var sectimeold = timeold / 1000;
	var secondsold = Math.floor(sectimeold);
	var msPerDay = 24 * 60 * 60 * 1000;
	var e_daysold = timeold / msPerDay;
	var daysold = Math.floor(e_daysold);
	var e_hrsold = (e_daysold - daysold) * 24;
	var hrsold = Math.floor(e_hrsold);
	var e_minsold = (e_hrsold - hrsold) * 60;
	var minsold = Math.floor((e_hrsold - hrsold) * 60);
	var seconds = Math.floor((e_minsold - minsold) * 60);
	document.getElementById 
	("show_date_time").innerHTML="本站已愉快蹦哒"+daysold + "天" + hrsold + "小时" + minsold + "分" + seconds + "秒";
}
show_date_time()
</script>
<p>
	<span id="show_date_time"></span>
</p>

一般可以插入在 footer.ejs

# 网易云音乐挂件

# 效果预览

(当然还有更好看的)

# 配置方法:

进入网易云音乐,找到你要加入的音乐或者歌单
(必须得是有版权的)

点击生成外链播放器

调整到你觉得合适的大小,复制代码,粘贴到你觉得合适的位置

我放到的是 sidebar.swing
同步即可
(以上方法在博客单独一篇文章内同样适用)

# 假装是分割线

(以上方法均是我使用 NexT 主题时总结的,当然不同的主题文件可能不同,比如.swing 和.ejs 的区别,但依然可以变通适用,以下开始,使用的是 Suka 主题,当然也适用于其他大部分的主题)

# 添加一言

# 介绍

一言网(hitokoto.cn)创立于 2016 年,隶属于萌创团队,目前网站主要提供一句话服务。

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

# 效果预览

# 配置

找到 \layout\layout.ejs 文件
</body> 之前插入以下代码

l
<!-- 一言 API -->
<!-- 现代写法,推荐 -->
<!-- 兼容低版本浏览器 (包括 IE),可移除 -->
<script src="https://cdn.jsdelivr.net/npm/bluebird@3/js/browser/bluebird.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/whatwg-fetch@2.0.3/fetch.min.js"></script>
<!--End-->
<script>
  fetch('https://v1.hitokoto.cn')
    .then(function (res){
      return res.json();
    })
    .then(function (data) {
      var hitokoto = document.getElementById('hitokoto');
      hitokoto.innerText = data.hitokoto + '——【' + data.from + '】';
    })
    .catch(function (err) {
      console.error(err);
    })
</script>

然后在相应位置添加(我添加在 \_partial\header.ejs

l
<p id="hitokoto">正在加载一言...</p>

若出现不居中而影响美观可改为

l
<p style="text-align:center" id="hitokoto">正在加载一言...</p>

# 更新公告打字机效果

# 效果预览

预览

# 配置方法

主题目录 内的 \layout\layout.ejs 内添加下面这段代码

l
<script>
        var divTyping = document.getElementById('notice')
        var i = 0;
        var strs = '📢'          //这里填写公告文本
        function typing(str){
          if(i<=str.length){
                 var timer=setInterval(function(){
                 divTyping.innerHTML = str.slice(0, i++)
                 },100)           //这里的数字代表速度,数字越小速度越快
              }
          else{
           clearInterval(timer)
              }
       }
           typing(strs)
        </script>

然后再在 \header.ejs(同样是主题目录)内合适位置添加

l
<p id="notice"></p>

同样如果影响美观可以选择居中显示

l
<p style="text-align:center" id="notice"></p>

# 未完待续

更新于 阅读次数