作品 NO.36 1.9k 字

我给 Typecho 写了个猫系主题「喵~」,后台设置比代码还长

说起来也没啥特别的理由,就是某天晚上折腾服务器折腾到半夜,突然觉得市面上的 Typecho 主题要么太重,要么样式十年如一日。我寻思,我自己做网站,PHP 也撸了不少,为啥不自…

评论 0 回首页 admin 亲爪打字 · 6 min

说起来也没啥特别的理由,就是某天晚上折腾服务器折腾到半夜,突然觉得市面上的 Typecho 主题要么太重,要么样式十年如一日。我寻思,我自己做网站,PHP 也撸了不少,为啥不自己搞一套?

::tip 于是就有了「喵~」
::

1-compress.jpg
2-compress.jpg
3-compress.jpg

这不是那种"套个 HTML 模板就完事"的主题。光 functions.php 就拆成了 7 个模块文件@@(helpers、live2d、cards、prose、comments、settings、editor)@@,加载时挨个 require_once,少一个文件后台直接白屏——所以宁可跳过缺的那个,让报错停在真正用它的页面上。

目前没打算开源,就自己用着。毕竟是自己的一亩三分地,想加个暗黑模式就加,想改个布局就改,不用考虑兼容别人的环境,也不用写一堆文档,这种"我的地盘我做主"的感觉才是折腾的乐趣所在。

下面是一份不完全功能清单,给自己留个底,也给路过的人看看这主题到底塞了多少东西。

🌙 外观 · 白天与黑夜

暗黑模式不是简单的反色,而是整套配色翻面——卡片、正文、代码块、相册大图层全跟着走。后台有三个档位:跟随系统、始终白天、始终黑夜。还可以单独开一个开关,让访客自己切:侧栏站名右边会多出一颗日/夜小图标,点一下就换配色,选择记在他浏览器里一年有效。关掉这个开关,那颗按钮立刻消失,所有人回到你设的默认档。

▦ 卡片 · 网格 / 列表,两种看法

首页默认排成封面墙(5 列,可改 4 列),也可以设成列表(一行一张带摘要)。访客自己切换过一次之后,就按他自己的选择存 localStorage,这里只管第一次进来的人。卡片右下角的 NO.01 编号、阅读时长估算(N min)、封面自动取正文第一张图(代码块里的和回复可见锁着的都不算)——全是后台一键开关。

📝 后台 · 编辑器增强

开了 editorPlus 之后,写文章页面会多一行 Markdown 按钮、实时字数与阅读时长、Tab 缩进、Ctrl+S 存草稿、本机草稿备份,预览还套用前台的排版。关掉就回到 Typecho 原来的样子。改完要刷新编辑页。

每篇文章还能单独设自定义字段:封面 emoji(一个 🐈 就行)、封面配色(7 种预设:阳光黄、珊瑚红、薄荷绿、天空蓝、葡萄紫、泡泡粉,或者自动)、封面图片(填地址或点旁边"传图"按钮直接传)。相册页用 photos 字段,每行一张:地址|说明|宽/高|参数,整段 JSON 也认。下载地址用 download 字段:名称|链接|说明,填了正文下面自动长出下载卡片。

🐾 桌宠 · 右下角的猫(Live2D)

后台开 live2dPetOn,右下角就蹲一只猫。鼠标靠近它会看过来,点一下换表情,按住能拖走,右键(手机长按)出菜单——喂小鱼干、转两圈、换一只或让它躲起来。第一次进站的访客它会主动打招呼,一次会话只说一次。手机窄屏不会自动加载,访客点了小按钮才出来,不浪费流量。模型列表从 mzLive2dModels() 里读,后台可以设默认猫咪。

🗂️ 侧栏模块 · 想藏就藏

标签云(最多 24 个)、按月归档(最多 12 个月)、博客统计(文章/分类/评论/页面各多少)、独立页面入口(排在分类下面)、探索插件入口(没装不显示)、友情链接(一行一条:名称|网址|一句话介绍,新建页面选 LINKS 模板就排这份数据)。每个模块都能单独开关。

🔧 其他零碎但好用的东西

侧栏大标题用 | 分开两行,比如 喵星折腾|灵感画廊

LOGO 可以换图,方图最好看,侧栏 34px 见方,手机顶栏缩到 26px;浏览器标签页 ICO 也跟着走

搜索框提示语自定义,侧栏小搜索和搜索页大搜索共用

详情页顶部阅读进度线,只在长页出现

版权声明自定义,支持 {year} 和 {title} 变量,页脚文字一行一条,整块清空就只剩备案号

开站时间、更新频率随便写,博客统计里用

做主题这事儿吧,跟撸代码一样,最爽的不是写完的那一刻,而是你每天打开自己的博客,觉得"嗯,这味儿对了"的时候。后台那几十个开关,每一个都是某个深夜"我觉得这里应该能调"的产物。

::note 下次打算加个什么功能呢?看心情吧。
::

本文由喵总原创,采用 CC BY-NC-SA 4.0 发布。转发请带上原文地址,别只截走图片。

评论区

暂无评论

还没有一条评论。沙发是喵总的,但它今天不在家。

留个爪印

直接写就好,换行会保留。邮箱不公开,只用来接收回复。

按 Ctrl + Enter 也能提交 0 字