一言
一言介绍:
简单来说,一言(ヒトコト)指的是就是一句话,可以是动漫中的台词,可以是小说中的语句,也可以是网络上的各种小段子。
或是感动,或是开心,又或是单纯的回忆,来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。
我也是在逛别人博客的时候偶然间发现的一言,你可以用一言来记录一些自己喜欢的句子,再用它提供的API把自己的记录分享出来,感觉很不错呢。
下面就教教大家怎么把一言添加到自己的博客里吧!
添加方法
注意:方法只以我自己的博客添加方法来说明,如果你有更多要求请看官方API的说明:http://hitokoto.us/api.html
首先我们要注意一下几个主要的请求参数(省略对encode参数的说明,有需要的点上面的网址):
cat:返回指定分类的一句话,如果为空则返回任意分类的一言。若请求参数包含uid,则cat对应cid
charset:字符集,支持gbk/utf-8,默认为utf-8
length:返回一句话的长度限制,超出则打断并添加省略号
uid:获取“我的一言”
mix:同时在系统收录的“一言”和获取“我的一言”中随机,若需指定用户分类请使用ucat参数
ucat:配合mix参数使用,用于指定用户分类CID
然后我们来说下对一言的具体展示设置,主要是对最后添加的代码里网址的设置,这里需要用到上面的参数。
请求网址:http://api.hitokoto.us/rand
SSL:https://api.hitokoto.us:214/rand
加上一些参数后,就能展示出不同的一言了。比如你可以这样:http://api.hitokoto.us/rand?cat=a&charset=utf-8或者https://api.hitokoto.us:214/rand?cat=a&charset=utf-8(意思是随机展示审核过的投稿里a分类的一言记录,字符编码为UTF-8,网址对应HTTP和HTTPS的网站)
官方投稿分类说明(cat参数具体设置):
a:Anime – 动画
b:Comic – 漫画
c:Game – 游戏
d:Novel – 小说
e:原创
f:来自网络
g:其他
如果你和我一样是准备展示自己收藏的一言,那么你可以这样写:http://api.hitokoto.us/rand?uid=XXXX或者https://api.hitokoto.us:214/rand?uid=XXXX(对应HTTP和HTTPS网站)
这里的UID请点击“我的一言”,在最后的API相关里有写。更具体一点的,你是想展示自己收藏的一言里某个分类的记录,请结合上面的例子将cat=a换成cat=CID(CID为你自己分类目录的CID)。
上面说的,主要是搞定了自定义需要展示的一言的问题,现在再说怎么添加到博客吧!
以下方法来自官方说明,部分修改:
1. 将下面这段代码放入HTML页面的head标签内(放入博客的header.php里)
- <script type=“text/javascript” src=“http://api.hitokoto.us/rand?encode=js&charset=utf-8”></script>
上面的网址请根据前面的说明写你自定义的。
2. 将下面这段代码放入页面内需要展示一句话的位置即可
- <div id=“hitokoto”><script>hitokoto()</script></div>
该脚本实质为document.write的脚本。
当然如果你和我一样只是想放到右侧边栏里,可以直接复制下面的代码,新建一个文本小工具放进去就可以了,效果嘛看我博客的右边栏。
代码:
- <script type=“text/javascript” src=“http://api.hitokoto.us/rand?encode=js&charset=utf-8”></script><div id=“hitokoto”><script>hitokoto()</script></div>
注意替换网址哦!
最后再贴一下官方的API说明:http://hitokoto.us/api.html
里面有更加详细的说明以及更多的用法。
Hello,我也开发了一个 关于古诗词的 一言 API,可以根据场景智能推荐。不知道博主有没兴趣看一看,我们还提供炒鸡方便的安装 SDK。一起学习哈哈。
https://www.jinrishici.com
好评!刚才试了下挺好的嘛,我觉得我可以给大家介绍一下,正好这老文里说的一言也挂了……话说我看了下文档里那个网站快速安装教程,有个小想法,在贴出的代码里加个 async 或者 defer 属性会不会更好一点?毕竟有些人是直接复制粘贴的,可能并不会注意一些小细节,而我觉得异步加载的方式体验会更好一些(PS:头像好眼熟,好像 V2 上看过?)。
我是 v2 上面也发过这个。
快速安装的只是引用我的 js 文件,然后就会自动填充到相关的html的标签。
你说的是不是标准接口那个调用示例呢,能不能指教一下是哪个代码(axios那个?),怎么写比较好,我对前端也不太熟
啊,抱歉,只是一点个人的强迫症。因为据我所知<script>标签引用外部资源可能会有阻塞资源下载方面的问题,所以才说是不是弄个异步加载。毕竟很多人可能只是贴上代码就用,没考虑到太多。至于指教就不敢当了,我并非是这方面的人士,上面说的也不一定是对的哈。 😆
是阻塞的,但是所有 CSS、JS 的加载都是阻塞的,所以 JS 放到 </body> 前几行来加载,这个是浏览器的调度策略。