Keep主题本身自带一言(hitokoto,后续不再标注),只需在${blog-dir}/theme/keep/_config.yml
中修改:
first_screen: hitikoto: true
|
但是只能显示在主页中间,并且不能修改句子的种类和格式。
于是自己来修改。
官方文档:语句接口 | 一言开发者中心 (hitokoto.cn)
官方示例:使用示例 | 一言开发者中心 (hitokoto.cn)
本文参考了为您的Hexo博客添加Hitokoto一言功能 | Bill Yang’s Blog文章。
API的使用
在你想要加入一言的地方(.ejs
文件)加入如下代码,比如要放到网页底部,就找到${blog-dir}/themes/keep/layout/_partial/footer.ejs
,在其他元素后面加入代码:
<p id="hitokoto">Getting poem ... </p> <p id="hitoauthor">Getting poem ... </p> <p id="hitofrom">Getting poem ... </p> <!-- 此三行表示把下面脚本中获取的内容嵌入网页中 --> <script> fetch('https://v1.hitokoto.cn/?c=i') .then(function (res){ return res.json(); }) .then(function (data) { var hitokoto = document.getElementById('hitokoto'); hitokoto.innerText = data.hitokoto; var hitoauthor = document.getElementById('hitoauthor'); hitoauthor.innerText = "——" + data.from_who; var hitofrom = document.getElementById('hitofrom'); hitofrom.innerText = "《" + data.from + '\xa0》'; }) .catch(function (err) { console.error(err); }) </script>
|
注:获取句子的类型:
参数 |
说明 |
a |
动画 |
b |
漫画 |
c |
游戏 |
d |
文学 |
e |
原创 |
f |
来自网络 |
g |
其他 |
h |
影视 |
i |
诗词 |
j |
网易云 |
k |
哲学 |
l |
抖机灵 |
其他 |
作为 动画 类型处理 |
可选择多个分类,例如: ?c=a&c=c
显示效果
以上效果为三行显示,并不美观:
可以缩为一行:
<p id="hitokoto_all">Getting poem ... </p> <script> fetch('https://v1.hitokoto.cn/?c=i') .then(function (res){ return res.json(); }) .then(function (data) { var hitokoto_all = document.getElementById('hitokoto_all'); hitokoto_all.innerText = data.hitokoto + " —— " + data.from_who +"《" + data.from + 》' ; }) .catch(function (err) { console.error(err); }) </script>
<p id="hitokoto_all"><a href="#" id="hitokoto_text">获取诗词中 ... </a></p> <script async <%= theme.pjax.enable === true ? 'data-pjax' : '' %> > fetch('https://v1.hitokoto.cn/?c=i') .then(function (res){ return res.json(); }) .then(function (data) { var hitokoto_all = document.getElementById('hitokoto_all'); hitokoto_all.innerText = data.hitokoto + " —— " + data.from_who +"《" + data.from + '》' ; }) .catch(function (err) { console.error(err); }) </script>
|
效果为:
更多内容
请根据自己的需要自行选择要显示的内容:
返回参数名称 |
描述 |
id |
一言标识 |
hitokoto |
一言正文。编码方式 unicode。使用 utf-8。 |
type |
类型。请参考第三节参数的表格 |
from |
一言的出处 |
from_who |
一言的作者 |
creator |
添加者 |
creator_uid |
添加者用户标识 |
reviewer |
审核员标识 |
uuid |
一言唯一标识;可以链接到 uuid 查看这个一言的完整信息 |
commit_from |
提交方式 |
created_at |
添加时间 |
length |
句子长度 |