阅读视图

Cloudflare/Vercel项目推荐(5)

项目荒啦!终于凑够了一批项目,前面四期深受大家喜爱,获得了不少评论和浏览量,那就更新一篇文章吧!本次更新主要围绕着cloudflare和Vercel展开,基本上都可以零成本部署,欢迎尝试部署!当然我也会提供预览地址,如果用处较大会一直维护,欢迎访问呀!
  •  

子比主题新增一个友圈动态页面

逛博客的时候看到了一个好玩的东西(友圈),说人话就是新建一个单独的页面用于展示已加入友情链接博友的动态,这个东西是在品味苏州博客中看到的,原文教程很详细,我按步骤直接复制粘贴没搞成功,但大概 …
  •  

测试一下WordPress后台SVG格式图片上传

试着用纯代码的方式来开启wordpress SVG格式图片上传功能。目前看使用Block编辑器图片能正常上传和显示。

function minuo_allow_additional_mime_types($mime_types) {
	if ( ! current_user_can( 'administrator' ) ) {
		return $mime_types;
	}
	$mime_types['svg'] = 'image/svg+xml';
	$mime_types['svgz'] = 'image/svg+xml';
	$mime_types['webp'] = 'image/webp';
	$mime_types['ico'] = 'image/vnd.microsoft.icon';
	return $mime_types;
}
add_filter('upload_mimes', 'minuo_allow_additional_mime_types');

function minuo_wp_check_filetype_and_ext( $wp_check_filetype_and_ext, $file, $filename, $mimes, $real_mime ) {
	if ( ! $wp_check_filetype_and_ext['type'] ) {
		$check_filetype  = wp_check_filetype( $filename, $mimes );
		$ext = $check_filetype['ext'];
		$type = $check_filetype['type'];
		$proper_filename = $filename;
		if ( $type && 0 === strpos( $type, 'image/' ) && 'svg' !== $ext ) {
			$ext  = false;
			$type = false;
		}
		$wp_check_filetype_and_ext = compact( 'ext', 'type', 'proper_filename' );
	}
	return $wp_check_filetype_and_ext;
}
add_filter('wp_check_filetype_and_ext', 'minuo_wp_check_filetype_and_ext' , 10, 5);
  •  

博客RSS Feed输出设置更新

这个博客文章的RSS订阅地址为 https://plogs.top/feed/,一直以来博客RSS Feed输出内容都被我设置为仅输出文章摘要。原因很简单,就是觉得在RSS阅读器上阅读文章的排版效果和阅读体验并不怎么好(这是我对传统RSS阅读器的刻板印象),我更希望大家通过访问博客阅读全文,如果可以留言互动,相互交流就更好了。

不过最近我改变了这个想法。前一阵子在「CG艺术实验室」博主手中拿到了一个Follow app的邀请码,用了一段时间Follow app发现,有些博客(包括我自己的这个博客)RSS Feed设置为仅输出文章摘要时,使用Follow app的阅读体验不太友好,每次都需要再点击一下Follow app右上角的浏览器icon才能打开博客网页阅读完整内容:

Follow app界面截图

其实Follow app自身的文章排版做得就挺不错的,出于方便自己和其他Follow app用户考虑,我就索性把这个博客的RSS Feed输出设置更新成输出全文了~

WordPress站点更新RSS Feed输出设置步骤很简单,在WP后台依次点击左侧边栏的设置->阅读打开阅读设置界面,然后把对于Feed中的每篇文章的选项设置为包含全文即可。

这篇水文还有一个目的,就是为了认证这个博客的RSS Feed的所有者身份。要做这个认证很简单,只需要按照Follow app内的指引在最新的文章中附上下面这段内容即可:

This message is used to verify that this feed (feedId:55149012216215574) belongs to me (userId:69553263994299392). Join me in enjoying the next generation information browser https://follow.is.

全文完。

博客RSS Feed输出设置更新最先出现在Justin写Plogs的地方

  •  

家庭数据中心系列 数据变更感知到自动导出:构建 WordPress 双活同步自动化运维的最后一跳

家庭数据中心系列 数据变更感知到自动导出:构建 WordPress 双活同步自动化运维的最后一跳 无敌的个人博客 tangwudi

1 前言 我之前的博客架构是家庭数据中心(主节点+热备节点) + 腾讯云(容灾节点),属于比较典型的”单节点读写”方案。由于日常只有主节点负责处理数据库的读写请求,所以数据库之间并不需要实时同步:每当我新增文章、修改内容,或者批准、回复评论,导致 WordPress 的数据库发生变化时,如果刚好有心情,我会手动将主节点的 MariaDB 中的 wordpress 库导出为 wordpress.sql 文件,并放进 Syncthing 的同步目录里。接下来,Syncthing 会将这个文件同步到热备节点和容灾节点的指定目录,这2个节点上的 inotify 脚本监测到目录发生变化后,自动触发数据库导入脚本,将 wordpress.sql 文件导入对应的 MariaDB 中,从而完成主节点和其他节点之前的数据同步。 不过现在,博客架构升级成了家庭数据中心”主写 […]

<p>The post 家庭数据中心系列 数据变更感知到自动导出:构建 WordPress 双活同步自动化运维的最后一跳 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 博客架构的第二次重构:VPS搬家引发的服务迁移与双活容灾实践

家庭数据中心系列 博客架构的第二次重构:VPS搬家引发的服务迁移与双活容灾实践 无敌的个人博客 tangwudi

1 前言 随着腾讯云轻量服务器到底时间越来越近,我一直在犹豫是否续费,第一年是99元/年,第二年我记得是300元/年(记不太清楚了,左右吧),而第三年的价格是多少呢?看了一下,好家伙: 本来我就觉得备案没啥用了(电信在打击有入向HTTP流量的、有公网IP的家宽,这样一来,国内CDN回源主机直接指向家宽公网IP对应的动态域名这种方式就没用了),加上国内VPS平时使用中的各种不变(不能正常访问docker、git、apt等等,非要折腾,烦死了),早就想放弃了,只是想着保留着备案,万一哪天排上用场了呢。 可是加上这次的续费价格,直接打破了我最后一点念想,这让我最终下定决心:域名注销备案,也迁到cloudflare;同时我的云上冗余数据中心也同步搬迁到境外的VPS,那么,接下来面临的第一个问题,就是往哪儿搬呢? 2 VPS的选购 2.1 选购标准 境外可选的VPS供应商实在是太多了,按理说选择面应 […]

<p>The post 家庭数据中心系列 博客架构的第二次重构:VPS搬家引发的服务迁移与双活容灾实践 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 使用Sassy Social Share插件为WordPress添加社交分享按钮

家庭数据中心系列 使用Sassy Social Share插件为WordPress添加社交分享按钮 无敌的个人博客 tangwudi

1 前言 最近在浏览一些网站的时候,看到别人都提供了分享网站内容到主流社交软件的按钮,我一琢磨,感觉这个还是有用处的:有人愿意分享你的文章,结果还需要让别人去浏览器地址栏手动复制文章的地址链接才行,说不定这一步操作就直接打消了人家愿意分享的念头呢?想了一下,感觉还是应该给我的博客也添加上主流社交媒体的分享按钮。 大概的搜索了一下,WordPress上可用的提供社交媒体分享按钮的插件很多,有些插件集成了社交媒体分享功能之外,还包含了其他一堆功能,比如 Jetpack,这个插件虽然功能丰富,但也比较臃肿,加载的资源较多,可能会影响网站的加载速度。而另一些插件则专注于社交分享功能,比如 Sassy Social Share,这类插件功能更简洁,专注于提供轻量的社交分享按钮。 由于我不愿意轻易在 WordPress 里安装插件,尤其是那些功能繁杂、可能拖慢加载速度的”重”插 […]

<p>The post 家庭数据中心系列 使用Sassy Social Share插件为WordPress添加社交分享按钮 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 通过 Cloudflare 实现精准缓存清除:Cache-Tag 与前缀方式实战

家庭数据中心系列 通过 Cloudflare 实现精准缓存清除:Cache-Tag 与前缀方式实战 无敌的个人博客 tangwudi

1 前言 很多使用 Cloudflare CDN 的朋友经常会遇到这样一个问题:修改了网站的某些内容,但刷新网页后却发现更改并没有立即生效。这时,大家的第一反应往往是去 Cloudflare 仪表盘里点一下 “清除所有内容”: 虽然这样能立刻解决问题,但却有个很大的副作用——所有的静态资源(HTML、CSS、JS、图片等)都会被清除,访客访问网站时不得不重新从源站加载所有内容,这会导致页面变慢、流量浪费,甚至影响 SEO。 实际上,我们很多时候真正想要清除的只是HTML 页面,比如修改了 functions.php、header.php 或 footer.php,导致页面结构发生变化,但 Cloudflare 仍在提供旧的 HTML 缓存,这时候只清除 HTML,而不动 CSS、JS、图片,才是最合理、最精确的做法。 虽然 Cloudflare 仪表盘本身没有提供& […]

<p>The post 家庭数据中心系列 通过 Cloudflare 实现精准缓存清除:Cache-Tag 与前缀方式实战 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 WordPress 图标字体优化:本地托管 FontAwesome,告别 API 限制

家庭数据中心系列 WordPress 图标字体优化:本地托管 FontAwesome,告别 API 限制 无敌的个人博客 tangwudi

1 前言 之前,我博客外链以及菜单的图标都是配合FontAwesome(Free版)的图标字体来使用,效果也蛮不错: 不过,当时是使用的FontAwesome官方的CDN,需要在WordPress中插入如下代码: <script defer src="https://kit.fontawesome.com/YOUR_KIT_ID.js" crossorigin="anonymous"></script> Font Awesome 是一个基于CSS和LESS的字体和图标工具包,它由Dave Gandy制作,用于Twitter Bootstrap,后来被集成到BootstrapCDN 中。Font Awesome在使用第三方Font Scripts的网站中占有20%的市场份额,排在Google字体之后的第二位。 关于FontAwesome图标字体的详细介绍和使用参见文章 […]

<p>The post 家庭数据中心系列 WordPress 图标字体优化:本地托管 FontAwesome,告别 API 限制 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 Cloudflare Worker + KV:打造 WordPress 云端文章阅读统计

家庭数据中心系列 Cloudflare Worker + KV:打造 WordPress 云端文章阅读统计 无敌的个人博客 tangwudi

1 前言 在 WordPress 里,实现文章阅读统计的方法有很多,常见的做法通常是借助插件,在主题文件(通常是 functions.php)中插入代码,并将阅读次数存放在本地数据库中。根据实现方式,大致可以分为两类:服务端统计 和 前端统计。 • 服务端统计:一般是通过 PHP 代码直接记录文章的访问量,但如果网站启用了 CDN 缓存,很多请求根本不会真正到达服务器,导致统计数据不准确。例如,WordPress 的 WP-PostViews 插件 就是这么做的,这种方式已经逐渐被淘汰。 • 前端统计:通过 JavaScript 在浏览器端直接向 WordPress 发送请求,调用 admin-ajax.php 记录访问量。虽然这种方式可以绕开 CDN 缓存的干扰,但 admin-ajax.php 是同步执行的,性能并不算高,流量一大就可能拖慢 WordPress 的整体响应速度。 说到底 […]

<p>The post 家庭数据中心系列 Cloudflare Worker + KV:打造 WordPress 云端文章阅读统计 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 Cloudflare APO 缓存失效解析:Cf-Cache-Status BYPASS 的原因与解决方案

家庭数据中心系列 Cloudflare APO 缓存失效解析:Cf-Cache-Status BYPASS 的原因与解决方案 无敌的个人博客 tangwudi

1 前言 这周原本计划写的文章不是这篇,但在由于在研究 “APO对 WordPress 内容缓存的影响”时,无意间发现了一个异常的情况:访问博客请求的响应标头中出现了 “Cf-Cache-Status: BYPASS“: 最关键的是,不管怎么刷新都是”BYPASS”,这意味着APO对我博客的访问请求处于失效的状态(不知道问题的实际影响范围,只知道至少对我的访问请求是如此)。这让我感到非常不爽,毕竟现在已经是高贵的Cloudflare Pro用户,而APO功能可是单独拿出来卖5美金一个月的昂贵服务,怎么能不生效呢?这事必须得重视! 为了弄清楚背后的原因,我不得不中途调整方向,深入研究这一现象,并尝试找出问题的触发因素。 2 启用APO后WordPress站点响应头常规内容解析 在正常情况下,使用 APO 时,响应头应类似 […]

<p>The post 家庭数据中心系列 Cloudflare APO 缓存失效解析:Cf-Cache-Status BYPASS 的原因与解决方案 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 Cloudflare Pro 深度体验:从 Free 到 Pro,到底值不值得升级?

家庭数据中心系列 Cloudflare Pro 深度体验:从 Free 到 Pro,到底值不值得升级? 无敌的个人博客 tangwudi

1 前言 我大约是去年年初的时候知道的Cloudflare,距今已经差不多一年了,这一年中我使用Free账户白嫖了Cloudflare的众多功能(CDN缓存加速、WAF、DDoS攻击防护、Tunnel、worker、R2等等),说实话,我心情一直很复杂:一方面白嫖得很爽,一方面又觉得白嫖得很惭愧(当年因为一直使用盗版感觉亏欠了微软,我可是自费购买surface pro 4来还债的~)。同时,我对pro订阅用户多出的功能也很好奇,毕竟pro用户年付费的话,20美金/月也不算贵,每个月少吃一顿大餐就省出来了,关键在于,相对于普通Free用户来说,pro订阅用户多出的功能到底值不值20美金(我相信绝大部分使用Cloudflare Free账户的站长都有这个疑惑)? 带着疑惑,在网上搜了半天,我发现几乎没有详细验证这个问题的文章,一般也是一些论坛里有人提出问题,然后有人简单的回答几句,并且主观性也 […]

<p>The post 家庭数据中心系列 Cloudflare Pro 深度体验:从 Free 到 Pro,到底值不值得升级? first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 优化网站加载速度:通过 Cloudflare Zaraz 实现第三方脚本的云端加载及管理

家庭数据中心系列 优化网站加载速度:通过 Cloudflare Zaraz 实现第三方脚本的云端加载及管理 无敌的个人博客 tangwudi

1 前言 在互联网时代,网页加载速度已经成为影响用户体验和SEO排名的关键因素。而其中,TBT(Total Blocking Time,完全阻塞时间)则是衡量网页性能的一个重要指标。 TBT 衡量的是浏览器在加载网页时,因脚本执行而无法响应用户交互的时间。显而易见,影响 TBT 的主要因素就是网页中的 JavaScript 脚本:浏览器需要加载并执行所有 JS 脚本,才能完成页面的渲染和其他内容的加载(CSS也影响渲染,只是相对JS来说影响得小一些)。因此,网页上脚本(和CSS)的数量和复杂性越高,加载完成的时间就越有可能受到影响。 在下图中,TBT时间超过710毫秒,直接导致谷歌的PageSpeed Insights评分大福下降: 而当TBT时间少的时候,评分则大幅上升,下图中,在其他几个参数都与上图中差不多的情况下,TBT大幅降低到90毫秒后,评分直接提高了到了80,可见在谷歌眼中TB […]

<p>The post 家庭数据中心系列 优化网站加载速度:通过 Cloudflare Zaraz 实现第三方脚本的云端加载及管理 first appeared on 无敌的个人博客.</p>

  •  

家庭数据中心系列 构建高效且安全的随机图片API:Cloudflare Worker + R2 + KV 实战指南

家庭数据中心系列 构建高效且安全的随机图片API:Cloudflare Worker + R2 + KV 实战指南 无敌的个人博客 tangwudi

1 前言 原本没想写这篇文章,之所以忽然插队来写,是因为我忽然对”纯手动定期更换博客的背景图片”这种行为有点倦怠了~。 我博客的背景图片一直是我定期手动更换的(图片存放在cloudflare R2上)。本来嘛,1-2个月更换一次背景图片倒也不算麻烦,但是随着用过的背景图片越来越多,之前用过的完全弃之不用我也有点舍不得(毕竟是我精挑细选出来的),但是让我主动的手动更换成以前用过的背景图片,主观上我又有点不情愿。 咋办呢?要不干脆搞个随机背景,这样一来就像皇帝侍寝翻牌子,翻到那个就是哪个,我也不用纠结了~。想到就开始做,刚好也可以水一篇文章~。 2 第二部分:实现方式的选择 在搭建随机图片 API 时,可以根据”是否需要 VPS”作为判断条件来选择适合自己实际条件的方案: 1. 需要 VPS 的方案(适合有 VPS 或使用 Cloudflare […]

<p>The post 家庭数据中心系列 构建高效且安全的随机图片API:Cloudflare Worker + R2 + KV 实战指南 first appeared on 无敌的个人博客.</p>

  •  

制作了款 wordpress 主题 Cooooo

上一个博客主题《Memorable-lit》,缝缝补补也将就用了六七年,况且,博客也是将近一年多没有更新,好多篇博文静静地躺在了草稿箱里……

这次呢,想着借机写一款主题,形式依然是我喜欢单栏。由于很久不写代码,看到代码很生疏了,外加当前前端技术迭代太快了,好多HTML、css3的新特性和js的ES5、ES6,我处于完全看不懂的状态,这个主题的由来是我平时浏览网站的时候,看到别人好看的风格样式,就扒拉扒拉下来了,有的懒得动脑子,就直接参考和借鉴过来。整个主题是使用字节推出的 Trae CN 编辑器,本地电脑搭建环境,外加用上Trae 的 Ai 来写代码,效率是离谱的高,在这个主题绝大部分代码是使用 Ai 的写的。开发效率是有点高,尤其是在解决一些很复杂的逻辑时,你只需告诉 Ai 程序的基本逻辑,它便生成可用的代码,在前端库的选择, 当然我选择的是 jQuery,其实前端JS可以用原生来实现,但是用着jQuery很顺手,代码简单,一行代码就能搞定的,没必要绕弯。别人都在用高级的Hexo、Hugo 等高级,而我依然选择的是 wordpress,可能懒得折腾、懒得写作时用Markdown,也可能是保持了习惯和旧状态,新特性对我没有吸引力吧。

年初一段时间博客感觉被黑了,博客的插件里出现了一些奇奇怪怪的代码,感觉是木马后门之类的代码,之前博客的版本为4.8,也是年久失修的状态,可能存在能利用的漏洞,导致的博客沦陷,当前,wordpress 最新的版本为 6.8.1,借机新主题就在最新的版本上测试开发,前前后后感觉写了近两个月,部分代码也是参考了大佬们的代码,修修补补,也算是正常跑了起来。

当前博客跑在Nginx + Mysql + php 8.1 下,对于 2 核2G 的云主机来说够用,甚至剩余的算力可以跑跑 docker 里的小应用,整体相对比较顺畅。

这次换主题也顺便修修花、剪剪草和施施肥,对于改造博客我也是下了很大的决心,好在一点点雏形出现到基本能用的状态,也是可喜可贺。当然主题若有问题,欢迎评论区提出,当然这个主题足够完善并且很有必要的话,可能也会开源哦。

博客我加个视频播放器、音乐播放器和全景播放器,想着给博友们分享一些我外出拍摄的一些照片和内容吧。

  •  

RSS 订阅地大新闻 - CUG News

✇遐说
作者Dorad

经常关注不到学校的一些通知之类的,而学校网站又没有 RSS 订阅。

使用 Feed43 创建订阅源,需要的同学可以订阅。

  •  

🔗 api.wordpress.org 可能导致你的网站后台卡顿

前两天 Kevin's Space 遭遇了大规模的 SYN Flood 攻击,于是我写了几个脚本,自动化封禁匹配的 IP 地址,这一操作导致很多 IP 被封禁,其中有搜索引擎蜘蛛、普通浏览器访客以及 WordPress 后台服务通信地址。

截止当前,我已经通过 iptables + ipset 封禁了超过 7000 个 IP,有效降低了恶意流量,前台访问已经恢复正常(且还降低了服务器宽带)。不过打开后台非常慢,通常要等两秒,然后刷的一下就弹开了,明显是有连接阻塞了通信。

经我一点小小排查,发现是 api.wordpress.org 不可访问了,因为它的 IP 地址198.143.164.251被我封掉了……迅速加白后,问题解决了,WordPress 整站都轻快了不少。那么自建的 WordPress 网站,为什么需要和 api.wordpress.org 通信?[ 阅读全文 ]


原文链接: https://www.shephe.com/website/api-wordpress-org-198-143-164-251/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者

  •  

Duck Appropriation

I first read about the ducks during the early days of the pandemic. An out-of-work elementary teacher wrote a blog post about ducking. When she spotted a Jeep in a parking lot, she squeezed a rubber duck into the door handle. A gift for a kindred soul, she said, knowing that all Jeep owners are basically the same people.

Months later, I started noticing ducks on dashboards—a Wrangler with three or four, a CJ7 with two or three. Sort of cute, but it quickly got out of hand. I soon started seeing passing Jeeps with forty-five ducks cluttering every horizontal surface.

When I was a kid, my father bred cats as a cottage industry. Suki and Cocoa, a pair of chocolate-point Siamese cats with pedigree, popped out litters of three to six kittens several times a year. A similar kitten these days might set a buyer back two-thousand dollars, but in the late sixties, I think the going rate was fifteen or twenty bucks.

Once, a kid purchased a kitten using his saved-up change. He paid for the cat using rolled quarters and dimes. When my father placed the coins on his car dashboard, a roll of dimes fell into the defroster vent. By the time a mechanic disassembled the dashboard and repaired whatever damage a roll of dimes can cause an HVAC system, the litter of kittens was a financial loss and then some.

Using my father’s mishap as a cautionary tale, I put nothing on my dashboard, ever. Probably automotive engineers have improved defroster vents over the past fifty-five years, and ducks in defrosters are not a concern, but the image of my dad trying to fish a roll of dimes out of a vent is never far from my memory.

Driving home from the beach last week, Susan suggested I search Spotify for a podcast our daughter Sophie suggested. The only thing we could remember was that the topic was cults. Search Spotify: Podcast on Cults. What popped up was the podcast series called Sounds Like a Cult, an entertaining and informative discussion on the cult-like behaviors of many modern groups. Some examples include Trader Joe’s shoppers, the Harry Potter infatuated, Ikea fans, Marathoners, the Costco obsessed (hmmm, lots of shoppers). What caught my eye was The Cult of Jeep Owners.

A couple of weeks earlier, Susan and I stood on a street corner with a friend when a Jeep whizzed by. He said, “You know, that duck thing just started during Covid.” I didn’t know that. I thought back to the early-pandemic blog post I read about ducking. Clearly, that blogger was an early adopter. Susan and I often point out the ducks to each other, maybe slightly derisively. Nothing screams “hey, look at me” more than thirty yellow ducks on a dashboard (except maybe blogging). This was a chance to learn the duck origin.

The podcast covered such topics as Jeep history (started as a war vehicle, as I’m sure we all know), Jeep hierarchy (owners get status for driving older Jeeps and Jeeps with aftermarket modifications), the Jeep-driver wave (yes, they have a wave*), and, of course, the ducks. Maybe our brains had become numb from our thirteen-hour drive home from Georgia, but it all sounded so good natured, so wholesome, so… FUN. By the time the podcast wrapped up, Susan and I were talking about buying a Jeep. At a minimum, we suddenly considered ourselves honorary Jeepsters.

By coincidence, I read a blog post last week reviewing the ancient T. Rex album Electric Warrior. No, I don’t know why the writer reviewed a fifty-four-year-old album, but he highlighted the song Jeepster as an album standout—a song I probably haven’t heard since college. I listened to the Jeepster on my phone and was suddenly transported back forty-some years to hanging out at my friend Andy’s house sucking down bong hits and trying to grasp the immensity of the universe. Jeepster has been playing in my head and on my car stereo on repeat ever since.

Jeeps! Everywhere!

I popped into Sweeet, Gettysburg’s retro candy shop, the other day to buy a duck for Susan. Most of Sweeet’s inventory is candy—buy it by the pound taffy, offbeat treats like chocolate covered scorpions, and yesterday’s faves like Zots, god I love Zots—but in the elevated window display area where fancy clothing boutiques arrange mannequins wearing the store’s most expensive clothing, Sweeet has assembled a few hundred rubber ducks, no two are alike. This display well preceded Covid, so the Jeep crowd wasn’t the initial target market. I assume they are now.

I bought the duck as a joke. A small expenditure to make Susan laugh. As we got ready to run an errand, I snuck outside and put the duck on her dashboard. It’s printed with “radiate kindness,” a message in line with Susan’s Buddhist beliefs. And laugh she did, long and hard, but then the laughter morphed into something different. Having a duck on her dash made her happy. Before we returned home from our errands, we stopped by Sweeet again so we could buy ducks to send to her brother and sister. She wanted to spread the joy.

I’m sure the Jeepsters out there reading this, and of course the ones who see Susan’s duck on the dash of her Hyundai Santa Fe will think we’ve appropriated their duck motif. And we have, shamelessly, but everyone deserves happiness, and if a radiate kindness duck on her dash brings Susan joy, the Jeepsters will just have to live with it.

* I googled the Jeep-wave. As it turns out, it’s identical to the wave you’re likely receive from a farmer driving a battered pickup down a country road. Those Jeep owners have done some appropriating of their own.

Buy a duck and give it to a friend. And listen to Jeepster by T. Rex so it can be stuck in your head too.

  •  

Loss

Me, posturing with my comment, trying to seem smart on a smart person’s blog:

The detritus from abandoned blogs and terminated online relationships makes my last 12 years hard to revisit. I felt like some of those bloggers were among my best friends until one day they disappeared for good. I often think about looking them up, but I realize that because they vanished, they may want to stay lost. I wonder who will mourn when I log off for good.

Bill wrote about a disappeared blogger. About reaching out and receiving a disappointing reply. He wrote about other stuff too, but the lost friend part hit home. It made me want to respond. The attrition is endless. They leave for Substack. They become bored. Their muse takes flight. They birth a baby. They lose their voice. They get a life. Whatever. They vanish. Usually, it takes time. They write less. They read less. They take a break. They return months later promising to do better and then evaporate entirely.

I miss them. Do they miss me? My early days of writing featured vulnerability—newfound sobriety, growing insight into my Tourette, my OCD, my anxiety and depression. I cut myself open and spilled out prose. Those I read did the same. We built a community of injured souls. We understood and supported one another. I’m not sure how I would have succeeded without them.

One by one, they disappear. At first, I usually don’t notice. One day I think, “Huh, when was the last time Robyn commented on a post. When was the last time she liked one.” I check her blog and see she hasn’t written in weeks. She never posted again.

In time, others took her place, but they fell away as well. And then more. My desire to look them up—cyberstalk them, google their email and drop them a line—comes in waves. A strong one now, obviously, writing these thoughts. I once met up with Robyn at a trail race. We had so much in common. The running, of course, and punk music. Social anxiety. Autism—her son (definitely) and me (possibly). Plus, Gettysburg, her husband is a history nut.

She told me her family once took a photo outside the library where I work. She tried to guess which window was mine. She didn’t come in, social anxiety and all. The time we met was awkward. We tried to talk while we ran. Our paces mismatched. Me, out of breath, Robyn, itching to run ahead. Coffee would have worked better, assuming a pair of social misfits can hold a conversation.

One day I’ll quit blogging. I won’t fade away like most. I’ll drop out cold turkey. White knuckles, like I did with alcohol. To others, it will seem abrupt, but I’m sure I’ll have agonized over the decision for months. Will you notice? Will you reach out? Ask if I’m all right? Tell me what I meant to you… if anything? Blogging, I think, is dying. Different media, newer media is taking over. I suspect each of us will bail eventually. Find different hobbies, different ways to express ourselves. Or not. Possibly some of us will simply mourn one more lost bit of our lives.

Photo from Pixabay

  •  

So Much More Than Tics

We finished the class with standing sprints to Bring Me to Life by Evanescence, a five-minute climb to 4 Non Blondes’ What’s Up, and cooled-down to The Jam’s That’s Entertainment. As the opening bars to Beck’s Loser filled the room, the spinners slowed their pedals to a stop, dropped their heels, and stretched their calf muscles. I turned the music down to a conversational level and said, “This is my favorite song lyric right now.”

Beck sang out: In the time of chimpanzees, I was a monkey.

“Wait, what did he say?”

“In the time of chimpanzees, I was a monkey. That’s how I feel every day of my life.” No one asked me what I meant. The night before, I posted the lyric on my Facebook page to honor the start of Tourette Syndrome Awareness Month. My theme this year—Tourette Syndrome: So much more than tics. It’s the tics that get all the attention. Those unwanted movements and vocalizations are displayed with either respect or ridicule all over social media—the people who jerk, the people who cuss, the people who whistle, blink and bark.

Yes, the tics are obviously an issue. I disturb the people within earshot with my grunting. I cause people to look away with my long, dramatic, face-scrunching blinks. I’m sure people wonder why I jerk and torque my body as I walk down the street. Scratch my arm until it bleeds. Blow air across my eyes. Lick my lips, wipe them off. Lick my lips, wipe them off. A thousand times a day. The tics are the visible symptom, but there’s so much more. It’s the rest that derails me.

I loaded my Facebook post with hashtags, the disorders that accompany Tourette: #OCD #ADHD #ASD #Anxiety #Insecurity, and the takeaway I want people to grasp: #NotAJoke #NotAPunchline #ItsABigFuckingDeal, and the reason for my post #TouretteAwareness. I considered using #Embarrassment, but it seemed pathetic. But if I’m honest, embarrassment is the biggest one. I’m embarrassed by my tics.  

“What are you working on?” Susan peeked over from her side of the couch as I created an image of my Beck quote with my tagline ‘So much more than tics’ beneath it.

“A Facebook meme for Tourette Syndrome Awareness Month.” A five-minute debate over the proper meaning of ‘meme’ sprung up, and then she volunteered to take over using Canva, the graphic design tool she uses to market her business.

“PowerPoint is fine. Plus, I’m basically done.” A true statement, but I also knew if I let Susan take over, she would advocate against the Beck quote. I already know this approach is weird and oblique. I want people to have to think about it. I want them to arrive at their own understanding of the alienation I feel because of Tourette. I don’t want to hold their hands and lead them through the maze of my mind, even if they never get it. Which is good; I don’t think anybody got it.

My Facebook following is laughable. Of my one hundred or so friends, I suspect sixty or seventy have unfollowed me, bored with my bitchy anti-Trump sentiments, my weekly spin playlists, and my reshares of silly running memes (at least those are actual memes). Only eight people liked my post. Not much of an impact for Tourette Syndrome awareness. I have no idea how many people read it and didn’t like it, or simply didn’t understand. No one commented, no one asked for clarification.

I considered using my pulpit at the front of the spin room to discuss Tourette Awareness Month, and why the chimpanzee quote is significant to me, but it seemed inappropriate. I worried that the Y might get pissed at me for going off script. So, I’m telling you instead.

The fact that the song title is Loser isn’t lost on me. My disgust with Tourette Syndrome is well documented. I spend untold hours bemoaning my ‘loser’ status, feeling sorry for myself, feeling different from everyone else. This is an area I’m trying to improve, trying to transcend. I’ve made progress, but I’m a work in process.

Take a few minutes to listen to Loser. It’s a great and unique song, unlike anything else recorded (lyrics below).

LOSER

In the time of chimpanzees I was a monkey
Butane in my veins and I’m out to cut the junkie
With the plastic eyeballs, spray-paint the vegetables
Dog food stalls with the beefcake pantyhose

Kill the headlights and put it in neutral
Stock car flamin’ with a loser and the cruise control
Baby’s in Reno with the vitamin D
Got a couple of couches, sleep on the love-seat

Someone came in sayin’ I’m insane to complain
About a shotgun wedding and a stain on my shirt
Don’t believe everything that you breathe
You get a parking violation and a maggot on your sleeve
So shave your face with some mace in the dark
Savin’ all your food stamps and burnin’ down the trailer park
Yo, cut it

Soy un perdedor
I’m a loser baby, so why don’t you kill me?
(Double-barrel buckshot)
Soy un perdedor
I’m a loser baby, so why don’t you kill me?

Forces of evil in a bozo nightmare
Ban all the music with a phony gas chamber
‘Cause one’s got a weasel and the other’s got a flag
One’s on the pole, shove the other in a bag
With the rerun shows and the cocaine nose-job

The daytime crap of the folksinger slob
He hung himself with a guitar string
A slab of turkey-neck and it’s hanging from a pigeon wing
You can’t write if you can’t relate
Trade the cash for the beef for the body for the hate
And my time is a piece of wax falling on a termite
That’s choking on the splinters

Soy un perdedor
I’m a loser baby, so why don’t you kill me?
(Get crazy with the cheeze whiz)
Soy un perdedor
I’m a loser baby, so why don’t you kill me?
(Drive-by body pierce)
Yo, bring it on down

Soy un perdedor
I’m a loser baby, so why don’t you kill me?
(I can’t believe you)
Soy un perdedor
I’m a loser baby, so why don’t you kill me?

Soy un perdedor
I’m a loser baby, so why don’t you kill me?
(Sprechen Sie deutsch, baby?)
Soy un perdedor
I’m a loser baby, so why don’t you kill me?
(Know what I’m sayin’?)

  •  

Clatter

Last weekend I bought new hearing aids. Well, I bought them weeks ago, but I had to wait for this past weekend for them to arrive. This is my third pair. I started wearing them eight years ago, and each pair died in exactly four years. Since 2017, I’ve dropped six thousand dollars trying to hear the people around me speak.

As an added annoyance, I buy my hearing aids from Costco. It’s a fifty-minute drive from my house, and I need to purchase a special annual membership to even enter the building. I typically go on the weekend. Every visit, it’s a sea of oversized SUVs jockeying for parking spaces or just trying to get the hell out of the massive traffic jam of a parking lot. It’s a hassle, but each time I buy new hearing aids, Consumer Reports ranks Costco’s models as the best, the cheapest, with the best customer service. In contrast, my father’s last pair, bought from the boutique hearing center Miracle Ear, cost over seven thousand dollars.

It’s been four years since I bought a Costco membership.

Sales lady: “You can buy a Gold Membership for sixty-five dollars, or you can buy a Platinum Membership for one-hundred thirty-five dollars.

Me: “I’ll buy the Gold.”

“Wait, with the Platinum Membership, you get two-percent cash back on purchases up to twenty-five-hundred dollars. Since you’re buying a big-ticket item, you’ll actually save money with the Platinum.”

I pulled out my phone and punched numbers into the calculator app. “Two percent of twenty-five-hundred is fifty dollars. I’ll still lose money.” The sales lady gave me a smile that seemed to say Thank you for figuring that out, I feel horrible about ripping off people all day, all week, all year.

The woman who fitted my hearing aids warned me that they would take a few weeks to get used to. She got that right. It’s so much easier now to hear and distinguish voices, but where my hearing aids really excel is picking up clatter.

Clatter (n): a continuous rattling sound as of hard objects falling or striking each other.

When I was a teenager, I frequently came home from my nighttime restaurant job stoned. My parents slept lightly, and some nights, they got out of bed to check on me as I settled down for a snack and some late-night TV. I had to hold it together for those few minutes of conversation so they wouldn’t figure out I was high. I quickly learned it was best not to wake them. I crept around the kitchen, silently fixing my snack, every tiny noise—the microwave closing, the metal ice cream scoop set into the sink—sounded like a bomb exploding.

My new hearing aids remind me of this. In the morning, as I make my lunch before heading off to work, I grab a bag of pretzel sticks from the pantry and wrestle to open the bag for the first time. The stiff plastic, designed to tear all the way down the side of the bag and spill out half the pretzels at some point before I finish eating the contents, crackles so loudly (in my hearing aids) you would think I had a clothes dryer in my kitchen spinning a case of broken beer bottles.

When I fetch a scoopful of ice from my freezer and dump it into my water glass, I’m reminded of the Coca Cola commercial that plays at one-hundred decibels through the Dolby Surround Sound® system at my movie theater. The cat chomping his kibble, water running in the sink, the creaks and snaps of hardwood floors, the air escaping a fresh bottle of club soda, each of these causes such a racket that I wince. The volume of these sounds is almost comical, like something you’d see in a campy horror movie where the teenagers need to keep quiet to save their own lives.

I’m supposed to get used to this over the next couple of weeks. My brain will somehow quiet these sounds so they aren’t so prominent, so painful to my ears. While I want to say that’s impossible to believe, I remember visiting Susan’s grandparents when we first started dating. I woke up five times each night with passing trains. Nothing is so clatter-some as train wheels on train tracks at three in the morning. I commented to her grandmother that she must be exhausted all the time from interrupted sleep. She said, “Oh, I don’t hear those trains anymore. I haven’t heard them for years.”

Maybe we all ‘hear’ this clatter all the time, but our brains have learned to selectively adjust the volume to make it less disruptive. Maybe as an intoxicated teen, I heard those sounds at their actual level because I gave them my full attention (and because I was paranoid and high). Now, my hearing aids include all sorts of phone-app activated settings to filter out background noise. I suppose this would be a simple short-term solution, but my brain won’t learn anything that way. I’ll endure the clatter until it magically goes away.

~ ~ ~

A Bonus Post?

A couple days ago, I stressed about not blogging in over two weeks. Awake at two a.m., after banishing my cat from my bedroom before he started his wee-hours-of-the-morning routine of poking my elbow with a claw and then hiding under the bed, I conjured this potential mini blog post, thinking it was funny, thinking I was clever.

English is Weird:
My feed’s gone stale, my blog seems dead,
so here’s a verse for you to read.

I thought I touched a universal nerve about homophones requiring context to pronounce the words correctly, and what happens when dual contexts conflict? The next day, I realized how stupid this was. I wrote it down but kept it to myself. Until now.

  •  

WordPress 站点图片优化处理 & 压缩工具应用

上一篇文章中,我们详细探讨了 WordPress 网站中媒体文件的上传与管理方式。不过,单纯依赖上传后的处理并不能从根本上解决图片带来的性能问题。事实上,如果能在本地对图片进行优化处理,再上传到网站,不仅能大幅提升加载速度,还能在提升用户体验、降低服务器压力等方面起到事半功倍的效果。

那么,为什么图片优化如此重要?因为图片往往是网页中体积最大的资源,占据了页面加载时间的大部分。一张未经压缩的高清图片,可能比整个 HTML、CSS 和 JS 文件加起来还大。这不仅会拖慢网站的打开速度,还会影响搜索引擎的评分,进而影响 SEO 排名,尤其是在 Core Web Vitals 成为排名参考后,图片加载效率更是重中之重。

本篇文章将围绕 WordPress 图片优化展开,深入解析图片压缩的原理、常见格式的选择(如 WebP、AVIF)、插件工具的对比推荐,并给出多种使用场景下的实战方案,帮助你打造一个更轻快、更专业的 WordPress 网站。

1. 上传前图片的文件优化

很多 WordPress 用户习惯直接将图片上传到媒体库再插入文章,但如果在上传前先做好格式、尺寸、质量方面的优化,效果往往会更好。不仅可以显著减少页面体积、提升加载速度,也能避免网站后期维护中出现的重复压缩、画质损失等问题。本章将围绕图片文件本身,从格式、尺寸、压缩等角度介绍几个关键优化点。

1.1 图片格..... [ 阅读全文 ]

原文链接: https://www.shephe.com/website/wordpress-image-optimization/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

WordPress 添加媒体文档 & 管理全流程(2025.5)

在 WordPress 网站中,媒体文档通常包括图片、视频、PDF 等各类资源。本文将一步步带你了解如何上传这些媒体文件,并掌握分类管理、替换优化等实用技巧,帮助你把网站内容打理得井井有条。

1. WordPress 支持哪些媒体文件格式?如何扩展

WordPress 默认支持多种常见的媒体文件类型,包括图片、文档、音频和视频等,足以满足大多数网站的内容上传需求。以下是常见支持格式的分类与说明。

媒体类别支持的文件扩展名文件说明
图片.jpg, .jpeg, .png, .gif, .ico, .webp用于展示图像内容,.webp 为现代高压缩格式
文档.pdf, .doc, .docx, .ppt, .pptx, .pps, .ppsx, .odt, .xls, .xlsx常用于上传文档、表格或幻灯片
音频.mp3, .m4a, .ogg, .wav可直接播放音频内容
视频.mp4, .m4v, .mov, .wmv, .avi, .mpg, .ogv, .3gp, .3g2可在页面中插入和播放视频文件
图标/矢量.ico, .svg(需额外启用)默认支持 .ico 图标,.svg 需额外处理安全性

虽然 WordPress 默认支持多种主流格式,..... [ 阅读全文 ]


原文链接: https://www.shephe.com/website/wordpress-media-management/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

从零开始,教你制作 WordPress 个性化独立页面

在上一篇教程中,我详细讲解了 WordPress 网站发布文章的流程与注意事项,主要围绕默认区块编辑器和常规属性设置,适用于大多数博客类内容。本文将在此基础上,聚焦更具结构性与展示性的“独立页面”创建与配置。

这类页面通常作为站点的 Hub 页面、项目介绍页、专题落地页,甚至直接作为首页,需要更灵活的排版、更丰富的模块组合,以及对主题与插件功能的更深入运用。

1. 什么是独立页面?与文章有何区别?

在 WordPress 中,“页面(Page)”和“文章(Post)”是两种不同的内容类型。虽然它们都可以通过编辑器进行撰写和发布,但用途、结构以及展示方式却截然不同。

1.1 页面(Page)适合承载“静态内容”

页面通常用于创建不随时间变化的固定内容,如:

  • 关于我们(About)
  • 联系方式(Contact)
  • 服务介绍 / 项目展示
  • 下载中心 / 成果页
  • 自定义专题页、Hub 聚合页
  • 首页、登陆页、活动页……

这些页面更像是网站结构的一部分,而不是内容流中的一篇“文章”。它们不属于分类、也不会自动出现在博客文章列表中,更不会按时间排序。

1.2 文章(Post)适合发布“动态内容”

相对而言,文章更适..... [ 阅读全文 ]


原文链接: https://www.shephe.com/website/wordpress-publish-page/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

WordPress 自定义字段介绍 & 本站在用字段分享

WordPress 自定义字段由两部分组成:键(key)值(value)。你可以把它理解为一组“属性-内容”的数据对。比如你希望在文章中显示“预计阅读时长”,就可以设置键为 reading_time,值为 5 分钟;或者为转载文章添加来源信息,键为 source_name,值为 知乎专栏

当我们为某篇文章或页面添加自定义字段时,所填写的数据会与该内容一一绑定。换句话说,字段的内容是“归属”当前文章或页面的,它不会影响其他内容。这也正是自定义字段强大的地方 —— 你可以为每一篇文章设置完全不同的扩展信息,并在前端有选择地展示它们。

1. WordPress 自定义字段介绍

WordPress 自定义字段(Custom Fields)是一种原生支持的元数据机制,允许用户为文章、页面或自定义内容类型附加额外的信息。每一组字段由键(key)和值(value)组成,键用于标识字段名称,值则为实际内容。这一机制广泛应用于扩展文章功能,例如设置封面图地址、附加资源链接、记录阅读时间或评分数据等。

WordPress编辑器自定义字段控制栏[ 阅读全文 ]

原文链接: https://www.shephe.com/website/wordpress-custom-fields/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

WordPress 古腾堡编辑器中媒体类区块使用说明

在 WordPress 的古腾堡编辑器中,媒体类别的区块专注于插入和展示各种媒体内容,如图片、视频、音频、画廊等。通过这些区块,用户可以轻松地将媒体文件与文本、按钮等内容进行组合,从而丰富文章和页面的展示效果。这些区块不仅能提升内容的互动性,还能使页面看起来更加生动和吸引人。

媒体类别的区块包含图片、图库、音频、封面、文件等 7 种,其中图片区块使用最频繁。除了图片,建议尝试其他区块,以增强文章的多样性。我将在本文中详细说明,并插入真实的例子辅以演示。

1. WordPress 编辑器中的图片区块

图库区块占位
图库区块占位

当通过左侧区块插入图库区块后,我们可以选择上传图片、从 URL 插入或从媒体库中选择已有图片。上面的截图就是我直接通过 Ctrl + V 粘贴进来的,这相当于拖放操作。

..... [ 阅读全文 ]

原文链接: https://www.shephe.com/website/wordpress-media-blocks/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者

💾

  •  

认识 WordPress 古腾堡编辑器:界面与功能板块

古腾堡编辑器(Gutenberg Editor)采用“块”式设计理念,编辑器内的每个部分(如标题、段落、图片、列表、视频、按钮等)视为独立的内容块。用户可以像搭积木一样自由拖拽、排列、插入或删除各种块,本篇介绍其界面和板块。

1. WordPress Gutenberg Editor 界面介绍

下图展示的是 WordPress 当前版本(6.8.1)的古腾堡编辑器界面。为了便于整体查看,我将区块属性和区块样板的界面截图进行了拼接。可以看到,默认的古腾堡编辑器界面由顶部工具栏、主编辑区、右侧设置面板和左侧导航等部分组成,各个功能区域布局清晰,便于用户高效进行内容创作与排版。

WordPress古腾堡编辑器界面预览
WordPress 古腾堡编辑器界面预览

1.1 顶部工具栏

顶..... [ 阅读全文 ]


原文链接: https://www.shephe.com/website/wordpress-gutenberg-editor/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

注册一台阿里云小主机用于 WordPress 教程编写

本站目前托管在阿里云的 ECS 服务器上,基本配置如下:2 核 CPU、4GB RAM、40GB + 10GB SSD 存储和 100M 宽带(按量计费)。目前该服务器上运行着三个主要网站,日均总流量不到 2000 PV,此外还支持几个边缘业务应用和 3 个 Docker 容器,服务器还承载着 Syncthing 文件同步应用和 Frp 内网穿透服务。

尽管在瞬时高并发时系统会出现一定卡顿,但总体运行非常流畅。服务器当前状态如下:

本站服务器状态监测
本站服务器状态监测

最近,我决定花一些时间将搁置已久..... [ 阅读全文 ]


原文链接: https://www.shephe.com/website/wordpress-test-host/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者

💾

  •  

VXNA 和 Folo

✇Dayu
作者Dayu

除了口口相传,个人博客的曝光途径很少 。十年之约BlogFinder 算是比较经典的平台,但能见度往往也仅限于「博客爱好者」,很难出圈。

最近看博客后台数据时,VXNAFolo 给了我一些小惊喜。

Folo

Folo 弱化了 RSS 概念,转而主推大众易于理解的 「Follow、关注」,让很多新用户了解并尝试。它还简化了成为 RSS 长期用户最难的部分:寻找高质量的内容。其实,读者一旦关注足够多的「有趣博客」,会很容易养成 RSS 阅读习惯。

同一篇文章的浏览数,Folo 甚至偶尔会跟我博客后台的数据齐平。

CleanShot 2025-05-14 at 16.51.40@2x

VXNA

VXNA 则是 V2EX 的一个新功能——博客聚合器。用户可以申请收录,收录后会被定期展示。

CleanShot 2025-05-14 at 16.50.22@2x

VXNA 仅展示文章标题,点击后跳转原网站(这点对博客作者来说很贴心),所以从博客后台能很直观的看到访问数据。

目前,它已经是除了搜索引擎外,我博客最大的流量来源。

CleanShot 2025-05-14 at 16.54.00@2x

前段时间,跟朋友聊天,话题转到「写作与表达」。他觉得我「被看见的需求比较淡」,很少写追着热点的内容,大多跟着自己的兴趣走。

但我想说,「被看见,被阅读」对我很重要,只是我从没想过自己写的东西会被很多人阅读。

感谢这些为个人博客增加能见度的平台!

  •  

用 WP Simple EXIF 让博客图片展示更多细节信息

图片的 EXIF(Exchangeable Image File Format)信息,是数码相机或手机在拍摄照片时自动记录的参数数据,包括拍摄时间、设备型号、光圈、快门速度、ISO 感光度、焦距、曝光补偿等。通过在博客上展示图片的 EXIF 信息,不仅可以为摄影爱好者提供参考,帮助他们了解拍摄设置与效果之间的关系,也能提升内容的专业性和可信度,让读者更深入地了解作品背后的技术细节与创作思路。

2022.05.01 西昌之行-20
2022 年 5.1 西昌烧烤

Kevin's Space 博客就是通过调用七牛云的图片处理接口,在图片页面中直接展示了拍摄的 EXIF 信息(如上图所示),实现了性能与功能的结合。如果你的网站图片尚未接入 CDN 或对象存储服务,也不必担心,可以尝试使用本文介绍的插件 WP Simple EXIF,它能自动读取并展示图片的基本拍摄参数..... [ 阅读全文 ]


原文链接: https://www.shephe.com/website/wp-simple-exif/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

利用 Live Photos Block 插件给博客添加实况照片

苹果的实况照片(Live Photos)功能能够捕捉照片前后各 1.5 秒的视频,为静态图片赋予生动感。而如果你想在 WordPress 博客中也展示这样的视觉效果,现在可以通过 Live Photos Block 插件 来轻松实现。

这个插件实现简单,加载轻巧,效果还算不错,适合用于图片故事类博客或日常记录。我在果果日记博客的测试中,体验总体良好。不过,它仍有一定优化空间,比如可进一步避免脚本重复加载,并让脚本仅在区块真正启用时才加载,等等。当然,这些都可以通过简单修改代码来实现,可以自己动手优化一下。

1. WordPress-LivePhotos 插件简介

Live Photos Block 插件是由博友 万事屋日记 编写并开源的 Gutenberg 区块扩展,允许用户在编辑器中插入一个自定义区块,以模拟苹果实况照片的播放效果。

你可以在区块中上传任意一张图片(如 JPG、PNG)和一个短视频(如 MOV、MP4),插件会自动构造一个前端播放器,让这对照片+视频组合表现出如 Live Photo 般的效果。

插件引用了 Apple 官方的 JS,前台效果可以说一毛一样。但它并不需要照片和视频具备特定格式、长度或编码要求——只要浏览器支持,插件都能正常工作。

2. 实况照片格..... [ 阅读全文 ]

原文链接: https://www.shephe.com/website/wordpress-live-photos-block-plugin/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者
  •  

一点点展开我的 macOS

✇Dayu
作者Dayu

2025.05.30 略作更新

Core

Alfred 是我的应用启动器,感兴趣的朋友可参考配置:2024 Alfred 5 基础设置和 Worklfow 推荐Shortcutie 可以利用私有 API 为 Shortcuts 提供丰富的系统级扩展动作,配合 Alfred 使用更佳,我最常用的是「通知清理」。

我长期订阅 Setapp,这是一个软件打包订阅服务,所有在该服务内软件后会加一个星号*

DEVONthink 是资料管理的核心,大部分内容使用 TyporaBike* 编辑(PicGO 为图床),其他资料的格式主要为 PDF、Doc、Markdown 和 Html。浏览器插件 Obsidian Web Clipper(AI 总结) 和 SingleFile(HTML) 可以快速收集信息,然后使用 Hazel 自动转入 DEVONthink 中。Obsidian 自带的 Html 剪藏工具不是很好用。数据库中尽量储存复述和重新理解过的资料,少储存源文件,这样能减少数据库的大小,也让内容更聚焦。数据库通过 Dropbox 同步。

我最喜欢的邮件软件是 Mailmate,内置插件可直接将邮件导入 DEVONthink。虽然是订阅制软件,但取消订阅后仍可使用免费版。

Voicenotes 用于记录语音笔记,自动转文字并总结,并建立数据库,易用且好用。我是早期买断制用户,现在好像只能订阅。东西是好东西,但性价比没以前那么高。喜欢语音笔记的朋友可以试试这种用 shortcuts 实现的方式: 语音iOS 音频转文字并导入 Obsidian。DEVONthink 的最新版本也支持语音转文字,但手机版还没为此优化。

我使用 PDF Expert 阅读 PDF 文件,MarginNote* 阅读需要记笔记的 epub 文件,高亮和笔记可直接导入 DEVONthink。不需要笔记的 epub,则用 Calibre 阅读。

Apple Calender 和 Things 3 用于日程和项目管理,配合 Dato* 在 Menu bar 中快速查看信息。Things 中的项目可以直接拖拽到 Apple calendar 中。

进入工作状态后,我会用 QSpace 替代 Finder 管理项目,用 Bookends 管理文献。以前一直用 Zotero,DEVONthink 4.0 加强了和 Bookends 的联动,我便转而尝试了它。Setapp 里虽然包括了 Commaner One,但界面稍微臃肿了一些,没有 QSpace 美观舒适。

使用 CotEditor 查看代码,用 RStudio 和 VSCode 进行数据分析。TablePlus* 和 Delimited 可以更方便的查看数据。

根据老板的喜好选择论文撰写软件,以前用 Microsoft word,目前则使用 Texifier。Overleaf 虽好用,但偶尔还是会不稳定,有个本地编辑器更安心。

Firefox 是我最喜欢的浏览器。Github 上的 WhiteSurFirefoxThemeMacOS 主题很好看,几乎 1:1 复刻了 Safari,搭配使用体验更佳。

作为 Kagi 的忠实用户,我一直对 Orion 有很高期待,每隔半年会试用一次,但至今没优化到能做主力浏览器的程度。

我选择使用 ChatGPT + Cursor。使用 AI 越频繁,就越能感受到「记忆功能」的强大。开始不用详细的描述需求,ChatGPT 会将提问和过往信息结合,给出更符合用户需求的回应。

RSS 是我获取日常信息的渠道,FreshRSS 为 RSS 管理器。Reeder 为阅读器,可以直接订阅 FreshRSS 中的内容。

WordPress 被用于搭建博客。每隔三个月,会用 SiteSucker 为博客做二次备份,能够异步下载网站的网页、图片、PDF、样式表等文件并重建站点目录结构。其他自托管服务可见这篇 Blog

Menu Bar

我使用 Bartender 管理 Menu Bar,将其折叠成三个层级,「常驻可见」、「隐藏」和「后台常驻」

常驻可见:

  • DEVONthink Extra:用于快速记录笔记。
  • Dropbox:云盘同步中枢。
  • Trickster*:可以查看近期使用的软件和文件,并支持查看 DEVONthink 内最近查看的文件,和 Alfred 联动。
  • LookAway:非常漂亮的休息提醒 App,有干眼和坐姿提醒,能设置一些场景下不启用,如游戏、视频和会议。各方面都比我之前使用的 Time Out* 要好些。
  • Dato*:快速查看日历信息,有全屏的会议提醒。
  • Squirrel: 输入法。
  • DisplayBuddy*:研究所的电脑是 1080P 的,这个软件能启用 HiDPI 分辨率,略微提升显示效果。
  • AIDente Pro*:电池健康管理工具。Apple 官方的电池管理工具被我隐藏了。
  • Alcove:最接近 macOS 原生的动态岛功能,简单舒适,没有多余的功能。
  • One Switch*(偶尔):仅使用它的「屏幕键盘清洁模式」。
  • 如果想保持屏幕常亮,会使用 Lungo*。Amphetamine 也不错,但我更喜欢咖啡图标。
  • Gestimer 2(偶尔):交互很舒服的番茄钟应用,通过拖拽设定时间。我不是番茄钟的重度用户,仅心情好的时候,会用一段时间。

隐藏(点击 menu bar 可显示):

  • Bettermouse:用于替代罗技的鼠标管理软件,兼容我目前使用的两款鼠标,可设置快捷键。
  • PicGO:图床工具,接入 Typora。
  • Copy ‘Em:非常棒的剪切板软件,交互合理且流畅,工作中需要的小功能它基本都有,细节很多。
  • Supercharge*:系统增强工具,提供数十种可选功能,用户可按需开启,无需额外脚本或插件。
  • MagicQuit:自动关闭长时间未使用过的软件。
  • 1Password:交互体验最好的密码管理软件。
  • PopClip*:选中文本即显工具条,可以快速检索和翻译内容。安装插件后,只要能选中文本的内容,都可以剪藏到 DEVONthink。
  • ScreenMemory:通过定期截屏,保留用户的操作记录。与 Rewind 有一些相似,交互没有 Rewind 舒适,但功能够用,价格实惠。
  • Keyboard Maestro:功能强大的 macOS 自动化工具,很多 Supercharge 的功能都可以用它实现。我比较常用的是 King of Keystroke、文本扩展、Markdown 和 Microsoft Word 的一些快捷方式等。 #UNTAG 关于这个软件的教程很实用,习惯之后 Typora 会变的更易用,我也是因此脱离了 Obsidian。

后台常驻(完全隐藏):

  • Mission Control Plus*:为 Mission Control 设计的增强工具。
  • Hazel:完成各种自动化文件管理,将文字自动化的导入 Devonthink。
  • Codepiper:自动复制短信中的验证码。不要买 App store 版,功能不全。
  • Bob:macOS 上现阶段体验最好的翻译 & OCR 软件。
  • CleanShot X*:截图软件。
  • Magnet:窗口管理器。
  • Shareful:优化系统共享菜单。
  • iPreview:增强 macOS 的 Quick Look 浏览功能。
  • Mounty:将 NTFS 分区重新挂载为读写模式,实现在 macOS 下对 NTFS 卷的写入支持。
  • New File Menu:优化 Finder 菜单栏,快速创建新文件。
  • OpenInTerminal:允许用户从 Finder 一键在终端或编辑器中打开当前文件夹或文件,无需手动导航。

其他

线上会议之前,我习惯用 Hand Mirror 检查一下摄像头状态。会议中,Presentify 能帮助我在屏幕上做标注,KeyCastr 则能显示实时使用的按键。

AirDrop 不稳定的时候,我会用 Blip,支持多平台,非常好用!

比较简单的思维导图,会用 MindNode* 绘制,复杂的则用 Kinopio

BetterZip* 是我最喜欢的压缩文件管理器,它可以在不解压缩的情况下查看压缩文件的内容。另外,Folder Preview 可以用空格键浏览文件夹和压缩文件的内容。

Clean My Mac*:垃圾清理、恶意软件扫描、应用管理… 确实比 OnyX 体验更好,但如果不在 Setapp 中我也不会购买。

FoxTrot Search:很好用的本地全文检索工具。我的使用频率并不高,但每次都帮大忙。

Chatwise 是我觉得目前最好用的第三方 AI 聊天软件,功能添加的很克制,没有变的很臃肿。配合 Openrouter,尝试流行的大模型,决定下个月该订阅哪家。

Renamer* 是批量重命名软件,稳定,清晰。

最近开始用 Mela 记录菜谱,用 Tripsy* 规划旅行计划。

Darkroom:不知不觉用了 10 年的修图软件,Snapseed 之后最喜欢的一个。

Picture View:一款轻巧快速的 macOS 图片浏览应用。 体积小巧,方便快速的查看图片,不产生缓存,适合作为默认看图应用。

我使用 Squash* 和 PDF Squeezer* 压缩图片和 PDF 文件。

Permute* 转换音频图片格式,用 Downie* 下载视频,使用 IINA 观看视频。

Affinity 系列软件:制图三件套,便宜管饱。

Steam:最近喜欢玩电脑上的桌游,比如展翅翱翔、猫与花毯等。

Spotify:听音乐,最近很喜欢这四张专辑。

  •  

偶像雀士2

Z2FtZV8wMDAwMDAwMDE2NzI2LmpwZw==
原名:アイドル雀士スーチーパイⅡ机种:SS厂商:JALECO类别:TAB发行年月:1996-04耗时:6cat
秘技
idol_janshi_suchie_pai2_0026
上次跟平田大哥喝酒之后,我把新目标锁定为SS上的H-Game。
曾几何时,模拟器杂志上把SS列为最难被模拟的机种,而且SS对我来说并不神秘(我摸SS真机比PS多),且《光明力量3》、《光之继承者2》都挺失望的,以至于不玩也没啥念想,所以20年来一直也没上心调试过SS模拟器。
真跑起来之后,发现音频的模拟确实还不太顺畅。
idol_janshi_suchie_pai2_0016

查资料之后,锁定了“偶像雀士”这个系列。这是本系列又一个咬不准译名的游戏——初代在SFC上登场,主标题是“美少女雀士”,副标题是主人公的名字,音译过来是“斯琪派”。进入次世代之后,在3DO上发售了改名之后的一代:偶像雀士——斯琪派;本作是二代,后面还有三代和纪念版之类。麻将游戏这个大分类,类似概念的游戏如过江之鲫,本人采用的这种直译是否有重名之类,完全不清楚,资料太少了。
不过找资料的时候找到一个有趣的冷知识:因为与主角名字的发音接近,所以4月7日被日本纪念日协会定为“偶像雀士日”。
idol_janshi_suchie_pai2_0010

俗话说的好:“麻将不脱衣,等于没脱衣。”
这个系列游戏有个巨大的问题,分删减版和未删减版。差不多的内容,在不同的主机上,或者相同主机不同的发售日,内容也会完全不同。如果有人想像我朋友一样玩纯粹的麻将游戏,一定要找1996年的2CD版。
idol_janshi_suchie_pai2_0004
idol_janshi_suchie_pai2_0019

虽然麻将游戏离开烟雾缭绕的街厅之后,紧张感荡然无存,玩法也都差不多。但本作的剧情模式可玩性还是相当高的。5个主角各有特技,关卡的难度曲线也很顺畅。
后加入的队友要收集获胜点加强能力,能力集满之后拥有变身特效。其中主人公的特技非常有用:点炮的时候消耗一次特殊技,抹除这次点炮;而男人婆的特技则最为惊心动魄——流局前最后一张牌,必然变成海底捞月。
idol_janshi_suchie_pai2_0002
idol_janshi_suchie_pai2_0003

可惜制作组虽然请了知名画家来画立绘,但似乎把更大的成本投入到了声优身上,对话略长,肉戏偏少。
通关之后每个人物有一首专门的主题歌和配套的MV,足见其重点所在。
idol_janshi_suchie_pai2_0014

游戏的重点并不是为难玩家,所以设置了非常变态的秘技:剧情模式只要发动特技时同时按下↓+L+R+Y,残余特技数就能增长;同时按下L+X+Z就能直接胡十三不靠。
给小萝莉换衣服的那个模式也有秘技可以用。
标题画面输入秘技也能直接看通关画面。
各取所需,也挺好。
idol_janshi_suchie_pai2_0008

但是吧,小日子的癖好有时真的是难崩——我tm十三幺都整出来了,你就给我奖励这个?
idol_janshi_suchie_pai2_0017
idol_janshi_suchie_pai2_0009

那个年代的游戏,出多CD骗钱是常规操作。本作的第二张CD就是典型的骗钱货。
第二张CD的挑战模式,每打赢一个角色,就能获得给一个9岁小女孩换装的机会,一共15套衣服,除了换装那一下的惊鸿一瞥,捂得严严实实。
真有老色痞愿意为看这个单刷15次吗?
idol_janshi_suchie_pai2_0028

CD2另外的内容就更狗屁不是了——声优的访谈。是的,声优,不是女优。
这帮人最大的61年生,最小的67年,出游戏的时候也都30左右了,这有神马好拍的!
这家伙放进来,老色痞也立刻痿了吧,何苦呢!
活该你JALECO敬陪任天堂六大的末座啊!
idol_janshi_suchie_pai2_0024
idol_janshi_suchie_pai2_0025

一个小小的麻将游戏竟然也搞起了隐藏模式:5个角色通关以后才能选用主角,进入主角清场模式。用主角再次打通关之后才能迎来真正的结局。
通关!
idol_janshi_suchie_pai2_0015
idol_janshi_suchie_pai2_0027

  •