当代码邂逅AI:我的Typecho主题诞生记

与AI的初次碰撞

作为一个完全业余,对代码只知其一不知其二的野生开发者,每次要制作自己的模板都感觉是一个巨大的工程,不是在社区里面啃说明,就是到处搜到处copy。直到上个月我在升级Typecho到1.3之后我原有主题有部分已经不适配了,又得修代码了。偶然就想到最近经常刷到公众号各种推荐Qwen3.6的编程能力,我乘着摸鱼之时抱着试试看的心态,将"极简博客主题"的描述输入AI工具:博客是Typecho1.3版本、要极简风格、要自适应网页大小适配移动端……

没想到短短几分钟,它竟直接吐出了完整的HTML/CSS框架并显示了首页的完整预览。那些曾让我抓耳挠腮的css,在AI生成的代码里竟被优雅地化解。

让AI自己进行适配typecho模板

当然,AI生成的页面并非完美,只能作为html静态展示用,而我需要嵌入到typecho的程序中。因此我将Typecho默认主题的结构文件以及作用全部发给它,让它依照默认主题的风格适配,它开始咚咚咚思考......,很快它就将每个php文件代码都列出来,让我复制它的代码新建对应模板的php文件。虽然它没办法直接输出模板文件,但这种方式对于完全不懂代码的人来说也是完全可以做到。并且这里还有个有趣的地方,它自己生成了模板的名字叫《Minima》,大意就是极简的意思。

尝试运行 激动ing

怀着激动的心情,很快我就手动将模板的php和css文件整理好并上传到我的模板目录中,并到后台设置模板。正当我满怀期待的点击启用时,后台模板设置页面突然就出现500错误。因此我对代码进行检查,发现functions.php函数文件中不少语法和typecho1.3不兼容,使用了typecho早期的语法。因此我再次到Qwen反馈错误情况,并再次告知我的版本是typecho1.3。

它理解问题后很快就重新进行代码修改,我作为工具人再次搬运更新代码,这回终于可以正常启用,但页面还是有不少缺陷,例如css错位、直接在页面输出html标签等问题,且文章页、分类页等部分页面依旧出现了500错误。因此我打开了DEBUG,逐一检查错误代码和位置。发现大多数还是代码的兼容性问题。我想可能AI对于typecho这个程序的理解都来自于互联网,喂养的数据有很大一部分是老版本的语法,甚至连typecho官网的文档中也存在历史老旧代码的演示,新版本并没有更新说明文档,因此ai生成时使用了老旧的语法,导致和现有版本不匹配造成的错误。

AI和人类共舞

在这个过程中,我感受到ai虽然还有不少不完美的地方,比如由于大模型学习到的资料可能较老,体现了它的对某段老版本语法的偏执。错漏频出,但当我告知它新的写法之后,它又可以很自然按照我告知的方式重新进行思考并输出。逐步排查完错误后,经历很多次重复和ai的沟通,搬运代码,以及人工修复后,大部分问题都已经得到了解决。

给AI的模板注入人类的温度

AI生成的这套Minima简约模板,是实实在在的简约,正如我一开始给的指令“极简博客主题”,功能上多少有一些缺陷。就如首页的留言区域只显示了评论者名字,我手动修改为输出头像和评论内容;它设计的文章卡片间距过大,我偷偷减少了15px;它设计的评论区域没有了typecho的嵌套评论格式,我将其适配成原生的typecho嵌套评论格式。

有趣的是,我在这次修复的过程中,对Gravatar头像进行重新的处理,增加了自己的cdn,让没有Gravatar的用户显示基于邮箱哈希的卡通头像,然后在模板设置中增加了一些自定义功能。这大概就是创作的乐趣——在AI搭建的骨架上,注入属于人类的温度。

邀请您体验

现在,这个极简风格的主题,终于正式登陆我的博客了。如果你此刻访问兔子君的blog
您可以看到这个卡片风格,首页只有作者简介,文章卡片只有标题与字摘要,点击才展开全文;评论区保留了typecho的嵌套格式,头像与文字保持着完美的黄金比例间距;移动端菜单收缩成一个按钮,点击时才如宣纸般展开;

这不是多么完美的设计,却是我与AI共同孕育的第一款typecho主题。它或许功能还不多,还不够漂亮,但我知道当技术能替代重复劳动时,我以后更该去利用好AI,创造出更好玩的东西。

点击minima.zip下载主题源码,可直接使用,也欢迎二次开发。
体验后在评论区告诉我你的体验噢,也欢迎带着你的Gravatar头像来体验留言评论(没有头像也会收获惊喜)。