小归客 - 资源分享 2025-08-18T11:20:00+08:00 Typecho http://xgk.pw/feed/atom/category/%E8%B5%84%E6%BA%90%E5%88%86%E4%BA%AB/ <![CDATA[WaterfallGallery相册typecho插件]]> http://xgk.pw/archives/236/ 2025-08-18T11:20:00+08:00 2025-08-18T11:20:00+08:00 小归客 https://ovogk.com 前言

朋友想叫我把他的希米相册程序改成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]
使用去掉“文字”,在你喜欢的文章页或者独立页使用便可。

]]>
<![CDATA[黑洞代码]]> http://xgk.pw/archives/208/ 2025-07-15T21:10:00+08:00 2025-07-15T21:10:00+08:00 小归客 https://ovogk.com <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Black Hole Visualization</title> <style> body, html { height: 100%; margin: 0; padding: 0; } body { height: 100%; background-color: rgba(25, 25, 25, 1); overflow: hidden; } #blackhole { height: 100%; width: 100%; position: relative; display: flex; } .centerHover { width: 255px; height: 255px; background-color: transparent; border-radius: 50%; position: absolute; left: 50%; top: 50%; margin-top: -128px; margin-left: -128px; z-index: 2; cursor: pointer; line-height: 255px; text-align: center; transition: all 500ms; } .centerHover.open { opacity: 0; pointer-events: none; } .centerHover:hover span { color: #ddd; } .centerHover:hover span:before { background-color: #ddd; } .centerHover:hover span:after { background-color: #ddd; } .centerHover span { color: #666; font-family: serif; font-size: 18px; position: relative; transition: all 500ms; } .centerHover span:before { content: ""; display: inline-block; height: 1px; width: 16px; margin-right: 12px; margin-bottom: 4px; background-color: #666; transition: all 500ms; } .centerHover span:after { content: ""; display: inline-block; height: 1px; width: 16px; margin-left: 12px; margin-bottom: 4px; background-color: #666; transition: all 500ms; } canvas { position: relative; z-index: 1; width: 100%; height: 100%; margin: auto; } #blackhole { height: 100%; width: 100%; position: relative; display: flex; } .centerHover { width: 255px; height: 255px; background-color: transparent; border-radius: 50%; position: absolute; left: 50%; top: 50%; margin-top: -128px; margin-left: -128px; z-index: 2; cursor: pointer; line-height: 255px; text-align: center; transition: all 500ms; } .centerHover.open { opacity: 0; pointer-events: none; } .centerHover:hover span { color: #ddd; } .centerHover:hover span:before { background-color: #ddd; } .centerHover:hover span:after { background-color: #ddd; } .centerHover span { color: #666; font-family: serif; font-size: 18px; position: relative; transition: all 500ms; } .centerHover span:before { content: ""; display: inline-block; height: 1px; width: 16px; margin-right: 12px; margin-bottom: 4px; background-color: #666; transition: all 500ms; } .centerHover span:after { content: ""; display: inline-block; height: 1px; width: 16px; margin-left: 12px; margin-bottom: 4px; background-color: #666; transition: all 500ms; } canvas { position: relative; z-index: 1; width: 100%; height: 100%; margin: auto; } </style> </head> <body> <div id="blackhole"> <div class="centerHover"><span>点击进入</span></div> </div> <script> function blackhole(element) { const container = document.querySelector(element); const h = container.offsetHeight; const w = container.offsetWidth; const cw = w; const ch = h; const maxorbit = 255; const centery = ch / 2; const centerx = cw / 2; const startTime = new Date().getTime(); let currentTime = 0; const stars = []; let collapse = false; let expanse = false; let returning = false; const canvas = document.createElement("canvas"); canvas.width = cw; canvas.height = ch; container.appendChild(canvas); const context = canvas.getContext("2d"); context.globalCompositeOperation = "multiply"; function setDPI(canvas, dpi) { if (!canvas.style.width) canvas.style.width = canvas.width + "px"; if (!canvas.style.height) canvas.style.height = canvas.height + "px"; const scaleFactor = dpi / 96; canvas.width = Math.ceil(canvas.width * scaleFactor); canvas.height = Math.ceil(canvas.height * scaleFactor); const ctx = canvas.getContext("2d"); ctx.scale(scaleFactor, scaleFactor); } function rotate(cx, cy, x, y, angle) { const radians = angle; const cos = Math.cos(radians); const sin = Math.sin(radians); const nx = cos * (x - cx) + sin * (y - cy) + cx; const ny = cos * (y - cy) - sin * (x - cx) + cy; return [nx, ny]; } setDPI(canvas, 192); class Star { constructor() { const rands = []; rands.push(Math.random() * (maxorbit / 2) + 1); rands.push(Math.random() * (maxorbit / 2) + maxorbit); this.orbital = rands.reduce((p, c) => p + c, 0) / rands.length; this.x = centerx; this.y = centery + this.orbital; this.yOrigin = centery + this.orbital; this.speed = ((Math.floor(Math.random() * 2.5) + 1.5) * Math.PI) / 180; this.rotation = 0; this.startRotation = ((Math.floor(Math.random() * 360) + 1) * Math.PI) / 180; this.id = stars.length; this.collapseBonus = this.orbital - maxorbit * 0.7; if (this.collapseBonus < 0) { this.collapseBonus = 0; } this.color = "rgba(255,255,255," + (1 - this.orbital / 255) + ")"; this.hoverPos = centery + maxorbit / 2 + this.collapseBonus; this.expansePos = centery + (this.id % 100) * -10 + (Math.floor(Math.random() * 20) + 1); this.prevR = this.startRotation; this.prevX = this.x; this.prevY = this.y; this.originalY = this.yOrigin; stars.push(this); } draw() { if (!expanse && !returning) { this.rotation = this.startRotation + currentTime * this.speed; if (!collapse) { if (this.y > this.yOrigin) { this.y -= 2.5; } if (this.y < this.yOrigin - 4) { this.y += (this.yOrigin - this.y) / 10; } } else { this.trail = 1; if (this.y > this.hoverPos) { this.y -= (this.hoverPos - this.y) / -5; } if (this.y < this.hoverPos - 4) { this.y += 2.5; } } } else if (expanse && !returning) { this.rotation = this.startRotation + currentTime * (this.speed / 2); if (this.y > this.expansePos) { this.y -= Math.floor(this.expansePos - this.y) / -80; } } else if (returning) { this.rotation = this.startRotation + currentTime * this.speed; if (Math.abs(this.y - this.originalY) > 2) { this.y += (this.originalY - this.y) / 50; } else { this.y = this.originalY; this.yOrigin = this.originalY; } } context.save(); context.fillStyle = this.color; context.strokeStyle = this.color; context.beginPath(); const oldPos = rotate( centerx, centery, this.prevX, this.prevY, -this.prevR ); context.moveTo(oldPos[0], oldPos[1]); context.translate(centerx, centery); context.rotate(this.rotation); context.translate(-centerx, -centery); context.lineTo(this.x, this.y); context.stroke(); context.restore(); this.prevR = this.rotation; this.prevX = this.x; this.prevY = this.y; } } const centerHover = document.querySelector(".centerHover"); centerHover.addEventListener("click", function () { collapse = false; expanse = true; returning = false; this.classList.add("open"); setTimeout(() => { expanse = false; returning = true; setTimeout(() => { returning = false; this.classList.remove("open"); }, 2000); }, 5000); }); centerHover.addEventListener("mouseover", function () { if (expanse === false) { collapse = true; } }); centerHover.addEventListener("mouseout", function () { if (expanse === false) { collapse = false; } }); function loop() { const now = new Date().getTime(); currentTime = (now - startTime) / 50; context.fillStyle = "rgba(25,25,25,0.2)"; context.fillRect(0, 0, cw, ch); for (let i = 0; i < stars.length; i++) { if (stars[i] !== undefined) { stars[i].draw(); } } requestAnimationFrame(loop); } function init() { context.fillStyle = "rgba(25,25,25,1)"; context.fillRect(0, 0, cw, ch); for (let i = 0; i < 2500; i++) { new Star(); } loop(); } init(); } document.addEventListener("DOMContentLoaded", () => { blackhole("#blackhole"); }); </script> </body> </html> ]]> <![CDATA[精美图片相册-外链版本]]> http://xgk.pw/archives/207/ 2025-07-13T21:09:00+08:00 2025-07-13T21:09:00+08:00 小归客 https://ovogk.com 图片演示

QQ浏览器截图20250713210813.png

精美图片相册-外链版本

可以通过编辑txt文件,批量添加地址,分类。

管理帐号admin
密码123456

下载

链接: https://pan.baidu.com/s/1iYJL4rOxEF-xMFj6XC3mNw?pwd=b7kw 提取码: b7kw

]]>
<![CDATA[戒撸打卡程序,大小仅有2.46k]]> http://xgk.pw/archives/201/ 2025-07-03T10:21:00+08:00 2025-07-03T10:21:00+08:00 小归客 https://ovogk.com 前言

嘴上说着今天不打,手还不是不老实。
为此为让大家戒撸,我把“戒撸”做成一个程序,让“戒撸”和“上班”一样,都需要“打卡”。以此来记录,今天的你老实,还是今天你的手老实。

演示

PicsArt_07-03-10.09.56.jpg

介绍

整个程序大小:2.46k
由一个txt文件来储存数据,2个php组成。
戒撸刻不容缓,速度下载使用。

下载

https://pan.baidu.com/s/1XjeYO3hMccY0ARPqqhUrCg?pwd=i485 

]]>
<![CDATA[性生活记录程序]]> http://xgk.pw/archives/199/ 2025-07-01T00:57:04+08:00 2025-07-01T00:57:04+08:00 小归客 https://ovogk.com 前言

你还在烦恼日子记不住?
你还在烦恼她 / 他记错帐?不要怕,程序来了,那天交的公粮,一目了然,清清楚楚,明明白白。
不止能记录今天的,甚至能记录月、年的,还能统计总数,交了多少又有谁能知道呢?(记得隐私,小心大家给你加班,假装你很强)
IMG_20250701_004409.jpg

演示 /

https://199696.xyz/assets/20/

像我一样单身的,根本不配拥有这种程序,玛的,用不上。

下载地址

https://pan.baidu.com/s/1FUOgV9Y6sNx-pIR3dRQdow?pwd=nsud 

]]>
<![CDATA[常用的长度单位]]> http://xgk.pw/archives/187/ 2025-06-10T21:41:03+08:00 2025-06-10T21:41:03+08:00 小归客 https://ovogk.com 1米(m) = 0.001千米(km)
1米(m) = 1米(m)
1米(m) = 10分米(dm)
1米(m) = 100厘米(cm)
1米(m) = 1000毫米(mm)
1米(m) = 10000丝米(dmm)
1米(m) = 100000丝(机械尺寸单位)
1米(m) = 1000000微米(μm)
1米(m) = 1000000000纳米(nm)
1米(m) = 0.002里
1米(m) = 0.3丈
1米(m) = 3尺
1米(m) = 30寸
1米(m) = 300分
1米(m) = 3000厘
1米(m) = 30000毫
1米(m) = 0.00054海里(nmi)
1米(m) = 0.5468066英寻
1米(m) = 3.2808399英尺(ft)
1米(m) = 39.3700787英寸(in)
1米(m) = 0.0006214英里(mi)
1米(m) = 0.004971弗隆(fur)
1米(m) = 1.0936133码(yd)

]]>
<![CDATA[Movie-影视记录程序]]> http://xgk.pw/archives/184/ 2025-06-09T00:29:00+08:00 2025-06-09T00:29:00+08:00 小归客 https://ovogk.com 花了我一下午的时间,二开了这个程序,本着方便“记录观影”看到那一集时,下次好接上。

前生

源于在某葫芦上看到的“网页版软件库”源码。

今生

二开成“Movie程序”语言php、js、css、html

  1. 支持后台
  2. 自适应
  3. 增/删/改
  4. 海报上传照片
  5. 管理密码修改
  6. 网站基本信息修改Image_1749399564478.png
]]>
<![CDATA[APP生成工具汇总]]> http://xgk.pw/archives/179/ 2025-06-03T01:05:00+08:00 2025-06-03T01:05:00+08:00 小归客 https://ovogk.com 从移动互联网时代开始,不管是企业官网、个人博客、论坛等等,都有自动生成iOS/Android APP的需求。

自从类似Claude sonnet+Cursor 这样的组合对编程较好支持后,AI自动生成iOS/Android APP已经成为重要的AI应用领域,出现了一堆新产品。APP生成工具主要分为两大类:
a、AI辅助生成APP工具
b、从已有网站/Wordpress/论坛等生成APP工具

AI生成APP工具
bolt.new
https://bolt.new/

支持Web/APP生成a0.dev
https://a0.dev/
APP开源框架
Expo.dev
开发Replit
https://replit.com/aSim
https://asim.sh/
https://news.ycombinator.com/item?id=43547677

支持直接在移动端生成APP的APP
Lovable
https://lovable.dev/
Tempo
https://www.tempo.new/
Create
https://www.create.xyz/
Avid
https://www.getavid.dev/

网站生成APP
Median.co
https://median.co/  
原GoNative.ioApp
MySite
https://www.appmysite.com/
Web2APP
https://web2app.app/
Appypie
https://www.appypie.com
WebViewGold
https://www.webviewgold.com/
变色龙云
http://webtoapp.bslyun.com/
WordPress
https://github.com/longmix/
wordpress-to-app 开源
https://apppresser.com/
https://wordpress.org/plugins/app-builder/
https://wordpress.org/plugins/appmysite/
https://wordpress.org/plugins/mobiloud-mobile-app-plugin/
https://wordpress.org/plugins/wpappninja/

Discuz论坛
DZ 阅读器– Discuz! X 论坛阅读工具iOS:https://apps.apple.com/app/id1602665775

Android:
https://ittool.app/file/dz_reader.apk 或Google Play搜索:DZ Reader
Shopify商店
https://apps.shopify.com/categories/store-design-storefronts-mobile-app-builder

APP开发框架Expo
https://expo.dev/

]]>
<![CDATA[实时工资计算器]]> http://xgk.pw/archives/178/ 2025-05-24T10:53:31+08:00 2025-05-24T10:53:31+08:00 小归客 https://ovogk.com 这是一款由某某 AI 生成的实时工资计算题,他能粗糙的计算出你的时薪是多少?只需要你输入 “月薪,月上班天数,每日上班工时”。简单粗暴,让牛马有希望,让你的知道付出是有回报的,虽然不多,但总归是有的。

没有演示站,自己复制粘贴去看看。
IMG_20250524_104332.jpg

通过百度网盘分享的文件:实时工资计算器.…
链接:https://pan.baidu.com/s/1MYrNjka8SMGPTfPRCNzvhA?pwd=w841 
提取码:w841
复制这段内容打开「百度网盘APP 即可获取」

]]>
<![CDATA[柯林WAP建站程序最新破解版 V12.08.11]]> http://xgk.pw/archives/176/ 2025-05-23T09:20:00+08:00 2025-05-23T09:20:00+08:00 小归客 https://ovogk.com 【运行环境】
空间:Net2.0/3.5/4.0
数据库:MSSQL2000/2005/2008/2012
【本版简介】
此破解版是基于柯林最新免费版破解而来
出炉时间是:2016-09-18 版本号:V12.08.11
【后台信息】
后台地址:http://域名/admin
后台帐号:wap
后台密码:888888
【安装说明】
老鸟就不必理会此教程了!就简单的讲一下安装方法吧
下载程序后-解压kelink.bak-还原数据库-上传程序
修改Web.config数据库信息-后台设置域名转发-完成
不会安装的朋友可以联系别人代上传安装(收费),我不会

【注意事项】
破解版请勿修改后台的主域名,改了主域名那么底部就会有柯林的版权

通过百度网盘分享的文件:柯林WAP建站程…
链接:https://pan.baidu.com/s/1j9TXxXhziPD03zSmM48hSA?pwd=8e55 
提取码:8e55
复制这段内容打开「百度网盘APP 即可获取」

]]>