hexo的美化——拓展篇

2023-11-19

基础知识

css样式

  • hexo/themes/next/source/css/: 是next主题的样式文件,决定主题的外观。
  • hexo/themes/next/source/css/main.styl:汇总css文件夹中所有的样式。
  • hexo/themes/next/source/css/ _custom/custom.styl:是空的,专门让开发者扩展。

修改css

进入网页,F12进入调试模式(本次以谷歌浏览器为例,注意点击箭头指向的小箭头)。

通过观察可以发现整个头部是包裹在一个header里而且大家把鼠标放上去也可以很清楚的看到标签包裹的是哪些部分,那么通过开发工具可以看到右边对应的是生成在这个标签上class里的一些样式设置。

点击需要自己DIY的模块,我们可以暂时直接在更改对应数值进行更改样式,直到得到自己满意的效果,最后才去next里的一些文件进行部分的添加和修改来达到我们的目的。

注意箭头的几个点即可,改好之后记得copy下代码。

 

修改代码:找到你主题文件夹里的对应位置D:\hexo\blog\themes\next\source\css里面有5个文件夹和一个styl文件,
main.styl主要用于打包CSS代码输出成CSS样式的main.css文件。

注意:本人不提倡去修改除了_custom下的其他4个文件里的源代码,可能后面出问题不好还原。

           注释使用 // 而不是 # 。

 

给文章首页摘要添加阴影效果

打开blog\themes\next\source\css\_custom\custom.styl,添加

// Custom styles.
//首页文章阴影样式
.post {
    margin-top: 60px;
    margin-bottom: 60px;
    padding: 25px;
    -webkit-box-shadow: 0 0 14px rgba(202, 203, 203, .5);
    -moz-box-shadow: 0 0 14px rgba(202, 203, 204, .5);
}

添加在线聊天

在主题配置文件,搜索下图关键字。在注释对应网址注册账号,左侧Set up & customize获取ChatraID以及进行样式定制

添加评论系统

打开主题配置文件,在对应网站注册。设置,创建应用,应用名为 Counter(不可更改),并获取key,安全中心填写自己的域名。

 

安全中心:web安全域名添加自己域名。注意前缀https://

注意配置完的网页菜单栏每个系统都加了评论,要选择删除需要到对应的文件夹里面的 index.md 都添加comments: false语句。

下方栏添加评分

主题配置文件,搜索Rating ,根据上方提示注册账号获取key。

需要注意的是:

  • 可以配置评分方式,侧栏 > Rating > Setting,建议用 IP address 或 Device(cookie),免登录,毕竟 Socials 里面的选项几乎都被墙,不适合国内网络环境。
  • 建议 侧栏 > Site > Setting 中勾选 Private 选项。
  • 上面两步勾选后别忘了点击页面右下方的 SAVE SETTING 绿色按钮保存。

经过上面的配置,默认最下面只会显示 5 颗小星星,简洁但不明了joy,怎么加上文字说明呢?

首先打开文件(~/blog/themes/next/layout/_macro/post.swig):

        {% if theme.rating.enable %}
          <div class="wp_rating">
+            <div style="color: rgba(0, 0, 0, 0.75); font-size:13px; letter-spacing:3px">(&gt;看完记得五星好评哦亲&lt;)</div>
            <div id="wpac-rating"></div>
          </div>
        {% endif %}

侧栏加入已运行的时间

打开文件(~/blog/themes/next/layout/_custom/sidebar.swig),加入以下代码。

<div id="days"></div>
<script>
function show_date_time(){
window.setTimeout("show_date_time()", 1000);
BirthDay=new Date("05/27/2017 15:13:14");
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>

如果感觉上下留白太多,咋整?浏览器 F12 找元素,调成自己喜欢的值,然后 Copy 到 custom.styl 即可.

点击侧栏头像回到博客首页

首先要在主题配置文件中配置好,比如我把头像avatar.png放在~/blog/source/uploads/下。

然后编辑文件(~/blog/themes/next/layout/_macro/sidebar.swig),搜索site-author-image,添加两句代码即可。

这里注意图片格式需要保持一致。

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

文章摘要配图

修改 /themes/next/layout/ _macro/post.swig ,在 if is_index 与 if post.description and theme.excerpt_description 之间添加以下代码(大约在283行)。

{% if post.images %}
    <div class="out-img-topic">
        <img src={{ post.images }} class="img-topic">
    </div>
{% endif %}

添加鼠标点击爱心效果

/themes/next/source/js/src下新建文件clicklove.js,接着把该链接下的代码拷贝粘贴到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);

修改_layout.swig,在\themes\next\layout\_layout.swig文件末尾添加:

<!-- 页面点击小红心 -->
<script type="text/javascript" src="/js/src/clicklove.js"></script>

添加网页标题崩溃欺骗搞怪特效

实现效果

next\source\js\src文件夹下创建crash_cheat.js,添加代码

<!--崩溃欺骗-->
 var OriginTitle = document.title;
 var titleTime;
 document.addEventListener('visibilitychange', function () {
     if (document.hidden) {
         $('[rel="icon"]').attr('href', "/img/TEP.ico");
         document.title = '?你应该是一场梦';
         clearTimeout(titleTime);
     }
     else {
         $('[rel="icon"]').attr('href', "/favicon.ico");
         document.title = '☀我应该是一阵风' + OriginTitle;
         titleTime = setTimeout(function () {
             document.title = OriginTitle;
         }, 2000);
     }
 });

next\layout\_layout.swig文件中,添加引用(注:在swig末尾添加):

<!--崩溃欺骗-->
<script type="text/javascript" src="/js/src/crash_cheat.js"></script>

 

 

参考文章:Yang ZiHao易 象 辞asdfv1929

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hexo的美化——拓展篇 的相关文章

  • python3 hashlib库sha256、pbkdf2_hmac、blake2b基本用法

    hashlib sha256 import hashlib x hashlib sha256 x update b asd print x 1 x hexdigest x hashlib sha256 x update asd encode
  • 数据下载网站整理

    数据十分重要 如何找到理想的数据显得更重要了 这里记录自己经过网上查询到的数据 进行整理 如果侵权 请联系我删除 再次感谢网友大佬们提供的资料 1 中国气象站点数据 下载地址 https www resdc cn data aspx DAT
  • 递归算法中的时间复杂度分析

    对于一种算法的时间复杂度分析还是特别重要的 在一些非递归算法中 我们仅仅看运算次数最多的那一行代码可能执行多少次就可以 实际就是看在循环中变量的变化 但是对于递归算法中该怎么分析呢 下面介绍几种递归函数中的算法时间复杂度分析的方法 0 递推
  • 使用paramiko跨服务器传输文件/文件夹

    一些概念 SSH Secure Shell 安全外壳协议 是建立在应用层基础上的安全协议 专为远程登录和其他网络服务提供安全性的协议 SFTP SSH 文件传输协议 Secret File Transfer Protocol SFTP 安全

随机推荐

  • window.location.href的用法

    window location href的用法 一 前言 二 常见用例 一 前言 window location href 是一个用于获取当前页面 URL 或让浏览器跳转到新 URL 的重要方法 是 window location 对象的属
  • 【gis系列】等高线创建dem,以及高程分析,坡度分析,坡向分析

    绝对原创 首先 我们要整理一份cad的文件格式 这里我不说那么多 就是在某某地图下载后 方法很多 可以通过qgis globalmapper来操作数据 以及一些普通的地图软件直接生成 这里呢 然后进入cad 把里面的高程标注信息给删除掉 图
  • 机器学习资源大全

    C 计算机视觉 CCV 基于C语言 提供缓存 核心的机器视觉库 新颖的机器视觉库 OpenCV 它提供C C Python Java 以及 MATLAB接口 并支持Windows Linux Android and Mac OS操作系统 通
  • SD卡初始化以及命令详解

    SD卡是嵌入式设备中很常用的一种存储设备 体积小 容量大 通讯简单 电路简单所以受到很多设备厂商的欢迎 主要用来记录设备运行过程中的各种信息 以及程序的各种配置信息 很是方便 有这样几点是需要知道的 SD 卡是基于 flash 的存储卡 S
  • Visual Studio 创建DLL 、LIB及调用

    一 前言 在工程中 经常会根据不同的场景需求将类封装成库文件 以供他人使用 那么如何利用VS进行库 动态库 的生成呢 以下简要演示实现过程 开发环境 VS2019 二 生成DLL动态库 1 创建控制台工程 添加类库函数 2 添加函数代码 d
  • vue打包及运行白屏,Android低版本适配

    版本支持 对于Android 4 X无法打开的问题 具体表现 1 运行后低版本谷歌浏览器打开后白屏 2 打包后低版本Android系统打不开 白屏 打包前npm run build后低版本浏览器打开白屏 如果低版本打开白屏那么打包后低版本A
  • CUDA系列三:矩阵相乘

    本博文主要讲解下基于cuda的矩阵相乘 cuda特别擅长的就是矩阵乘法 而且也比较容易实现 通过矩阵乘法的实现 可以比较容易理解cuda的核心思想 网上也有很多基于cuda实现的矩阵乘法 但是感觉都不完成 要不就是有错 本文给出的代码都是经
  • C#学习记录(47)MSSQL数据库

    引言 微软数据库是针对中小型企业的关系型数据库 操作简单易上手 首先介绍下C NET的数据库 以 ActiveX 数据对象 ADO 为基础 以 XML 扩展标记语言 为格式传送和接收数据 C NET应用程序 lt gt ADO NET lt
  • 特征值和特征向量的几何和物理意义

    原文 http blog 163 com renguangqian 126 blog static 1624014002011711114526759 FUCk 相见很晚 如果大学期间遇到这样的文章 线代必须90分以上 特征值和特征向量的几
  • vsCode中live server插件的安装及使用

    live server 插件是用来干嘛的 本地开发常常需要搭建临时的服务 作用 1 模拟服务器的方式打开页面 2 代码改动后 会自动刷新页面 安装 使用 1 使用要求 要求项目文件夹 Demo 要单独出现在vscode侧边栏 以下两种都可以
  • 软件设计风格(干货)-架构师之路(九)

    一 软件架构风格概念 Architecture架构 体系结构 软件体系结构风格是 描述某一特定应用领域中 系统组织方式 的惯用模式 架构风格定义一个系统家族 即 一个架构的定义 一个词汇表和一组约束 词汇表包含 一些构建和连接类型 而一组约
  • 你工作效率低,可能是因为不会Python

    前言 你是不是感觉你的工作非常无聊 每天有大量的重复性的工作要做 比如在我的工作中 就有很多类似的动作 每天早上要看我们DevOps流水线跑出的结果 查看各个微服务中的重复代码率是多少 有没有增加 CleanCode中的各项指标怎么样 代码
  • 微信加拿大服务器,微信新功能,在加拿大也可以任意刷人民币了

    原标题 微信新功能 在加拿大也可以任意刷人民币了 2018 6 11 加币 人民币 4 877 加币 美金 0 757 近日 微信悄悄上线了一项新功能 这就是 亲属卡 什么是 亲属卡 简单来说 就 是 你消费 别人买单 这项功能对于我们身在
  • 2021-01-10

    RIP 协议 一 合理分配IP地址 二 配置IP地址 三 运行RIPV 2 例R1 四 配置缺省路由 五 RIPV2 认证 例R1 六 配置空接口路由 防环 例R1 七 全网可通
  • 成员变量与局部变量的区别有哪些

    成员变量是在类内部定义的变量 在类的任何方法中都可以直接使用 其作用域为整个类 成员变量有默认值 如果没有给定初始值 数值类型默认为0 布尔类型默认为false 对象类型默认为null 局部变量是在方法 代码块 循环等内部定义的变量 其作用
  • 【羊了个羊】Burp抓取IOS微信小程序数据包

    描述 最近 小游戏 羊了个羊 在朋友圈刷屏 网友纷纷表示 游戏开发者多少有个病要治 本文记录 如何使用Burp抓取ios微信小程序数据包 工具准备 Burp 苹果手机 wifi 设置记录 手机和电脑连接同一wifi burp设置新代理 手机
  • 人脸分割 人脸解析 源码推荐

    2021年 有预训练 resnet50 126m 测试代码 python face warping test py i 0 e rtnet50 decoder fcn n 11 d cuda 0 Command line arguments
  • html js c 代码大全,js常用汇总

    javascript 代码库JS函数修改html的元素内容 及修改属性内容 document getElementById aid innerHTML World document getElementById aid href http
  • CBAM——即插即用的注意力模块(附代码)

    论文 CBAM Convolutional Block Attention Module 代码 code 目录 前言 1 什么是CBAM 1 Channel attention module CAM 2 Spatial attention
  • hexo的美化——拓展篇

    基础知识 css样式 hexo themes next source css 是next主题的样式文件 决定主题的外观 hexo themes next source css main styl 汇总css文件夹中所有的样式 hexo th