小归客 https://ovogk.com/ 心似已灰之木,身如不系之舟 为什么别人会爱上你 http://xgk.pw/archives/237/ 2025-08-24T20:21:51+08:00 以前总以为“爱”是一味付出,后来才慢慢懂:我们会喜欢一个人,本质是对方身上有吸引自己的特质。为什么这些特质会吸引你?多半是因为自身恰好缺少或渴望拥有。就像别人喜欢你,也不会只因为“聪明、善良、有趣”这类浅层标签,而是你身上有他们想追寻的东西。其实,人在喜欢别人时,不过是想借由对方,补全自己未曾拥有的部分。也正因如此,当你走过一段路、成为更好的自己后,再回头看曾经的选择,才会有新的反思。原来,人们终其一生在关系里追寻的,说到底,还是对完整自我的偏爱。 WaterfallGallery相册typecho插件 http://xgk.pw/archives/236/ 2025-08-18T11:20:00+08:00 前言朋友想叫我把他的希米相册程序改成typecho插件,对于我来说,“难”,因为我只会叫“AI”干活。于是,就有了“WaterfallGallery”插件,这是一款typecho主题插件,理论上是支持所有主题,除非你有安装别的插件,从而产生冲突,不兼容情况!介绍WaterfallGallery是一款通过在插件后台>填写图片外链(批量填写,每横一个地址),使用短代码直接调用全部图片到文章页或者独立页面中。这给使用外链图片相册的朋友,给予最大的便捷。演示图是没有的,因为我不太喜欢发太多图片到博客上,自行下载测试功能支持瀑布流(不成熟)、自定义列数、图片分页数量、分页等。版本目前有3.0版本以及4.0版本版本瀑布流分页页数量列数3.0×√√×4.0√√√√下载【超级会员V2】通过百度网盘分享的文件:Waterfal…等2个文件链接:https://pan.baidu.com/s/1ymSqH6asFfs0Oe8WBh7NzQ?pwd=tq6p 个人喜欢3.0版本,至于1.0和2.0版本没有分页功能,直接淘汰了。图片太多没有分页不方便,相信大家也不喜欢。[小归客gallery] 使用去掉“文字”,在你喜欢的文章页或者独立页使用便可。 获取小红书ID值,并填写值使用 http://xgk.pw/archives/235/ 2025-08-09T10:31:00+08:00 编写新主题时,想在联系方式一栏,添加一个“小红书”主页链接。开始是想通过小红书ID获取访问,发现这个方式行不通。于是换了一种方式。具体如下:原链接https://www.xiaohongshu.com/user/profile/5f73d8690000000001008293?xsec_token=YBE7zn_qQbQqNcBoKWwuKnT7hNpe5GfHR8UN_uTkkhI0o=&xsec_source=app_share&xhsshare=&appuid=5f73d8690000000001008293&apptime=1754668288&share_id=a5f92692a09449948d4952a7b10efdc4&share_channel=copy_link这是我小红书主页,分享复制的个人主页信息链接。放在网站中太长了。于是,我想这小红书ID呢?为什么没有?在我的一通操作下,发现,这ID是一个值,ID: 5f73d8690000000001008293这个才是用户唯一ID值。也就是说,我们设置链接时,只需要这样就行,https://www.xiaohongshu.com/user/profile/5f73d8690000000001008293原链接分析参数值说明用户ID5f73d8690000000001008293核心信息,用户的唯一标识。分享令牌YBE7zn_qQbQqNcBoKWwuKnT7hNpe5GfHR8UN_uTkkhI0o=用于安全验证。分享时间戳1754668288分享行为发生的时间(约2025-08-08)。分享渠道copy_link通过复制链接的方式分享。使用小红书的链接,填写ID是没用的,只能填写用户值。其他参数解析URL中除了用户ID,还包含了一些用于分享和追踪的参数:xsec_token: YBE7zn_qQbQqNcBoKWwuKnT7hNpe5GfHR8UN_uTkkhI0o=这是一个安全令牌,用于验证分享链接的合法性和时效性,防止未授权的访问。xsec_source: app_share表明这个链接的来源是“App分享”。appuid: 5f73d8690000000001008293这与用户ID是同一个值,用于在App内明确分享目标。apptime: 1754668288这是一个Unix时间戳,表示分享这个链接的时间。转换后大约是 2025年8月8日。share_id: a5f92692a09449948d4952a7b10efdc4这是一个分享事件的唯一ID,用于追踪和分析分享行为。share_channel: copy_link表示分享的渠道是“复制链接”。 Typecho三栏主题GK#新作品 http://xgk.pw/archives/234/ 2025-08-09T00:29:00+08:00 介绍略略略,不想写,看GK主题演示截图更新日志2025.8.8更新如下新增:毛的没用新增:联系方式(快手,QQ跳转没成功)新增:文章阅读量新增:搜索栏新增:白天/夜间模式新增:音乐歌单播放器框架:三栏主题 给域名1314.xyz续费10年 http://xgk.pw/archives/227/ 2025-08-03T00:33:43+08:00 这个域名和挺喜欢的,主要是com和cn的1314前缀搞不起,只能搞这个了。续费了10年,拿来做邮件,目前已使用邮件520@1314.xyz Typecho插件-游戏、影视、友链、博客订阅 http://xgk.pw/archives/225/ 2025-07-31T01:00:00+08:00 播客解说 前言这里是4个完全独立Typecho插件,分别是博客订阅插件BlogSubscribe、友情链接插件LinkShow、游戏记录插件GameRecord、影视记录插件MovieRecord,每个插件都拥有不一样的效果,具体看功能区,插件可能与你的其他插件不共存,但你放心,我的这4个是共存,理论上是想放那里放那里。1.博客订阅插件BlogSubscribe通过在插件后台输入订阅地址,通过短代码调用在你需要放的位置使用[小归客blog_subscribe]2.友情链接插件LinkShow在文章或者页面内填写logo、名称、地址、介绍使用。[小归客linkshow] [小归客link logo="图片地址" name="网站名称" nickname="网站昵称" url="链接地址" intro="网站介绍"] [小归客link logo="图片地址2" name="网站名称2" nickname="网站昵称2" url="链接地址2" intro="网站介绍2"] [小归客/linkshow] 其中,nickname="网站昵称2"可以删除使用非必用3.游戏记录插件GameRecord在文章或者页面填写logo、角色名、时间使用。[小归客game logo="图标地址" name="游戏名称" nickname="游戏昵称" time="游戏时间"]4.影视记录插件MovieRecord在文章或者页面填写封面、名称、链接使用。[小归客movie img="https://img1.baidu.com/it/u=3042287271,1241422176&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=701" name="仙逆" url="https://example.com/movie1"]注:复制粘性使用时去掉“小归客”,其实,完全不用复制,因为插件内写了使用说明了。嘻嘻嘻嘻……下载地址①.Typecho博客订阅插件BlogSubscribe.tar.gz②.Typecho插件友链LinkShow.tar.gz③.Typecho游戏记录插件.tar.gz④.Typecho影视插件MovieRecord.tar.gz插件运行在php7.4、Typecho1.2.1版本上没有问题。部分主题可能不兼容。如果你同时使用了Typecho短代码插件MyShortcodes可能是不兼容的。百度网盘(防失效)永久下载地址博客订阅链接:https://pan.baidu.com/s/103xTg4SeR-x6gtqkEk5YLg?pwd=7715 友情链接链接:https://pan.baidu.com/s/11Q7cV9jsl9oLHsmh5aUYpA?pwd=q316 游戏记录链接:https://pan.baidu.com/s/13mXaGDMn06FsWc4dbnR0Ng?pwd=46io 影视记录链接:https://pan.baidu.com/s/1pw0yFegZNAl6EFZbuO9rCA?pwd=4r68  写了一款typecho短代码插件 http://xgk.pw/archives/222/ 2025-07-30T19:27:00+08:00 写的一款typecho插件,里面有10个短代码,理论上是上传安装既用。经过测试“typecho默认主题、joe主题”是没有bug,正常使用的,具体看下面:插件下载:Typecho短代码插件MyShortcodes.tar.gz非常不错的插件。演示[timeline][timeline-item title="2023年" date="1月"]项目启动,完成需求分析[/timeline-item][timeline-item title="2023年" date="6月"]开发阶段,完成核心功能[/timeline-item][timeline-item title="2023年" date="12月"]项目上线,开始运营[/timeline-item][/timeline][process][process-step title="需求分析" icon="fa fa-search"]收集并分析用户需求[/process-step][process-step title="设计阶段" icon="fa fa-pencil"]完成UI和UX设计[/process-step][process-step title="开发阶段" icon="fa fa-code"]实现功能开发[/process-step][process-step title="测试上线" icon="fa fa-rocket">进行测试并正式上线[/process-step][/process][tooltip text="这是一个提示" position="top"]悬停我[/tooltip][accordion][accordion-item title="常见问题1"]这是第一个问题的答案内容[/accordion-item][accordion-item title="常见问题2"]这是第二个问题的答案内容[/accordion-item][accordion-item title="常见问题3">这是第三个问题的答案内容[/accordion-item][/accordion][progress percent="75" color="blue">项目完成度[/progress][icon name="fa fa-home" size="2x" color="red"]首页图标[/icon][spoiler title="点击查看答案"]这是隐藏的答案内容,需要点击才能查看。[/spoiler][tabs][tab title="选项1"]这里是第一个选项卡的内容。[/tab][tab title="选项2"]这里是第二个选项卡的内容,可以放任何东西。[/tab][tab title="选项3"]这里是第三个选项卡的内容。[/tab][tab title="选项4"]这里是第四个选项卡的内容。[/tab][/tabs][alert type="success"]恭喜你,操作成功![/alert][alert type="warning"]这是一个警告信息,请注意。[/alert][button url="https://www.example.com" color="green" size="large" blank="true"]点击访问示例网站[/button][column width="1/2"]这是第一栏的内容。[/column][column width="1/2"]这是第二栏的内容。[/column]好像绝大多数主题都是适配的。。复制代码下载上面的文件>安装后,复制下方短代码到你编辑中保存就可以了。<!-- 时间线示例 --> [timeline@] [timeline-item title="2023年" date="1月"]项目启动,完成需求分析[/timeline-item] [timeline-item title="2023年" date="6月"]开发阶段,完成核心功能[/timeline-item] [timeline-item title="2023年" date="12月"]项目上线,开始运营[/timeline-item] [/timeline@] <!-- 流程图示例 --> [process@] [process-step title="需求分析" icon="fa fa-search"]收集并分析用户需求[/process-step] [process-step title="设计阶段" icon="fa fa-pencil"]完成UI和UX设计[/process-step] [process-step title="开发阶段" icon="fa fa-code"]实现功能开发[/process-step] [process-step title="测试上线" icon="fa fa-rocket">进行测试并正式上线[/process-step] [/process@] <!-- 提示框示例 --> [@tooltip text="这是一个提示" position="top"]悬停我[/tooltip@] <!-- 手风琴示例 --> [@accordion] [accordion-item title="常见问题1"]这是第一个问题的答案内容[/accordion-item] [accordion-item title="常见问题2"]这是第二个问题的答案内容[/accordion-item] [accordion-item title="常见问题3">这是第三个问题的答案内容[/accordion-item] [/accordion@] <!-- 进度条示例 --> [@progress percent="75" color="blue">项目完成度[/progress@] <!-- 图标示例 --> [@icon name="fa fa-home" size="2x" color="red"]首页图标[/icon@] <!-- 剧透内容示例 --> [@spoiler title="点击查看答案"] 这是隐藏的答案内容,需要点击才能查看。 [/spoiler@] [tabs@] [tab title="选项卡1"]这里是第一个选项卡的内容。[/tab] [tab title="选项卡2"]这里是第二个选项卡的内容,可以放任何东西。[/tab] [tab title="选项卡3"]这里是第三个选项卡的内容。[/tab] [tab title="选项卡4"]这里是第四个选项卡的内容。[/tab] [/tabs@] [@alert type="success"]恭喜你,操作成功![/alert] [@alert type="warning"]这是一个警告信息,请注意。[/alert@] [@button url="https://www.example.com" color="green" size="large" blank="true"]点击访问示例网站[/button@] [@column width="1/2"] 这是第一栏的内容。 [/column@] [column width="1/2"] 这是第二栏的内容。 [/column@] <!-- 注意:分栏后最好加一个 <div class="clearfix"></div> 来清除浮动,以防布局错乱 --> <div class="clearfix"></div>复制粘贴时,去掉@字符。 CSS filter 属性的奇妙之旅 http://xgk.pw/archives/221/ 2025-07-30T10:42:00+08:00 CSS 的filter属性就是你的 “魔法棒”,只需几行代码,就能为网页元素赋予各种惊艳的视觉效果,轻松提升页面质感。认识filter属性filter属性是 CSS 中用于对元素应用图形效果(如模糊、阴影、颜色调整等)的属性。它就像一个 “视觉特效师”,能让普通的图片、文字、按钮瞬间变得与众不同。filter属性的值是一个或多个滤镜函数的组合,每个滤镜函数都对应一种特定的效果。filter属性的基本语法如下:.element {   filter: filter-function(); }例如,我们要为一个图片添加模糊效果,可以这样写:img {   filter: blur(3px); }这里的blur()就是一个滤镜函数,3px表示模糊的程度,数值越大,模糊效果越明显。常用滤镜函数2.1 模糊效果:blur()blur()函数用于给元素添加模糊效果,常被用于背景图片的虚化处理,营造出朦胧的美感,或是在鼠标悬停时,为元素添加动态的模糊过渡效果。img {   filter: blur(3px);   transition: filter .5s ease-in-out; } img:hover {   filter: blur(1px); }这个例子则展示了通过过渡动画,让图片在鼠标悬停时平滑地产生模糊变化,增加交互趣味性。2.2 阴影效果:drop-shadow()drop-shadow()函数可以为元素添加阴影,与box-shadow属性类似,但drop-shadow()更专注于模拟投影效果,且能更好地与滤镜链中的其他效果结合使用。/* 为卡片添加投影 */ .card {   filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.8)); }上述代码中,0表示水平偏移量,4px表示垂直偏移量,8px是模糊半径,rgba(0, 0, 0, 0.8)则定义了阴影的颜色和透明度。通过调整这些参数,就能轻松打造出不同风格的阴影效果。2.3 亮度调整:brightness()brightness()函数用于调整元素的亮度,可以让图片或元素变得更亮或更暗,数值范围是0%(全黑)到200%(两倍亮度),默认值为100%。/* 降低图片亮度 */ .dim-image {   filter: brightness(70%); } /* 鼠标悬停时,图片变亮 */ .highlight-image {   transition: filter 0.3s ease; } .highlight-image:hover {   filter: brightness(120%); }利用brightness()函数,我们可以实现图片在不同状态下的亮度变化,例如在图片列表中,让鼠标悬停的图片变亮,突出显示重点内容。2.4 对比度调整:contrast()contrast()函数用于调整元素的对比度,数值范围同样是0%(完全没有对比度)到200%(两倍对比度),默认值为100%。提高对比度可以让元素的颜色更加鲜明,降低对比度则能营造出柔和的视觉效果。/* 增加文字对比度 */ .strong-contrast-text {   filter: contrast(400%); } /* 降低图片对比度 */ .soft-image {   filter: contrast(50%); }2.5 色彩反转:invert()invert()函数可以反转元素的颜色,将黑色变为白色,白色变为黑色,其他颜色也会相应地进行反转。它常用于创造有趣的视觉反差,或是制作具有科幻感、未来感的页面效果。img {   transition: filter 0.3s ease; } img:hover {   filter: invert(100%); }兼容性与注意事项虽然filter属性在现代浏览器中得到了广泛支持,但在一些老旧浏览器(如 IE 系列)中可能存在兼容性问题。为了确保网页在各种浏览器中都能正常显示,可以使用 CSS 特性查询(@supports)来提供回退方案:.element {   /* 不支持filter时的样式 */   background-color: #ccc; } @supports (filter: blur(0)) {   .element {     /* 支持filter时的样式 */     filter: blur(3px);     background-color: transparent;   } }转自:前端老鹰 typecho内置友链实现方法函数代码 http://xgk.pw/archives/220/ 2025-07-29T01:04:00+08:00 非常的简单,只需要两步就可以轻松实现。css样式什么的需要自行进行解决。 第一步把下面的函数代码添加到相关文件中,例如:function.php //内置友链,参数为内容,字符串形式。 function xm_yl($content){ if (strpos($content, '{link') !== false) { $content = preg_replace_callback('/{link title="(.+?)"}(.+?){\/link}/', function ($match){ $nr = str_replace(['<br>', '<p>', '</p>'], '', $match[2]); $content = '<div class="link_body"><div class="link_title">'.$match[1].'</div>'.$nr.'</div>'; return $content; }, $content); } if (strpos($content, '{linka') !== false) { $content = preg_replace('/{linka url="(.+?)"}(.+?){\/linka img="(.+?)"}/','<a href="\\1" target="_blank"><div class="link_body_list"><div class="link_body_img"><img class="lazyload" data-src="\\3" src="//520917.xyz/app/app/view/xmuix/public/img/jz.jpg"></div><div class="link_body_name">\\2</div></div></a>', $content); } return $content; }第二步在相关要实现友链的文件中添加以下代码。<!--?php echo xm_yl($this--->content);?> 第三步在内容中添加友链ubb代码即可 {link title="分类标题"} {linka url="url地址"}名称{/linka img="图片"} {/link}转自:寻梦博客 两种方式轻松自制随机图片获取API http://xgk.pw/archives/219/ 2025-07-28T17:56:00+08:00 在互联网中,我们常常需要快速获取各类图片资源。今天,就为大家带来一个超实用的教程,教你轻松搭建属于自己的随机图片获取API,从此告别四处寻觅图片API的繁琐。方法一、外链读取txt1.新建文件api.php <?php // 使用__DIR__常量获取当前脚本所在目录,并拼接文件路径 $filename = __DIR__. '/img.txt'; if (!file_exists($filename)) { die('文件不存在'); } // 打开文件并检查是否成功 $fs = fopen($filename, "r"); if (!$fs) { die('无法打开文件'); } // 从文本获取链接 $pics = []; while (!feof($fs)) { $line = trim(fgets($fs)); if ($line!== '') { array_push($pics, $line); } } fclose($fs); // 从数组随机获取链接 $pic = $pics[array_rand($pics)]; // 获取type参数 $type = isset($_GET['type'])? $_GET['type'] : ''; switch ($type) { // JSON返回 case 'json': header('Content - type:text/json'); die(json_encode(['pic' => $pic])); default: // 验证链接是否合法 if (!filter_var($pic, FILTER_VALIDATE_URL)) { die('无效的图片链接'); } die(header("Location: $pic")); }2.新建文件img.txt http://example.com/image1.jpg http://example.com/image2.jpg http://example.com/image3.jpg访问你的网址/api.php访问就可以实现了,api.php和 img.txt 理想存放目录是在同一目录下。如果将img.txt放于特定目录。此时,需在api.php中修改$filename变量指定完整路径,如:$filename = '/var/www/wwwroot/data/img.txt';方法二、读取本地目录模式 <?php $img_array = glob("images/*.{gif,jpg,png}", GLOB_BRACE); if (!empty($img_array)) { $img = array_rand($img_array); $dz = $img_array[$img]; header("Location: " . $dz); exit; // 重定向后终止脚本执行 } else { echo "没有找到符合条件的图片文件。"; } ?>图片丢到images文件夹下,访问api.php即可来源:白衣博客