为你的Hexo添加随机诗句

简介: 看到许多Hexo构建的博客都有随机诗词功能,在浏览器里面搜集教程之后,于是写了这篇文章。

前言


看到许多Hexo构建的博客都有随机诗词功能,在浏览器里面搜集教程之后,于是写了这篇文章。

效果实现代码如下:

<div class="poem-wrap">
  <div class="poem-border poem-left"></div>
  <div class="poem-border poem-right"></div>
    <h>念两句诗</h>
    <p id="poem">挑选中...</p>
    <p id="info">
  <script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>
  <script type="text/javascript">
    jinrishici.load(function(result) {
      poem.innerHTML = result.data.content
      info.innerHTML = '【' + result.data.origin.dynasty + '】' + result.data.origin.author + '《' + result.data.origin.title + '》'
      document.getElementById("poem").value(poem);
      document.getElementById("info").value(info);  
  });
  </script>
</div>

刷新页面会有变化哦 ~~~

操作

  1. 输入命令 hexo n page "Message"在/butterfly/source文件夹下创建一个Message文件夹("" 里是文件名,文件名可以自定义)
  2. 找到主题配置文件 _config.butterfly.yml,在 menu位置中添加留言页面的连接:
menu:
   留言: /Message/ || fas fa-comment
  1. 进入themes/butterfly/source/Message文件夹,编辑index.md文件,添加如下代码:
<div class="poem-wrap">
  <div class="poem-border poem-left"></div>
  <div class="poem-border poem-right"></div>
    <h>念两句诗</h>
    <p id="poem">挑选中...</p>
    <p id="info">
  <script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>
  <script type="text/javascript">
    jinrishici.load(function(result) {
      poem.innerHTML = result.data.content
      info.innerHTML = '【' + result.data.origin.dynasty + '】' + result.data.origin.author + '《' + result.data.origin.title + '》'
      document.getElementById("poem").value(poem);
      document.getElementById("info").value(info);  
  });
  </script>
</div>
  1. 在/themes/butterfly/source/css/index.styl中添加以下代码(直接在底部添加):
/*诗*/
.poem-wrap {
    position: relative;
    width: 730px;
    max-width: 80%;
    border: 2px solid #797979;
    border-top: none;
    text-align: center;
    margin: 80px auto;
}
.poem-wrap h {
    font-size: 40px;
    font-style:oblique;
    position: relative;
    margin-top: -40px;
    display: inline-block;
    letter-spacing: 4px;
    color: #797979
}
.poem-wrap p {
    width: 70%;
    margin: auto;
    line-height: 30px;
    color: #797979;
}
.poem-wrap p#poem {
    font-size: 22px;
    margin: 15px auto;
}
.poem-wrap p#info {
    font-size: 15px;
    margin: 15px auto;
}
.poem-border {
    position: absolute;
    height: 2px;
    width: 27%;
    background-color: #797979;
}
.poem-right {
    right: 0;
}
.poem-left {
    left: 0;
}
@media (max-width: 685px) {
    .poem-border {
        width: 18%;
    }
}
@media (max-width: 500px) {
    .poem-wrap {
        margin-top: 60px;
        margin-bottom: 20px;
        border-top: 2px solid #797979;
    }
    .poem-wrap h {
        margin: 20px 6px;
    }
    .poem-border {
        display: none;
    }
}
  1. 最后使用命令hexo g部署完成后,进入你的网站,Ctrl+Fn+F5清除一下网页缓存就可以看到效果啦。

后记


这里调用的是今日诗词API,是一个可以返回一句古诗词名句的接口。

访问链接:https://www.jinrishici.com/

相关文章
|
运维 Linux 网络安全
推荐几款SSH客户端
对于经常使用Linux服务器的,应该都对SSH比较熟悉吧!特别是做运维的,而对于做Linux或Android系统开发的,一般会在公司搭建一台性能强劲的服务器,然后大家一起在上面做开发。大家一般都是通过SSH客户端登录到服务器上进行开发。那接下来给大家推荐几款平时常用的SSH客户端。
|
IDE 开发工具 iOS开发
基于MacOS搭建ESP8266 NodeMCU CP2102开发环境
基于MacOS搭建ESP8266-NodeMCU开发环境 1. 下载、安装驱动 2. Arduino开发环境配置 2.1. 下载、安装Arduino 2.2. 配置Arduino
基于MacOS搭建ESP8266 NodeMCU CP2102开发环境
|
JSON API 持续交付
逐步指南:使用FastAPI部署YOLO模型的步骤
逐步指南:使用FastAPI部署YOLO模型的步骤
|
10月前
|
PHP 计算机视觉 开发者
PHP中的图像处理:GD库与Imagick的应用比较
在PHP开发中,图像处理是一个常见的需求,尤其是在开发图像生成、编辑、缩放等功能时。PHP提供了两种主流的图像处理库——GD库和Imagick,它们各自具有不同的特点和适用场景。本文将对这两者进行比较,帮助开发者根据项目需求选择合适的图像处理工具。
|
存储 监控 Java
Java多线程优化:提高线程池性能的技巧与实践
Java多线程优化:提高线程池性能的技巧与实践
385 1
|
存储 数据库 数据安全/隐私保护
Duplicator插件的主要功能是什么?
【6月更文挑战第4天】Duplicator插件的主要功能是什么?
178 1
|
域名解析 JavaScript 前端开发
5分钟快速上线Web应用和API(Vercel)
上周有个童鞋问我如何快速搭建一个Web应用,想拿来练手,就不考虑购置服务器。我推荐了前段时间很火的Vercel,接下来我带你5分钟上手!
|
前端开发 Go
vercel
vercel
261 0
|
JSON 缓存 NoSQL
重新更新VScode配置(C/C++)——负责任、手把手教学,亲测有效
对于C/C++的编程环境来说,目前我们所接触到的、所用到的,除了vim以外,大众用的、尤其是学生群体用的主要是有三种。
1624 1
重新更新VScode配置(C/C++)——负责任、手把手教学,亲测有效