阅读视图

WP RSS.Beauty 插件

周末在 J.sky 那里看到一篇 rss 美化的文章,周末尝试了一下,想集成到 wp 中,但是操作的过程中发现各种问题。最开始想着直接通过修改 functions 的方法插入样式文件,但是折腾多次之后以失败告终,要么插入的样式有问题,要么无法插入样式,要么样式文件不加载。

退而求其次直接使用 openresty 的 sub_filter 模块进行替换,但是效果依然不行,替换代码无效。这个可能与当前 wp 的配置文件过于复杂有关系,可能有的配置存在冲突。

最后还是选择用插件来实现这个功能,好处是可以把所有东西都塞到一块儿,不用单独管理了,坏处那就是多了一个插件。

目前安装的插件已经四十多个了,启用的有 30 多个。

至于实际效果,预览地址:https://zhongxiaojie.cn/feed/

那就是下面的样子了,在 vivaldi 中的默认订阅界面效果:

原始内容效果:

插件代码:

https://cnb.cool/oba.by/rss-beauty

插件下载:

https://cnb.cool/oba.by/rss-beauty/-/releases/tag/1.0.0

现在想来,自己的这种集成方式相对来说激进了点,并没有 用到 RSS.Beauty 的功能,实际上只是用了一个样式文件。不过也还行吧,整洁干净,一个插件就解决了。

  •  

inBox 笔记春节特惠来了,顺便聊聊最近的开发进展

下周就是春节了,先提前祝大家新年快乐。这段时间,后台偶尔会收到用户的私信,问春节期间inBox笔记有没有折扣活动。我想了想,既然大家有这个需求,那就还是照例做一个小小的回馈活动吧。1.春节限时特惠这次活动的力度和往常一样,主打“微利回...
  •  

卡巴斯基引发的网络异常

忘了从什么时候开始,win11的小组件有一直打不开,提示网络异常。当时一度以为各种代理工具修改了系统设置导致的,所以解决方法也简单粗暴,眼不见心不烦,直接关掉了任务链小组件。

然鹅,事情貌似没那么简单,最近系统更新,可能跟系统更新有关,也可能跟卡巴斯基的病毒库有关。昨天晚上想从wps的云文档找点东西,结果发现wps云文档也打不开了。

点击诊断修复提示ssl连接异常。一不做二不休,直接删除所有的代理工具,当然,也尝试了windows的各种网络修复命令。

# 重置网络协议与DNS缓存
netsh winsock reset
ipconfig /release
netsh int ip reset
ipconfig /renew
ipconfig /flushdns

重启之后依然是同样的问题,后来在想是不是杀软的问题。直接退出卡巴基斯,竟然能访问了。开启之后,逐步禁用相关的功能。发现出问题的时候并不是单独防火墙或者安全控制的问题。

单独禁用防火墙没有什么效果,禁用流量扫描也没效果。所以不知道是不是卡巴的兼容问题。

然而,比较坑爹的就是当时买的三年的授权许可,现在还剩300天,尝试去更新卡巴版本的时候,也没看到所谓的新版,而新版是完全不同的一个版本。

并且这个价格感觉比自己买的时候也贵了不少。继续溜达看了下国产的杀软,瑞星;

江民:

金山杀毒:

这么看来还是喜欢青春版,嘻嘻。看着就好看。

目前用的eset,也装了金山青春版,看看后面要不要购买授权许可吧。现在这些国产的杀软价格和国外的区别不大。不过换了之后,网络问题算是解决了。目前就先酱紫吧。

  •  

彻底解决WordPress站点健康问题

再次建站的时候,虽然没有重装系统,但是却把系统的php版本升级到了8.4。也放弃了之前编译的php7.4版本的结巴分词,而是直接启了个python的服务

不过,有的东西确一直没解决,那就是从之前的7.4,到现在的8.4版本,站点健康在响应速度慢的时候就会显示:

页面缓存通过保存和提供静态页面使得用户访问时不需要每次都调用页面,进而改善了您站点的速度和性能。

页面缓存会通过查找已启用的页面缓存插件的同时向主页发起三次请求并查找一个或多个下列的 HTTP 客户端响应标头,来确定页面缓存的存在。

cache-control, expires, age, last-modified, etag, x-cache-enabled, x-cache-disabled, x-srcache-store-status, x-srcache-fetch-status.
 服务器响应时间的中位数是 718 毫秒,其应当小于推荐的 600 毫秒临界值。
 未检测到客户端缓存响应标头。
 未检测到页面缓存插件。

虽然,已经开启了redis object cache,但是这个东西时常出现,看着总是不爽。于是下定决心要解决这个问题,其实主要就是nginx的配置问题。通过下面的方法配置就ok了。

1.在 nginx.conf 的 http {} 块中添加(仅需一次)

fastcgi_cache_path /var/cache/nginx/wordpress
    levels=1:2
    keys_zone=WORDPRESS:64m
    max_size=256m
    inactive=60m
    use_temp_path=off;

如果目录不存在,先创建:/var/cache/nginx/wordpress

2.创建wordpress-php-with-cache.conf

# 1. 复制本文件为 wordpress-php-with-cache.conf(去掉 .example),并放到与 zhongxiaojie.conf 同一目录(如 vhost/)
# 2. 若 PHP 版本或路径不同,请修改 fastcgi_pass(见下方说明)
# 3. 在 zhongxiaojie.conf 的 443 server 块中,用 include wordpress-php-with-cache.conf 替换 include enable-php-pathinfo.conf 或 include enable-php.conf
# 4. 若 fastcgi.conf 找不到,请将 include 改为 Nginx 配置目录下的绝对路径,如 /etc/nginx/fastcgi.conf
# 5. 执行:mkdir -p /var/cache/nginx/wordpress && chown -R www:www /var/cache/nginx/wordpress
# 6. nginx -t && nginx -s reload

# fastcgi_pass 常见取值(按实际修改):
#   PHP 8.4 FPM(常见):unix:/run/php/php8.4-fpm.sock
#   PHP 8.2 FPM:        unix:/run/php/php8.2-fpm.sock
#   宝塔:               unix:/tmp/php-cgi-74.sock 等

location ~ [^/]\.php(/|$)
{
    try_files $uri =404;

    fastcgi_pass unix:/run/php/php8.4-fpm.sock;

    # ------ 页面缓存:跳过后台、登录、订阅等 ------
    set $skip_cache 0;
    if ($request_uri ~* "/wp-admin/|/wp-login\.php|/xmlrpc\.php|wp-.*\.php|/feed/|sitemap(_index)?.xml|/cart/|/checkout/|/my-account/") {
        set $skip_cache 1;
    }
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in|woocommerce_") {
        set $skip_cache 1;
    }
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;

    # ------ FastCGI 缓存(依赖 nginx.conf 中 fastcgi_cache_path WORDPRESS)------
    fastcgi_cache WORDPRESS;
    fastcgi_cache_key $scheme$request_method$host$request_uri;
    fastcgi_cache_valid 200 301 302 60m;
    fastcgi_cache_use_stale error timeout updating http_500 http_503;
    fastcgi_cache_lock on;
    fastcgi_cache_lock_timeout 5s;

    fastcgi_index index.php;
    include fastcgi.conf;

    # ------ 检测工具要求的客户端缓存响应头 ------
    add_header X-Cache-Status $upstream_cache_status;
    add_header X-Cache-Enabled "1";
    add_header Cache-Control "public, max-age=3600";
}

3.在网站的配置文件中引入上面的配置信息vim /usr/local/nginx/conf/vhost/zhongxiaojie.com.conf

include wordpress-php-with-cache.conf;

重启nginx 就ok啦

 

  •  

WP 访客信息插件 v16.06.99

### v16.06.99

- 版本号更新至 16.06.99
- 新增 **纯真QQWRY** IP 查询方式(qqwry_api:qqwry.dat / ipv6wry.db),无需 Composer
- 新增 **显示协议类型** 选项:在国旗与国家文本后、IP 地址前显示 IPv4/IPv6 图标(img/ipv4.png、ipv6.png)
- QQWRY(IPv4/IpLocation、IPv6/ipdbv6)与 ip2region(xdb)返回完整字段,支持国旗与完整归属地显示
- 图标样式统一:IP 版本图标与 IP 地址图标使用与浏览器/系统图标相同的 vertical-align 等样式

昨天发布了之后,hary反馈说,有更精准的纯真的数据库

当然啦,除此之外,其他的宝子的反馈我也看了,包括对于归属地准确性讨论的。

有的宝子的评论还没来的及回复,后面会回复的哈。在忙着测试hary提供的版本,不过整体测试下来,这个版本的qqwry版本的数据v6归属地精度,的确提高了一大截。

在集成了qqwry版本的数据库之后,目前已经有四种归属地查询方法,大家可以选择自己喜欢的。

并且添加了是否显示协议版本图标的功能,可以显示访客的网络类型。

图标位于插件的img目录下,如果想使用其他图标,直接替换目录下对应的ipv4.png 和ipv6的png即可。

已经内置几组图标,如果要想只显示ipv6的图标,可以用一个空白图标来替换ipv4图标即可。

插件代码:

https://cnb.cool/oba.by/wp-useragent

最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):

https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.06.99

  •  

从 DeepSeek 到 Claude Code:AI 发展这一年

今天看一篇文章时提到了DeepSeek,突然意识到一件事:DeepSeekR1的发布,其实是2025年1月的事情。距离现在,满打满算也就刚过去一年。不知道大家是什么感觉?给我的体感是,那仿佛是很久以前的历史了。这一年里发生的事情密度太...
  •  

WP 访客信息插件 v16.03.55

我把插件改了个名字,不再叫“WP-UserAgent”了,现在这个东西经过多次迭代,加了很多乱七八糟的东西,显示的重点也不再是评论的ua信息了。

前几天看到关于ip2region的介绍,于是又尝试集成了一次,集成之后发现效果也没有好更多,原来的v6归属地从青岛跑到北京了:

免费版的数据和商业版数据差距依然很大,其实包括纯真之类的也是一样套路,如果数据一样谁还会买商业版呢。尽管如此,我还是给加上了,同时更新了下纯真的数据库。

目前效果就是上面的样子,感兴趣的可以尝试下。

插件代码:

https://cnb.cool/oba.by/wp-useragent

最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):

https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.03.55

  •  

两种困境

上周和前同事一起打球,他跟我讲:他们部门解散了,他自己也已经找了一个月的工作。后来他说不想干软件这行了,干了十多年,干够了,不过转头一想,又不知道能干啥,以前也有过一些想法,但仅仅停留在“想”的层面,没有行动。然后就发现,我俩是两个极...
  •  

从“苦读教程”到“听 AI 播客”

我之前写过文章分享怎么学编程。熟悉我的朋友都知道,我是科班出身,写了十几年代码。在以前开始入门的时候,我的学习路径非常“传统”:找视频教程、买书、跟着视频一行行敲代码。那是一个“苦读”的过程,获取知识的门槛很高,需要耐心和热爱去筛选和...
  •  

路虽远,行则将至:写在蒋羿抵达山海关之际

上周三晚上打开抖音,刷到了我关注已久的博主——蒋羿。视频里,他站在山海关,宣告自己徒步万里长城的挑战,终于画上了句号。看着他在终点大喊、拍照的那一刻,隔着屏幕,都替这个陌生的四川小伙感到高兴。从嘉峪关到山海关蒋羿今年30岁,是个普通的...
  •  

语音输入法的爆发前夜

从去年开始,语音输入法迎来了井喷。我看到了很多语音输入法,有手机上的,有PC上的。PC上我注意到一个输入法,大家估计也都看到过,叫Typeless。这个输入法做得很极端,它是一个国外小团队做的。它的输入法打开非常理想主义,或者说非常绝...
  •  

用了一周豆包,我还是换回了微信输入法

用了几天的豆包输入法,我还是决定,换回我的微信输入法。上周我写了一篇文章《微信输入法,越来越香了》,当时是因为觉得它的语音输入进步巨大,就很认真的夸了一下,后来文章被推荐,所以吸引了很多人来观摩和讨论。但收到的一大堆留言里,却有大量留...
  •  

死磕两晚:一篇硬核教程背后的“体力活”

昨天的文章很有意思。我写了那篇接近四千字的《国内也能用!ClaudeCode完整上手指南》,发布之后,阅读量其实并不高,到现在还不到两千。但转发量涨得特别快,已经快破200了。这应该是我近期转发率最高的一篇文章。这也印证了一个现象:大...
  •  

聊聊 Claude Code:它不是工具,它是实习生

如果是我的老读者,应该发现我的编程工具一直在变。从最早推荐Trae到Gemini,到后来的AIStudio,就像神农尝百草一样,我试了很多AI编程工具。但最近一个月,我几乎只用一个工具:ClaudeCode。经常有朋友问我:“咕咚,C...
  •  

国内也能用!Claude Code 完整上手指南

如果你关注AI编程,应该听说过ClaudeCode——Anthropic官方推出的AI编程助手。它很强,但国内用户想用有三个坎:问题Claude官方智谱方案价格$20/月(约145元)20元/月起支付需要国际信用卡支付宝、微信网络需要...
  •  

体检、投篮、搞 PC 版同步 - 周六琐记

周末总是让人很期待。今天是周六,其实我觉得一周里最开心的一天,应该就是周六了。因为周六休息,玩一天,心里想着”哎,后面还有一天呢”。周日虽然也能休息,但一想到”明天就要上班了”,那种痛苦感就会隐隐约约地冒出来。今天早晨起得很早。因为约...
  •  

开源免费:我的公众号封面图生成器

设计微信公众号的封面图,用它就对了:GudongCover。1.缘起我昨天写了一篇文章,介绍自己如何用AI生成封面图。因为我公众号的封面图都是用AI生成的,不过是让AI生成HTML代码。我自己有一套提示词,所以我的封面图其实都是一个风...
  •  

到账 24.87 元

大家好,我是咕咚,今天分享一下最近一次的公众号「巨额收益」💰💰💰昨天打开公众号助手后,看了一眼收益:24.87元对我来说,这确实算是妥妥的”巨款”了1.流量主的日常去年我开通了公众号的流量主功能。简单说,就是在文章底部加个广告位,有人...
  •  

devlog:让 Claude Code 帮你记录每一天的工作

VibeCoding时代的新问题不知道你有没有这种感觉:自从用上ClaudeCode,开发效率起飞:早上和AI讨论架构,10分钟搞定方案中午AI帮我修Bug,秒级定位问题下午和AI结对编程,一天写出过去三天的代码但是…周五写周报时,脑...
  •