diff --git a/_data/other_repo_list.csv b/_data/other_repo_list.csv index da38159..2b7a0a7 100644 --- a/_data/other_repo_list.csv +++ b/_data/other_repo_list.csv @@ -15,326 +15,132 @@ https://tildegit.org/Mayx/mayx https://git.tilde.town/mayx/blog https://gitlab.haskell.org/mayx/mayx https://repo2.serv00.com/git/pub/Mayx/mayx/ -https://git.pixie.town/mayx/mayx https://codefloe.com/mayx/blog +https://git.pixie.town/mayx/blog https://git.minetest.land/Mayx/blog http://1.6.141.109:3000/mayx/blog -http://52.28.156.42/mayx/blog https://code.dsconce.space/mayx/blog -http://101.66.229.132:61088/mayx/blog -https://git.bp-web.app/mayx/blog https://mygit.iexercice.com/mayx/blog http://162.215.134.149:4000/mayx/blog -http://durfee.mycrestron.com:3000/mayx/blog -https://gitea.nongnghiepso.com/mayx/blog -https://codes.tools.asitavsen.com/mayx/blog -https://git.zeroplay.io/mayx/blog http://45.33.87.87/mayx/blog -http://168.126.28.36:3000/mayx/blog -http://69.62.77.234:8888/mayx/blog -http://112.219.147.186:7000/mayx/blog https://git.rootfinlay.co.uk/mayx/blog https://gitea.belanjaparts.com/mayx/blog http://185.208.225.190:3000/mayx/blog -http://116.204.34.35:12000/mayx/blog https://git.Apture.io/mayx/blog -https://gitea.jasonstolle.com/mayx/blog http://8.134.61.107:3000/mayx/blog -http://47.107.88.161:3000/mayx/blog -http://142.171.47.170:3000/mayx/blog -http://111.231.146.230:8418/mayx/blog -https://git.pwaapp.cc/mayx/blog -https://an360.top/mayx/blog -http://111.119.244.185:3000/mayx/blog -https://git.influxfin.com/mayx/blog http://219.157.255.213:25311/mayx/blog -https://git.vekus.ru/mayx/blog -http://116.204.75.78:6180/mayx/blog -http://109.228.48.121:8000/mayx/blog -http://27.124.12.222:3000/mayx/blog -https://gitea.hintsight.com/mayx/blog -http://blackobelisk.xyz:3000/mayx/blog -https://git.the-kn.com/mayx/blog -https://git.wangxinlei.cn/mayx/blog -http://123.56.193.182:3000/mayx/blog -http://167.172.7.198:8081/mayx/blog -https://gitea.meetgu.ru/mayx/blog http://116.236.50.103:8789/mayx/blog -https://git.paulll.cc/mayx/blog -http://94.224.160.69:7990/mayx/blog -https://gitea.ekjeong.synology.me/mayx/blog https://git.daoyoucloud.com/mayx/blog -https://code.bitahub.com/mayx/blog https://repo.gusdya.net/mayx/blog https://gitea.synapsetec.cn/mayx/blog http://gitea.yunshanghub.com:8081/mayx/blog http://113.177.27.200:2033/mayx/blog http://152.69.204.151:3000/mayx/blog -http://207.180.229.193:3001/mayx/blog -http://34.81.52.16/mayx/blog -http://123.57.16.111:3000/mayx/blog -https://lius.familyds.org:3000/mayx/blog -http://git.chaojing-film.com:3000/mayx/blog -https://git.nusaerp.com/mayx/blog -http://35.207.205.18:3000/mayx/blog -http://git.zjsciot.com:3000/mayx/blog https://gitea.ontoast.uk/mayx/blog -http://121.36.37.70:15501/mayx/blog http://187.216.152.151:9999/mayx/blog http://116.63.173.179:8001/mayx/blog -http://114.116.79.196/mayx/blog -http://121.40.40.177:3000/mayx/blog -http://178.254.35.219:3000/mayx/blog -http://2.59.132.109:3001/mayx/blog -http://81.71.148.57:8080/mayx/blog -https://git.lmskaran.com/mayx/blog -http://154.86.0.30:3000/mayx/blog -http://52.23.128.62:3000/mayx/blog -http://120.46.222.128:10021/mayx/blog -http://120.26.108.239:9188/mayx/blog -http://47.111.17.177:3000/mayx/blog https://k0ki-dev.com/mayx/blog -http://110.42.45.89:2052/mayx/blog https://git.furcom.org/mayx/blog -http://34.102.70.200:3000/mayx/blog -https://gitea.oio.cat/mayx/blog https://git.karma-riuk.com/mayx/blog https://git.7o9o.net/mayx/blog https://git.gupaoedu.cn/mayx/blog https://git.7milch.com/mayx/blog https://git.sitenevis.com/mayx/blog https://dreamplacesai.de/mayx/blog -http://1.94.13.224:9080/mayx/blog -http://gitea.coderpath.com/mayx/blog -http://43.136.169.169:3000/mayx/blog -http://121.196.213.68:3000/mayx/blog -https://git.micahmoore.io/mayx/blog -https://git.anatid.net/mayx/blog https://git.lekai.info/mayx/blog -http://135.235.225.198:3000/mayx/blog -http://117.72.114.197:3000/mayx/blog -https://git.ashcloud.com/mayx/blog https://git.novaa.xyz/mayx/blog -http://101.46.208.93:3000/mayx/blog -http://23.94.57.60:3000/mayx/blog https://gitea.sciotech.cn/mayx/blog -http://8.140.250.85:3000/mayx/blog -http://202.65.194.19:3000/mayx/blog -http://101.201.34.43:3000/mayx/blog https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog -http://101.35.227.2:3000/mayx/blog -http://209.141.47.52:3000/mayx/blog -http://60.204.158.188:3000/mayx/blog -http://60.204.156.211:3000/mayx/blog -http://nas.bi1kbu.com:8418/mayx/blog -http://1.94.178.207:3000/mayx/blog -https://gitea.tsaida.synology.me/mayx/blog -https://git.teygaming.com/mayx/blog -http://osztromok.com:3164/mayx/blog -http://175.209.53.134:3030/mayx/blog -http://39.107.226.169:3000/mayx/blog -http://39.96.211.118:3000/mayx/blog -http://121.37.47.20:3000/mayx/blog -https://git.antropix.dev/mayx/blog -http://15.237.198.144/mayx/blog -http://183.6.120.101:30000/mayx/blog -http://57.129.94.190:3000/mayx/blog https://gitea.micro-stack.org/mayx/blog -https://gitea.temp.brentgruber.com/mayx/blog -http://47.102.147.170:3050/mayx/blog -http://172.236.250.154:3000/mayx/blog -http://54.198.134.152:3000/mayx/blog -http://121.41.35.226:11011/mayx/blog -http://47.111.1.12:3000/mayx/blog -https://nelgit.nelpi.co.uk/mayx/blog -http://8.141.91.86:3000/mayx/blog -http://117.72.15.187:3000/mayx/blog -http://81.70.30.91:3000/mayx/blog http://106.54.211.95:3000/mayx/blog -http://210.245.20.73:3333/mayx/blog -http://43.248.97.109:3000/mayx/blog -http://113.207.86.104:3080/mayx/blog -http://39.96.195.72:10082/mayx/blog http://172.172.102.93:3000/mayx/blog -http://115.120.245.164:3000/mayx/blog -http://35.194.179.90:3000/mayx/blog -http://66.179.208.56:3001/mayx/blog -http://121.43.60.72:9015/mayx/blog -http://171.80.13.66:9112/mayx/blog http://223.108.157.174:3000/mayx/blog http://120.24.249.56/mayx/blog -http://54.179.203.2:3000/mayx/blog -http://14.103.246.124:16000/mayx/blog -http://152.42.207.183:3000/mayx/blog -http://47.99.60.81:10082/mayx/blog http://120.211.66.170:8418/mayx/blog https://gitea.vilcap.com/mayx/blog -http://121.196.245.62/mayx/blog http://8.138.142.17:3000/mayx/blog -http://www.koelndom.cn:13030/mayx/blog http://209.127.59.74:3000/mayx/blog https://git.dotb.cloud/mayx/blog https://gitea.augeo.dev/mayx/blog -http://120.46.23.215:3000/mayx/blog http://121.41.2.71:3000/mayx/blog -http://110.41.177.80:5000/mayx/blog -https://gitea.dsmaster.myds.me/mayx/blog -http://www.scserverddns.top:13000/mayx/blog -https://git.lucas-michel.fr/mayx/blog https://git.imvictor.tech:2/mayx/blog -http://47.112.137.193:3000/mayx/blog -http://58.38.123.148:3176/mayx/blog -http://docker.clhero.fun:3000/mayx/blog -https://bdgit.educoder.net/mayx/blog http://e19510c831.iok.la/mayx/blog http://119.45.49.212:3000/mayx/blog https://code.antopie.org/mayx/blog https://git.serenetia.com/mayx/blog -https://vcs.cozydsp.space/mayx/blog -http://115.190.107.87:3000/mayx/blog -http://106.12.50.144:8081/mayx/blog https://code.wxk8.com/mayx/blog -http://8.155.58.218:9000/mayx/blog http://fanlibo.i234.me:8418/mayx/blog https://git.temporaryname.org/mayx/blog https://Repo.gusdya.net/mayx/blog -https://git.m.ctf.arrobe.fr/mayx/blog -http://69.62.64.52:3333/mayx/blog https://git.flymiracle.com/mayx/blog -http://106.14.138.181:3000/mayx/blog -https://git.yyuu.xyz/mayx/blog -http://39.107.70.124:3000/mayx/blog https://git.stormrain.cn/mayx/blog https://git.deuxfleurs.fr/mayx/blog https://www.simpra.org:3000/mayx/blog -http://8.148.31.14:3000/mayx/blog -http://47.94.246.1:3000/mayx/blog https://www.arcbyte.dev/mayx/blog https://scm.bcorex.e3labs.net/mayx/blog -http://58.17.14.95:8001/mayx/blog -https://hero-cloud-stg-code.cnbita.com/mayx/blog -http://101.37.69.204:3000/mayx/blog https://gitea.tecamino.com/mayx/blog -http://39.99.175.172:8000/mayx/blog -http://8.138.13.251:3000/mayx/blog -http://104.254.131.244:3000/mayx/blog -https://gitea.alacloud.de/mayx/blog https://git.tobiasweise.dev/mayx/blog https://code.cif.su/mayx/blog https://git.cynic.moe/mayx/blog https://git.muellers-software.org/mayx/blog -http://8.130.128.130:3000/mayx/blog https://repos.fbpx.io/mayx/blog https://git.cavemanon.xyz/mayx/blog http://svn.rivastudio.cn/mayx/blog -http://39.98.126.115:8080/mayx/blog -http://46.202.189.66:3000/mayx/blog -http://82.26.157.11:3001/mayx/blog -http://123.60.146.54:3000/mayx/blog -http://8.140.248.67:3000/mayx/blog http://118.178.172.49:3000/mayx/blog https://gitea.lasallesaintdenis.com/mayx/blog -http://123.57.225.51:3000/mayx/blog http://8.130.135.159:3000/mayx/blog https://git.suo0.com/mayx/blog -http://103.228.160.127:3100/mayx/blog https://git.dshkabatur.ru/mayx/blog -https://gitea.hoba.dedyn.io/mayx/blog -https://git.wegoo.ltd/mayx/blog -http://114.203.209.83:3000/mayx/blog -http://47.100.111.106:3000/mayx/blog http://47.103.78.70:3000/mayx/blog http://47.100.208.160:51300/mayx/blog -http://113.44.218.8:3000/mayx/blog -https://git.cenoq.com/mayx/blog -http://8.152.205.35:3000/mayx/blog http://120.210.80.160:3000/mayx/blog http://194.5.152.156:3000/mayx/blog -http://8.155.172.147:3001/mayx/blog https://git.erfmann.dev/mayx/blog -https://git.weavefun.com:5443/mayx/blog http://58.65.162.118:3000/mayx/blog https://git.arkon.solutions/mayx/blog http://8.131.93.145:54082/mayx/blog -http://111.9.31.174:10007/mayx/blog -https://forgejo.bridgetownrb.com/mayx/blog -http://54.199.96.217:3000/mayx/blog -http://20.219.0.85:3000/mayx/blog https://gitea.doinlab.com/mayx/blog https://git.7af.ru/mayx/blog https://gitea.yimoyuyan.cn/mayx/blog -https://git.apextoaster.com/mayx/blog -https://hub.open-verse.ai/mayx/blog http://221.203.14.217:3000/mayx/blog -https://git.sophiagwen.au/mayx/blog -http://139.196.96.28:13000/mayx/blog https://dev.kiramtech.com/mayx/blog -https://git.123doit.com/mayx/blog -http://62.43.207.91:8889/mayx/blog https://git.johntsai.online/mayx/blog -https://gitea.css-sistemas.com.br/mayx/blog https://git.f4e.lol/mayx/blog http://47.113.145.232:3000/mayx/blog -http://47.115.212.237:3000/mayx/blog http://72.61.229.93:4000/mayx/blog https://lishan148.synology.me:3014/mayx/blog_cn -http://1.95.221.174:3000/mayx/blog -https://git.huwhy.cn/mayx/blog_cn -http://119.91.35.154:3000/mayx/blog_cn http://110.42.101.39:13000/mayx/blog_cn http://39.101.74.135:5000/mayx/blog_cn -http://124.236.46.74:9103/mayx/blog_cn http://123.57.130.140:3000/mayx/blog_cn -http://112.124.49.128:3000/mayx/blog_cn http://118.24.46.223:3000/mayx/blog_cn http://s3.v100.vip:31057/mayx/blog_cn https://www.syq.im:2025/mayx/blog_cn http://101.33.225.95:3000/mayx/blog_cn http://45.55.138.82:3000/mayx/blog_cn -http://82.156.121.2:3000/mayx/blog_cn http://118.24.129.148:3000/mayx/blog_cn -http://58.241.155.106:10140/mayx/blog_cn http://120.48.141.82:3000/mayx/blog_cn -http://61.178.84.89:8998/mayx/blog_cn http://82.156.111.58:3000/mayx/blog_cn -https://git.saike.fun:9755/mayx/blog_cn https://git.cool2645.com/mayx/blog_cn -http://1.95.173.44:3000/mayx/blog_cn -http://58.221.157.122:3000/mayx/blog_cn https://gitlab.liruwei.cn/mayx/blog_cn -http://61.190.74.90:9900/mayx/blog_cn -http://49.234.27.222:3000/mayx/blog_cn -http://8.153.70.81:30001/mayx/blog_cn http://175.27.229.211:3000/mayx/blog_cn -http://106.55.174.214:3000/mayx/blog_cn https://git.yidaimingjvn.xyz/mayx/blog_cn http://39.105.67.143:3000/mayx/blog_cn -http://8.140.232.131:8100/mayx/blog_cn http://82.156.89.21:3000/mayx/blog_cn -https://git.sskuaixiu.com/mayx/blog_cn http://xujiesoft.vicp.net:3000/mayx/blog_cn -http://113.44.36.103:23000/mayx/blog_cn https://git.mingliqiye.com/mayx/blog_cn http://119.29.194.155:8894/mayx/blog_cn http://58.213.60.6:19000/mayx/blog_cn http://36.153.162.171:3000/mayx/blog_cn http://47.92.113.131:3000/mayx/blog http://gyc.myds.me:4000/mayx/blog -https://git.tablet.sh/mayx/blog https://git.gnyra.com/mayx/blog https://git.graveyard.sh/mayx/blog https://git.nathanspackman.com/mayx/blog -https://git.rmarl.in/mayx/blog http://git.mynas71.myds.me/mayx/blog -https://git.4lsa.com/mayx/blog -https://rlgit.pro/mayx/blog https://git.veraskolivna.net/mayx/blog https://git.lifetop.net/mayx/blog https://gitea.jnyuxia.com/mayx/blog -http://git.liuhung.com/mayx/blog -https://gitea.adber.tech/mayx/blog https://gitea.hello.faith/mayx/blog -https://tea.neuron.my/mayx/blog https://git.violka-it.net/mayx/blog https://git.adityagupta.dev/mayx/blog https://git.danpeak.co.uk/mayx/blog @@ -342,22 +148,13 @@ https://gitea.mynas-lechner.de/mayx/blog https://git.automathon.org/mayx/blog https://git.esen.gay/mayx/blog https://git.webtims.ru/mayx/blog -https://gitea.personalsoftware.space/mayx/blog https://gitlab.iplusus.com/mayx/blog -https://gitea.zachl.tech/mayx/blog https://git.miasma-os.com/mayx/blog https://gitea.nacsity.cn/mayx/blog -https://gitea.diputadosalta.gob.ar/mayx/blog -https://ttym.space/mayx/blog -https://getskill.work/mayx/blog -https://suprasage.com/mayx/blog https://git.zakum.cn/mayx/blog -https://gitea.amazingcoders.com/mayx/blog https://gitea.kamilklecha.dev/mayx/blog http://47.109.103.110:9000/mayx/blog_cn -http://47.105.124.101:3000/mayx/blog_cn http://49.232.183.190:3000/mayx/blog_cn -http://git.zxkedu.com:33769/mayx/blog_cn https://code.wemediacn.com/mayx/blog_cn http://51.159.198.233:3000/mayx/blog https://gitea.adriangonzalezbarbosa.eu/mayx/blog @@ -366,105 +163,56 @@ https://git.kayashov.keenetic.pro/mayx/blog http://47.104.241.192:19999/mayx/blog_cn http://47.98.148.146:1026/mayx/blog_cn http://119.96.62.56:3000/mayx/blog_cn -http://101.42.28.156:3000/mayx/blog_cn -http://106.55.0.66:31807/mayx/blog_cn https://gitea.gentronhealth.com/mayx/blog_cn http://43.143.209.246:6300/mayx/blog_cn -http://152.136.158.133:36512/mayx/blog_cn http://yidaima.cn:6008/mayx/blog_cn -http://47.113.101.80:3000/mayx/blog_cn -http://82.156.98.34:3000/mayx/blog_cn http://zgd.synology.me:8418/mayx/blog_cn -https://git.zguiy.com/mayx/blog_cn http://58.221.216.202:3000/mayx/blog_cn http://39.100.183.95:88/mayx/blog_cn http://www.xshideserver.com:3000/mayx/blog_cn -http://124.223.54.62:28/mayx/blog_cn http://159.75.131.235:3001/mayx/blog_cn http://1.117.67.95:3000/mayx/blog_cn -http://103.236.53.208:3000/mayx/blog_cn -http://118.195.135.194:3000/mayx/blog_cn http://81.70.102.154/mayx/blog_cn -http://154.8.164.149:3000/mayx/blog_cn http://111.228.34.40:3000/mayx/blog_cn -http://82.156.249.211:3000/mayx/blog_cn http://36.133.248.69:3088/mayx/blog_cn http://220.205.16.27:18081/mayx/blog_cn -http://81.69.221.216:3000/mayx/blog_cn http://183.204.60.122:10081/mayx/blog_cn -http://43.139.240.37:17000/mayx/blog_cn -http://159.75.27.114:3000/mayx/blog_cn -http://arcreya.top/mayx/blog_cn https://code.tczkiot.com/mayx/blog_cn -http://111.170.153.123:3000/mayx/blog_cn -http://xeroworld.team/mayx/blog_cn https://gitea.wuyuank.com/mayx/blog_cn -http://47.117.245.9:17701/mayx/blog_cn -https://git.sunlix.one/mayx/blog_cn http://47.106.222.181:20511/mayx/blog_cn -http://101.43.95.130:3001/mayx/blog_cn https://gitea.myat4.com/mayx/blog_cn http://118.24.161.24:3000/mayx/blog_cn http://githanea.s.odn.cc/mayx/blog_cn https://git.dev.chuweizi.com/mayx/blog -http://35.175.189.8/mayx/blog -http://meowug.com:8418/mayx/blog_cn http://36.138.125.206:3000/mayx/blog_cn -https://git.4lcap.com/mayx/blog_cn -http://59.110.175.62:4322/mayx/blog_cn -https://www.luluvip.cn:8419/mayx/blog_cn -http://xianyuhome.cn:11013/mayx/blog_cn https://git.chatumbrella.online/mayx/blog https://silica.codes/mayx/blog https://git.crystalyx.net/mayx/blog https://gittea.dev/mayx/blog https://git.newnaturalphilosophy.org/mayx/blog https://code.infininov.com/mayx/blog -http://gitea.mcelwain.net/mayx/blog -https://chunkks.com/mayx/blog -https://gitea.earthmanrpg.me/mayx/blog -https://ndiuky.site/mayx/blog https://src.enterpriselinux.social/mayx/blog https://gitea.grxe.io/mayx/blog -https://git.mhworld.net/mayx/blog -https://blvckout.foo/mayx/blog https://gitea.accept.dev.dbf.nl/mayx/blog -https://git.ke5.de/mayx/blog https://git.jhossain.online/mayx/blog -http://gitea.xsec.fun/mayx/blog https://barhoum-lab.fr/mayx/blog https://git.fedaya.net/mayx/blog -http://gitea.nakile.fr/mayx/blog https://redev.lol/mayx/blog http://git.zfxfzb.com/mayx/blog https://papi.tkpups.com/mayx/blog https://git.beyond-a-i.org/mayx/blog http://huanghomenas2.myqnapcloud.com:4000/mayx/blog_cn -http://43.142.166.108:10082/mayx/blog_cn -https://tm-jikayo.com/mayx/blog_cn -http://zzdgitea.stnav.com/mayx/blog_cn http://1.117.66.197:3000/mayx/blog_cn http://git.zhmight.com/mayx/blog_cn https://intl-dev.gaia888.com/mayx/blog_cn http://gitea.snailtrack.cn/mayx/blog_cn -http://ydds.cloud:3000/mayx/blog_cn -http://120.24.50.145:3000/mayx/blog_cn https://code.draussenfunker.de/mayx/blog_cn https://git.dinsor.co.th/mayx/blog https://ofibohost.com/mayx/blog -https://lab.iishka.net/mayx/blog http://www.arkproject.top/mayx/blog http://www.bkandssp.cn:30/mayx/blog -https://gitea.spitaki.cloud/mayx/blog -https://git.codle.ru/mayx/blog -https://codeop.ru/mayx/blog -https://git.mirocom.org/mayx/blog http://gitea.ydxtool.com/mayx/blog -http://18.167.251.121:10003/mayx/blog -http://39.98.171.121:53000/mayx/blog https://gitea.malxte.de/mayx/blog -https://git.nizart.me/mayx/blog -https://git.ddns.net/mayx/blog http://222.85.214.245:9776/mayx/blog https://git.kraevsky.ru/mayx/blog https://ruyiscx.cloud:3000/mayx/blog @@ -472,39 +220,27 @@ https://git.0xee.eu/mayx/blog https://gitea.deitglobal.com/mayx/blog https://git.crwlr.ir/mayx/blog https://git.nozora.top/mayx/blog -https://git.sortug.com/mayx/blog -https://aivyx-gitea.cloud/mayx/blog https://git.edenit.co.kr/mayx/blog https://git.catgirlsneed.homes/mayx/blog -https://git.eldev.netcraze.pro/mayx/blog -http://110.41.184.238:3000/mayx/blog http://47.108.255.216:3000/mayx/blog_cn https://gitea.molietech.com/mayx/blog_cn http://58.87.88.234:3000/mayx/blog_cn http://210.75.240.13:3000/mayx/blog_cn -https://git.xz-i.com:30443/mayx/blog_cn -https://git.fynn.vip/mayx/blog_cn http://119.91.212.17:3000/mayx/blog_cn http://git.hbg99.com:8080/mayx/blog_cn https://git.eplg.services/mayx/blog -http://89.167.38.168:3001/mayx/blog http://namonba.asuscomm.com:3001/mayx/blog http://109.199.98.226:3001/mayx/blog https://git.extra.eiffel.com/mayx/blog https://gitea.digitanie.org/mayx/blog https://git.xleed.com/mayx/blog https://qlcodegitserver.online/mayx/blog -https://gitea.vvzvlad.xyz/mayx/blog https://git.supernets.org/mayx/blog https://git.digitaltelepresence.com/mayx/blog https://git.hrfee.pw/mayx/blog https://git.libregaming.org/mayx/blog https://git.kaki87.net/mayx/blog https://forgejo.vanten-s.com/mayx/blog -https://git.heartnn.com/mayx/blog -https://git.joinplu.me/mayx/blog -https://git.research.dezeeuw.ca/mayx/blog -http://149.104.29.239:8081/mayx/blog http://ysx.myds.me:3005/mayx/blog http://124.71.169.183:3000/mayx/blog https://git.csi-kjsce.org/mayx/blog @@ -513,16 +249,67 @@ http://39.108.124.198:3000/mayx/blog http://1090391-twk8saas.tmweb.ru/mayx/blog https://git.msoucy.me/mayx/blog https://git.niisse.net/mayx/blog -http://139.224.24.61:3000/mayx/blog http://140.120.108.238:49308/mayx/blog -http://220.132.16.87:3000/mayx/blog http://git.chilidoginteractive.com:3000/mayx/blog_cn https://git.thunder-data.cn/mayx/blog_cn https://git.cukak.com/mayx/blog_cn https://git.ixu.me/mayx/blog_cn http://git.uhfdemo.com/mayx/blog_cn http://43.143.142.38:7001/mayx/blog_cn -http://111.230.243.127:3000/mayx/blog_cn -http://git.qniao.cn/mayx/blog_cn https://gitea.smartechouse.com/mayx/blog_cn http://git.feashow.cn/mayx/blog_cn +http://git.yangben365.com/mayx/blog_cn +https://git.wieerwill.dev/mayx/blog +https://git.etwo.dev/mayx/blog +https://git.panda-number.one/mayx/blog +https://datacortex.pl/mayx/blog +https://git.h4xx0r.club/mayx/blog +https://git.trevorbotha.net/mayx/blog +https://viacivis.de/mayx/blog +http://www.wybpohro.com:3000/mayx/blog_cn +https://gitea.jobiglo.com/mayx/blog_cn +http://118.31.7.2:3000/mayx/blog_cn +http://www.dothing.com:6999/mayx/blog_cn +http://121.43.244.209:30000/mayx/blog_cn +http://101.37.147.115:3000/mayx/blog_cn +https://git.fast-blast.uk/mayx/blog_cn +https://gitea.originaltech.cn/mayx/blog_cn +http://yuerton.oicp.net:13000/mayx/blog_cn +https://gitea.wsszn.com/mayx/blog_cn +https://gitea.katiethe.dev/mayx/blog_cn +https://git.akarmain.ru/mayx/blog_cn +https://git.georgew.dev/mayx/blog +https://gitea.keymantek.com:777/mayx/blog +http://git.realrobots.net/mayx/blog +https://www.tksea.top/mayx/blog +https://wtrb.uk:8443/mayx/blog +http://www.souper.ee/mayx/blog +https://git.tirtapakuan.co.id/mayx/blog +https://tacticallysolved.com/mayx/blog +https://git.juntekim.com/mayx/blog +https://git.loverde.com.br/mayx/blog +https://git.unioit.com/mayx/blog +https://git.jangoo.us:3010/mayx/blog +https://git.farmtowntech.com/mayx/blog +https://gitea.viperlance.net/mayx/blog +https://git.woopwoopserver.com/mayx/blog +https://git.sfere.pro/mayx/blog +http://tian-you.top:7020/mayx/blog +http://34.17.182.140/mayx-gogs/blog +https://gitea.octifor.synology.me:60443/mayx/blog +http://gitea.mikarsoft.com/mayx/blog +https://git.zhewen-tong.cc/mayx/blog +https://mcgit.place/mayx/blog +https://git.sunfamily.site/mayx/blog +https://git.dreamdares.com/mayx/blog +https://git.vgorl.is/mayx/blog +https://forgejo.rekallservices.com/mayx/blog +https://git.serradavid.fr/mayx/blog +http://git.instal.org.cn/mayx/blog +https://git.smart-family.net/mayx/blog +https://git.chiasson.cloud/mayx/blog +http://47.120.49.189:3000/mayx/blog +https://git.sleepeesoftware.fr/mayx/blog +https://daemez.io/mayx/blog +https://scm.macke.it/mayx/blog +https://git.joinplu.me/mayx/blog diff --git a/_posts/2026-07-01-vibe-coding.md b/_posts/2026-07-01-vibe-coding.md new file mode 100644 index 0000000..32fdd68 --- /dev/null +++ b/_posts/2026-07-01-vibe-coding.md @@ -0,0 +1,60 @@ +--- +layout: post +title: Vibe Coding新体验 +tags: [Vibe Coding, AI, PJAX, 麻将] +--- + + All in AI! + +# 起因 + 前段时间,我写了一篇关于[AI Agent](/2026/04/14/ai-agent.html)的文章,虽然当时我说这并没有什么创新之处,但在那之后用着用着感觉还是挺好用的,至少相比以前[在云端Vibe Coding](/2025/04/08/feed.html)来说又快又免费,所以我打算分享一下最近我用AI Agent的经历。 + 不过大多数情况下我写代码都可以直接让各路AI在对话中给我生成,那到底有什么样的场景才需要用AI Agent呢?一般应该就是需要边改边测的东西吧。 + +# 关于PJAX的改造 + 虽然说AI生成的东西可靠性并不是很高,但至少在网上已经有很多例子的代码应该不至于乱生成吧……其实我一直都想给我的博客增加全站无刷新的功能,但是每次看到PJAX都要自己重新调用当前页面的各种函数就懒得动手了😂。不过其实这也不是什么复杂的事情,主要是一个一个分析函数比较麻烦,所以既然有AI了,不如直接让AI帮我做吧。于是我让它克隆了我的仓库,分析并写出PJAX的代码。 + 用AI Agent最大的好处就是能让它了解整个项目的所有代码,如果是直接在对话里让AI修改的话就很难做到这一点。总之我告诉它之后等了一会它真的写出来了,我试了一下确实能用,虽然刚开始有不少问题,主要是因为我用了[Live2D](/Live2dHistoire/),主要问题也是这个引起的。不过只要我告诉它问题在哪里,它总是能给我改好,先不论它实现的代码怎么样,但至少从效果来说还是相当不错的。 + 最终生成的代码我看了一下,代码质量非常糟糕,把我在别处的代码到处复制粘贴到PJAX用的代码里了,但是体验效果不错……所以没办法,虽然代码很糟糕,但先用着吧。不过我觉得优化应该也能交给AI Agent,只是它有时候改来改去还会把正常代码改坏,所以优化看起来还是只能自己做…… + 最终的代码就是:[pjax.js](/assets/js/pjax.js),虽然我对这个代码质量不是很满意,但是毕竟能用,效果也不错,就先这样用吧~ + +# 生成一个小游戏 + 前段时间,我在Bilibili上看视频的时候发现了一个有趣的微信小游戏,叫做“雀谜”,它把立直麻将和Wordle两个玩法结合到一起,看起来挺有意思。不过它作为微信上的小游戏有些问题,一是看提示要看广告,二是换题也要看广告,而且看广告就算能换题也有次数限制,一天也就几次机会,让我有点不爽。 + 不过从功能上来说看起来并不复杂,感觉用AI直接Vibe Coding完全不是问题,不过AI Agent从零开始写比较考验模型的水平,所以我打算先让各路网页上的AI生成初版的Demo,之后再考虑怎么改。于是我对它们说: +> 帮我制作一款立直麻将Wordle网页小游戏,规则为: +> 1. 系统随机生成一个有役能和的14张牌,必须按照万、筒、索、字的顺序排列,同花色内数字从小到大,但是第14张用来和的牌可以不遵守排列规则 +> 2. 让玩家猜6次来猜到这个牌型,每次猜的牌也必须是满足有役和牌的条件 +> 3. 位置和内容正确的牌用绿色标注、只有内容正确但是位置不正确的用黄色标注,不在生成范围内的牌用灰色标注 +> 4. 界面中所有的牌使用Unicode中的麻将字符,并且提供一组输入按钮用于输入这些麻将字符 +> 5. 输入按钮在游玩过程中也要标注颜色 +> 6. 随机生成的牌需要标注场风、自风和是否自摸,如果是荣和需要额外的役,需要考虑平和之类的役种 +> 7. 加一个提示键,可以查看答案牌型的役种 + + 直接生成确实很考验水平,有很多AI直接生成出来的完全用不了,像DeepSeek生成出来的按钮按上去都没有反应😅,最终只有Gemini生成出来的感觉还不错,无论是界面还是输入的感觉都很好,于是接下来的修改我就打算以Gemini生成出来的代码为主。 + 刚生成出来的代码虽然能玩,但是每个AI直接生成都不想做完整的役种检测,说什么一个对话不够😥,明明各个都是几百k上下文的AI,有什么不够的……总之想一口气就完美做出来显然是不现实的,不过其实最开始我也不打算把所有役都做了,毕竟条件是“有役和牌”,而且没有副露,所以好多可以叠加的役其实都不需要做,尤其是役满那些,大多都可以用其他役的条件满足。 + 在这期间,“平和”算是实现起来最麻烦的,主要是这个役需要根据和牌判定,必须是顺子的两面听牌才可以……虽然AI理解这些知识,但是写的时候经常出问题,像边张之类的经常误判……但是不实现又不行,毕竟这是可以nomi的牌型。 + 最终写的差不多了,感觉还不错,于是在GitHub Pages上[部署了一份](https://mabbs.github.io/riichi-mahjong-wordle/),起名叫[立直麻将 Wordle](https://github.com/Mabbs/riichi-mahjong-wordle)。 + 最开始我以为这个小游戏的玩法是他们原创的,于是把生成的代码又丢给AI,让它评价一下创新性,结果AI说已经有开源了😂,有个叫做[Mahjong Handle](https://github.com/xnuk/mahjong-handle)的才是最早做这个玩法的……还好这代码不是我写的,要是我写了半天结果发现有现成的那就很无语了😆。 + 当然我让AI写的版本也有一些特色,Mahjong Handle那个和原版Wordle一样,每天只有一道题,而且这个题是从题库里抽的,我让AI Agent看了一下它的代码,似乎是用[phoenix-logs](https://github.com/MahjongRepository/phoenix-logs)这个脚本从天凤上下载的牌谱数据解析得到的题库,所以它的题目数量是有限的,而我的代码是完全随机生成的,所以结果是无限的。但AI似乎认为作为Wordle来说一天一题才是它的特色,无限就显得没意思了……既然如此,那干脆让它给我把两个游戏合并了,让它参考Mahjong Handle把一天一题的功能也给我加上,另外Mahjong Handle还有一个MPSZ快速输入法,也让AI给我合并进我的游戏里了。 + 这时候就体现了AI Agent的优势,如果直接用线上的AI把Mahjong Handle中的功能移植到我的代码,我还得完整描述要实现的功能,但是AI Agent能自己看人家仓库的代码,就知道要改什么东西了。 + 最终实现的效果也很不错,虽然我的代码没有题库,但是使用了当天日期作为随机种子,用mulberry32算法搞出了一天一题的功能,还挺有意思的。 + 另外在Mahjong Handle以及原版的Wordle中,还有一个困难模式,就是每次猜测必须使用之前的猜测条件,不过我觉得如果原模原样把这个功能抄过来似乎有点无聊,而且我发现玩这个东西一般直接一个国士+两个一气就基本上把要猜的牌找完了,有点简单,所以我想了一下,要不然限制一下提交的条件,提交的牌型必须包含目标的役种之类的……不过要是做这个功能就不能像之前那样只实现部分役种了,得把所有能用到的都实现一遍,还好这种事情肯定也不是我来做,肯定还得是让AI来😋。 + 实现的时候还不能让AI直接一口气全加上,还得一步一步的提示,而且每个牌型还得手动测一遍……最终虽然做的看起来似乎已经很完善了,不过逻辑的根本还是有点问题,AI设计役种计算的时候是按拆解后役种数量最多的情况来算,但事实上立直麻将算役种是按照高点法,要最终点数最大才行。虽然按照目前的方法绝大多数情况下都能正常工作,但偶尔也会遇到问题,比如像这副牌: + - 🀈🀈🀈🀉🀉🀉🀊🀊🀊🀞🀟🀗🀗 🀝 + + 按照目前的方法计算的结果是: + - 断幺·平和·一杯口 = 3番30符 + + 然而正确答案是: + - 断幺·三暗刻 = 3番50符 + + 但是符数的计算又很麻烦……不过反正提示和验牌都是同一套程序,题倒是也能做出来……所以就懒得修了🤣。当然说到底还是因为AI没有用现有的计算库,像Mahjong Handle用的是现成的[Riichi](https://github.com/takayama-lily/riichi)库,制作起来比我这个就简单多了。 + +# 为游戏添加字体 + 在我制作“立直麻将 Wordle”这个小游戏的时候,我让AI使用的是Unicode中的麻将字符,毕竟有现成的字符总比去找牌的图片要方便,而且实现起来感觉更简单一些。不过用字符确实也会遇到一些问题,我不知道为什么在macOS和Android上其他牌都是黑白的,唯有🀄️是彩色的😅,Windows上使用的Segoe UI Emoji倒都是彩色的,但是牌很丑,像是小学生设计的……虽然不影响玩,但是看着很难受,至少牌的颜色统一一下也好吧?虽然也可以搞出黑白的🀄︎,但如果用这个,在Windows上又成了只有🀄️是黑白的😅。虽然Mahjong Handle是直接用了SVG格式的牌图片,但我觉得应该有现成的麻将字体,像这种问题应该有现成的解决方法才对吧? + 于是我直接问AI有没有这样的字体,AI搜了一下看起来还真有,有个叫做[Mahjong Colored](https://github.com/kfarwell/Mahjong-Colored)就是基于那些SVG做的OpenType-SVG字体,我本来以为问题就会这样解决,然而当我应用了字体之后发现牌的位置变成了白色的方块,貌似只有Firefox才支持这种字体……然而现在谁还用Firefox啊? + 那遇到这种问题怎么办?当然还是让AI解决,它说要在Safari和Chrome上使用彩色字体,用COLR或者SBIX格式比较好,COLR格式的兼容性最好,三个浏览器都能用,而SBIX的话Firefox没法用。不过Firefox既然基本上没人用了,我倒是不太在乎它的兼容性,但我肯定还是更希望能用兼容性更好的方案,于是我把OpenType-SVG字体转换为COLR的工作交给了AI Agent。 + 结果它整了半天也没整出来,貌似是因为SVG的特效太多,没办法转换为COLR格式,于是它选择了SBIX方案,不过COLR存储的是矢量图,而SBIX存储的是位图,大小要大一些,而且放大还会有锯齿。只是目前实在是没办法了,只能用这种格式。 + 最终我把它转换后的字体存了一份到[仓库](https://github.com/Mabbs/Mahjong-Colored-SBIX),但是看着它1MiB多的大小以及不太好的浏览器兼容性,再考虑到它还是位图,实在是不太想在我的游戏里应用它…… + 结果后来我又搜了一下,原来是有现成的麻将字体啊,有个叫做[Mahjong Font](https://github.com/rutopio/mahjong-font)的项目用的就是COLR格式,兼容性非常好,而且大小只有80KiB,算是最完美的解决方案了。垃圾AI给我推荐的Mahjong Colored真的是……浪费了不少时间,看来有的时候自己调查要比问AI好一些吧。 + +# 感想 + 总的来看,目前Vibe Coding的体验确实是相当不错,只是问题也非常明显,完全让AI生成的代码要么实现的不优雅,要么就会出BUG,如果完全不懂要写的东西,纯粹由AI生成,那出问题的概率就非常高了。不过要是看不出来错误,完全被AI忽悠过去了,也许这时候的Vibe Coding在另一方面算是完美吧😂?至少对用的人来说也算是解决了问题呢。 \ No newline at end of file diff --git a/assets/js/main.js b/assets/js/main.js index e926618..ed21874 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -17,6 +17,25 @@ function initVisitors() { } } +function highlightKeyword() { + var match = location.search.match(/[?&]kw=([^&]+)/); + var kw = match ? $.trim(decodeURIComponent(match[1].replace(/\+/g, ' '))) : ''; + if (!kw) return; + + var reg = new RegExp('(' + kw.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi'); + var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; + + $('section, section *').not('script, style, textarea').contents().filter(function () { + return this.nodeType === 3; + }).each(function () { + var escapedText = this.nodeValue.replace(/[&<>"']/g, function (m) { return escapeMap[m]; }); + var highlighted = escapedText.replace(reg, '$1'); + if (escapedText !== highlighted) { + $(this).replaceWith(highlighted); + } + }); +} + $(function () { (function () { var $backToTopTxt = "返回顶部", $backToTopEle = $('
').appendTo($("body")) @@ -42,6 +61,7 @@ $(function () { }); console.warn("Mayx may already be Dead"); } + highlightKeyword(); }); function getSearchJSON(callback) { diff --git a/assets/js/main_new.js b/assets/js/main_new.js index a6c10c6..c697391 100644 --- a/assets/js/main_new.js +++ b/assets/js/main_new.js @@ -1,22 +1,3 @@ -function highlightKeyword() { - var match = location.search.match(/[?&]kw=([^&]+)/); - var kw = match ? $.trim(decodeURIComponent(match[1].replace(/\+/g, ' '))) : ''; - if (!kw) return; - - var reg = new RegExp('(' + kw.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi'); - var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; - - $('section, section *').not('script, style, textarea').contents().filter(function() { - return this.nodeType === 3; - }).each(function() { - var escapedText = this.nodeValue.replace(/[&<>"']/g, function(m) { return escapeMap[m]; }); - var highlighted = escapedText.replace(reg, '$1'); - if (escapedText !== highlighted) { - $(this).replaceWith(highlighted); - } - }); -} - function initCopyButtons() { $('.copy').remove(); $('div.highlight').each(function () { @@ -33,6 +14,5 @@ function initCopyButtons() { } $(function () { - highlightKeyword(); initCopyButtons(); }); \ No newline at end of file diff --git a/index.html b/index.html index a46550c..7c02469 100644 --- a/index.html +++ b/index.html @@ -67,6 +67,7 @@ image: https://screenshot.mayx.eu.org/
Mayx的公开服务
凯露&危险生存( CHS | JA | KO )
+ 立直麻将 Wordle
Brainfuck可视化演示
留言板
Links