各位好,各位新年好,这里是庭院一角,这里是HarryPan。
本站自三月正式开放以来,这一路也是跌跌撞撞,人来人往。如今本站也尽量平稳地走到了年底,看其他博客都写年末总结,遂仿着他们的格式,来写一写这一年博客的改动,为今年的庭院一角做个小小的收尾。
各位朋友
其实第一年没什么好写的,但转念一想,恐怕明年大家毕业,各奔东西,估计就不会有新的作者入驻了,大概可以认为现在的各位就是本站的主要阵容。
博客这种东西,大多数人都是开始时兴趣满满,写不了几篇就开始变得怠惰,逐渐生疏,最后完全遗忘。即使是本站头牌Monius,自十一月中之后也一稿未发。而6月加入的吕茜李,则保持着十分稳定而优秀的更新频率,实乃吾辈楷模。
本站浏览量最高的文章很长一段时间内都是Monius从他的公众号拿来的【辛妍食记】饮者杂记(其一)。这篇散文在没有推介分发的情况下意外地保持了一骑绝尘的浏览量。然而9月的开封美食图鉴——面食类(Ⅰ)异军突起,迅速夺下了浏览量最高的宝座,指导了一众开封学子的美食之路。
除了楷模吕茜李和头牌Monius,本站还有一位大神,这位大佬不鸣则已,一鸣惊人。可惜本站到现在还是不温不火,说明这位元直兄尚在韬光养晦,就等站长顺江而下决战赤壁时给站长来个大的。
博客改动
自七月更换为VOID主题以来,这个主题被我缝缝补补,在许多可见不可见的地方做了不少改动。其中不少地方都是自娱自乐,这里拣一些之前没提过的一一道来。
天气插件
这个插件算是我对插件开发的第一次尝试。
这个插件的实际感知其实非常弱。它的效果是每次访问主页的时候就会随机获取一个城市的天气,如果是下雨,则根据风力和降雨量在页面显示下雨特效;如果是下雨,则根据风力和降雨量在页面显示飘雪特效。
这个插件源自Snow插件。我在修改后给插件接入了彩云天气的API。彩云API根据经纬度获取天气信息,我便拉取了一份全国省市的经纬度列表。每次访问主页时便随机一个城市,通过API获取其天气状况,通过<canvas>在页面上绘制特效,并在页脚处给出提示信息。
其实这个插件,如果我不提,恐怕九成的人都不会发现。剩下一成就算发现了特效,也不会发现页脚的天气与特效相关。那么为什么我要选择随机地点,而不是设计成“访客的位置”呢?
说实话,原因来自我一个稍有幼稚的想法:在访问主页时,发现世界的另一个角落正在下雨或落雪,似乎是个挺浪漫的事;如果设计成显示访客城市的天气的话,窗外大雨滂沱,打开博客还是阴雨连绵,心情大概只会更差吧。
这个插件暂时还不会发布,因为预定还要加上沙尘,阴霾等天气的特效,但是对如何设计这些特效完全没有思绪。如果有懂这些的前端大佬,还希望可以赐教。
随机主图
这个其实没啥好说的。就是个很简单的随机图片API。
//rand.php
<?php
$pic='https://cos.harrypan.cn/RandomImage/'.rand(1,17).'.jpg';
//返回指定格式
$type = $_GET['type'];
switch ($type) {
//JSON返回
case 'json':
header('Content-type:text/json');
die(json_encode(['pic' => $pic]));
default:
die(header("Location: $pic"));
}
?>这个功能本身就没什么复杂的地方,我也直接力大砖飞,从需求入手,写了个PHP。在主图位置填入其链接,就可以实现随机主图的功能。
但是VOID的主图只会在主页显示。而在分类,作者,搜索等各种页面,都是只显示标题,不显示头图的。所以我也简单暴力地改了主题的banner.php:
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
$setting = $GLOBALS['VOIDSetting'];
$banner = 'https://cos.harrypan.cn/RandomImage/'.rand(1,17).'.webp';
$blur = false;
if($this->is('post') || $this->is('page')) {
$banner = $this->fields->bannerStyle < 2 ? $this->fields->banner : '';
$blur = $this->fields->bannerStyle == 1;
}表情插件
VOID主题是嵌入了OwO表情组件的。然而这个组件要配置表情包十分麻烦:要将表情图片的名称转码,为表情包编制json索引,十分麻烦。我当时因为没有太大修改的需求,便换了几个表情包,便搁置不管了。
前几日看到了Mikusa的年度总结也在吐槽这个问题,便突然有了想法:把OwO组件单独做成一个插件支持。
表情组件本身的改动并不大,但影响使用的地方还是有的:如果表情包过多,底部表情导航就不会显示在后面的表情包。顺便我很青睐Project Poi的表情组件:
这个表情组件十分完美,有动效,有文本提示,还能根据页面宽度切换样式。我虽然暂时没法做到一模一样,但至少可以仿照着修改导航栏。我便将表情组件的导航栏改为显示图标,并支持多行。
除此之外,我还为他设计了一键生成索引的功能,以后装卸表情包就会更轻松,再也不用重复那些反人类的工作了。
前方的路
说实话,虽然建里站的时候我说过:VOID特别符合我的审美。但在这半年,我也逐渐感受到了我的各种创想,已经很难通过“增补”来完成了。那么下一步是什么呢?
在我探索的时候,我发现Isla突然无法访问了。我本想通过Github上的QQ群联系博主询问,却被群名吓退。所幸数日后,Eltrac‘s便重新上线了。这个博客给我展示了一个大胆的可能性:将Typecho作为无头CMS,然后另行设计一套博客前端,以摆脱Typecho和PHP的种种限制。现在这个方案已经在规划中,大概明年,也许就会上线——胎死腹中也不一定。
总之就是如此,一年风雨暨彩虹,这里是HarryPan,这里是庭院一角。愿明年的今天,我们还会在此相会。
本文链接:https://www.harrypan.cn/archives/543/
版权声明:转载时须注明出处及本声明
大佬,我在GITHUB里面看到你的owo for typecho的插件,但是里面的范例表情包下载链接失效了,能否重新做个链接呢?
上次重启服务器忘开后仓库了……已经打开了
另外这个插件有点小问题,目前已经修复,建议使用最新的版本
万分感谢
加油~坚持一年算一年
我觉得这是你还得看总主编,总主编不走就一直能拉来作者