近来速记与折腾valine与字数统计

题图来自valine

好久没搞blog了,前几天同学提起(原来这么久还有人看2333),昨天就心血来潮,处理了几个bug及搞明白了几个问题。

首先,valine基于的LeanCloud域名被封了,前几天收到短信,没太当回事,后来仔细看了一下官方的说明,好像是有违规的程序用了LeanCloud服务,LeanCloud已经第一时间禁用理了,但后来游戏被查封时,其访问的LeanCloud域名还是被牵连了…虽然现在在和有关部门交涉,但恢复情况还不清楚…只能用备用域名 https://avoscloud.com 了;
LeanCloud的通知短信

然后解决了,之前valine评论框填写昵称后仍显示Anonymous的问题,插代码才发现是,在valine.ejs中的meta项写错了,meta其实直接留空就行,默认就会是[‘nick’,‘mail’,‘link’](之前写了个meta:meta,把自己逗笑了)。然后也发现有些浏览器的广告拦截插件会误拦截valine评论框。

然后尝试了valine的recordIP和阅读统计功能。recordIP可以记录评论的IP,还惊奇的发现LeanCloud的服务可以ipv6接入,厉害了。而阅读统计功能着实让我折腾了一阵,valine文档提供的方法,只是写出了id用文章的相对链接,但在hexo中如何实现没给出例子,看了一篇帖子大概看明白了,但还是只能手动复制每一篇的文章相对链接来实现,而美观的方法是把阅读统计放在文章标题下的banner处,通过变量传递的方式来统一实现更好。后来参考了next主题的代码(#195行),使用hexo变量url_for(post.path)(官方文档写的是url_for(page.path)其实貌似都行),但是还是一直无法正常写入LeanCloud的Counter类,折腾到了今天,晚上一看,还是js写错了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<% if (theme.comment.valine.visitor) { %>
<span id="<%- url_for(page.path) %>" class="leancloud-visitors" data-flag-title="<%= page.title %>">
<a class="post-meta-item-text">阅读量: </a>
<i class="leancloud-visitors-count">1000000</i>
</spac>
<% } %>

<!-- old wrong code -->
<!-- <% if (theme.comment.valine.visitor) { %>
<span id="/<%= url_for(page.path) %>" class-"leancloud-visitors" data-flag-title="<%= page.title %>">
<div class="article-counter">
<a class="post-meta-item-text">阅读量: </a>
<i class="leancloud-visitors-count">1000000</i>
<a class="<%- url_for(post.path) %>" </a>
</div>
<% } %> -->

没正经学过html,就靠着模仿复制代码还是走弯路啊(后来发现valine的阅读统计好像一个页面只能显示一个,后面的会显示异常)…

然后,测试关于页面的“一言”功能,发现也不好使了,更新了从hitokoto摘过来的js,咋不显示了呢,直接地址栏回车,内容是在的啊,总得遗留下点问题(在hexo生成的html中已经有相关的js代码了,但为啥不显示呢)…

最后也记录下近况吧:
这几个月说忙也不算特别忙,工作的效率也够低的,原计划3月办的事情,硬是拖到了6月份。但还是完成了几件标志性的事情,也还算有进展吧…另外在筹划的事情,第一阶段也通过了,希望下半年运气能好点、接下来的事情顺利些…虽然即使顺利,紧接着的依然是挑战,还不知道咋地面对,不过之前都那么多不顺心的事了(现在还都没顺下来),接下来总得让人顺心点吧[哭笑]。


hitokoto一言后续:
又折腾半小时,终于搞明白了,参考了在关于页面底部摘抄来的sohu查看ip的js。
一言给的这个js已经写好了自带函数,不是返回的json,而sohu的查看ip的js,返回的是json格式,需要再写一个函数,把json中的字段提取显示出来,而一言的js直接返回的就是字段函数,直接显示即可。但还要注意下顺序,函数放在下面,字段在上面,否则后面md转html的过程会格式会出错,md语法都被font给打乱了。

1
2
3
4
<center>
<font id="hitokoto" size="3"></font>
</center>
<script type="text/javascript" src="https://v1.hitokoto.cn/?encode=js&select=%23hitokoto" ></script>

0625更新
仿照hexo-theme-next添加了阅读字数统计,需要hexo-wordcount插件,还添加了几个fontawsome的icon,新特性也提交hexo-theme-hueman了,看大神有没有时间看一下了。

还发现了个Sublime蛋疼的地方,Git push的时候代码末总有个符号,虽然没什么关系,但还是有点强迫症…查了一下才知道是“no newline at end of file”,python、gcc等编译时,文末没有换行符会报错,在sublime里因为Tab设置了空格,文末即使回车加了新行但有空格,用Atom就没关系,Atom在保存时,会自动加个新空行包含换行符,很智能。