Printer 是一款仿打印纸 / 复古设备面板风格的 Typecho 主题,复刻自 NOOC 的视觉方向并移植到 Typecho。主题支持黑暗模式、中文网字计划、自定义颜色、自定义背景、第三方统计代码注入、社交链接和移动端适配。
- 复古打印纸视觉:网格背景、纸张横线、拟物按钮和设备面板式顶部栏。
- 日夜模式:前端切换并通过
localStorage记忆用户偏好。 - 中文字体支持:可接入中文网字计划等第三方字体 CSS,并按范围应用字体。
- 首页信息区:展示最新文章、随机阅读入口和分类列表。
- 文章页体验:分类标签、发布日期、预计阅读时长、阅读进度条、上一篇 / 下一篇导航。
- 评论区:适配 Typecho 原生评论、分页和登录态。
- 访问统计:主题内置统计已移除,统一改由第三方统计平台实现(在后台粘贴统计代码即可注入页面底部)。
- AI 可读内容出口:在首页和文章页输出 Schema.org JSON-LD,并提供
LLM.phpMarkdown 索引页面模板(部署为/llms.html);配套插件 Printerllm 还可生成遵循 llmstxt.org 规范的根目录/llms.txt静态文件。 - 社交链接:支持 GitHub、Twitter / X、微博、邮箱和 RSS。
- 响应式适配:覆盖手机、横屏移动端、平板、触摸设备和减少动画偏好。
- 将本主题目录上传到 Typecho 站点主题目录。
- 默认路径:
/usr/themes/ - 示例路径:
/usr/themes/Printer/
- 默认路径:
- 登录 Typecho 后台,进入 控制台 → 外观。
- 启用主题 Printer。
- 进入 设置外观 → Printer,按需填写主题配置。
index.php:主题信息、首页、归档页、分类页、标签页和搜索结果列表。post.php:文章详情页。page.php:独立页面详情页。archive.php:复用index.php输出归档类页面。comments.php:评论列表和评论表单。header.php:公共头部、导航、搜索、日夜模式按钮、自定义字体和背景变量。footer.php:公共页脚、社交链接和前端交互脚本。LLM.php:AI 可读 Markdown 内容出口页面模板(通过新建独立页面渲染/llms.html)。functions.php:主题入口,加载inc/子系统,定义配置项(themeConfig)和公共工具函数(URL 清洗、文本处理、随机文章等)。inc/llm.php:LLM 可读内容子系统(/llms.html页面渲染、文章 / 页面 / 分类 URL 构造)。inc/schema.php:Schema.org 结构化数据子系统(首页与文章页 JSON-LD)。404.php:404 页面。css/style.css:主题样式。screenshot.png:主题预览图。Printerllm/:配套插件源码目录,用于生成根目录静态llms.txt,详见下方「配套插件 Printerllm」。
- Logo 图片:填写图片链接后替换左上角圆形图标。支持常见图片格式,建议尺寸 100 × 100 像素。
- 网站名称:显示在 Logo 旁边。留空时使用 Typecho 后台站点标题。
- 网站副标题:显示在网站名称下方。留空时使用 Typecho 后台站点描述。
- 浏览器标签页图标:填写 favicon 图片链接。
- 页脚版权文字:显示在页面底部。留空时显示
© 年份 网站名称。
- 随机阅读范围:限制首页“随机阅读”只从指定分类中选取文章。填写分类别名,多个分类用英文逗号分隔,例如
life,tech。留空时从全站已发布文章中随机。 - 阅读时间估算:控制文章页是否显示预计阅读时长。
- 结构化数据 JSON-LD:控制是否在首页和文章页输出 Schema.org JSON-LD。
- 站点 AI 摘要:用一两句话说明本站主题、内容范围和适合回答的问题。留空时使用 Typecho 站点描述。
- 发布者名称:用于结构化数据中的
publisher.name。留空时使用网站名称。 - 发布者 Logo:用于结构化数据中的
publisher.logo。留空时使用 Logo 图片配置。 - LLM 页面出口:控制
LLM.php页面模板是否输出机器可读 Markdown 索引(即/llms.html)。 - LLM 出口标题:显示在 Markdown 索引顶部的标题。
- 推荐读取说明:告诉 AI 应该如何读取本站内容。留空时使用主题默认说明。
- 适合回答的问题:说明本站内容适合支持哪些问题或任务。
- 不提供内容说明:说明哪些内容不建议 AI 当作知识来源,如评论区、后台页面、动态统计等。
- 引用说明:说明 AI 或用户引用本站内容时应如何署名和附链接。
- 最近文章数量:控制 LLM 页面输出的最近文章数量,建议 10-50。
- 文章输出模式:可选择仅标题链接、标题链接和摘要、包含正文摘录。
- 包含分类列表 / 独立页面:控制是否在 LLM 页面输出分类和独立页面入口。
- RSS 地址 / 站点地图地址:输出到 LLM 页面中的机器发现入口。
当前版本会在首页输出 WebSite、Blog 和 SearchAction,在文章页输出 BlogPosting。
主题的 LLM.php 模板用于生成 AI 可读的 Markdown 内容页面(通常部署为 /llms.html):在 Typecho 后台新建一个独立页面,选择 LLM.php 模板,并把页面地址填入主题设置的「LLM 页面地址」即可。
根目录的 /llms.txt(遵循 llmstxt.org 规范的静态文件)由配套插件 Printerllm 生成,见下方「配套插件 Printerllm」。
- 中文字体 CSS 链接:填写中文网字计划或其他字体服务提供的 CSS 链接。主题只接受
http/https链接。 - 中文字体名称:填写 CSS 中声明的
font-family。包含空格时可以写成"LXGW WenKai"这类形式。 - 字体应用范围:
- 仅文章内容(推荐)
- 纸张区域(含列表页)
- 全站所有文字
- 外部链接颜色:文章中指向外部网站的链接颜色,默认
#ff6b35。 - 文章分类颜色:文章详情页顶部分类标签颜色,默认
#ff6b35。 - 自定义背景图:填写背景图片链接。主题只接受
http/https链接。 - 黑暗模式背景压暗强度:控制黑暗模式下背景图遮罩强度,范围
0到1,默认0.65。
- 网站统计代码:粘贴第三方统计平台脚本(如 Google Analytics、百度统计、Umami、Plausible),主题会原样输出在页面底部。
主题不再内置站内访问统计(无建表、无 Session、无 Cookie 打点、不发防缓存头),因此可以放心对全站启用静态缓存和 CDN。
- GitHub:填写 GitHub 主页链接。
- Twitter / X:填写 Twitter / X 主页链接。
- 微博:填写微博主页链接。
- 邮箱:填写联系邮箱地址。
- RSS 订阅地址:填写 RSS 链接,例如
/feed/或完整 RSS URL。 - LLM 页面地址:填写
LLM.php模板对应的页面地址(如/llms.html),支持站内相对地址或完整 URL。填写后会像 RSS 一样在页面<head>和页脚图标中输出text/markdown发现入口。
对应字段留空时,页脚不会显示该社交图标。
- 顶部搜索按钮首次点击会展开搜索框,再次提交时执行 Typecho 站内搜索。
- 日夜模式按钮会把偏好保存到浏览器本地。
- 文章阅读进度条只在文章内容足够长时显示。
- 返回顶部按钮会在页面向下滚动后出现。
- 首页“随机阅读”会尽量避开最新文章,避免两个入口指向同一篇。
- 要生成 AI 可读的
/llms.html页面:在 Typecho 后台新建独立页面,选择LLM.php模板,并把页面地址填入“LLM 页面地址”。要生成根目录/llms.txt静态文件,请安装配套插件 Printerllm(见下方)。
主题的 LLM.php 模板渲染的是一个动态 Markdown 页面(通常部署为 /llms.html)。而遵循 llmstxt.org 规范的根目录 /llms.txt 静态文件,由配套插件 Printerllm 在发布 / 编辑文章时自动生成。
LLM.php 模板(主题内置) |
Printerllm 插件 |
|
|---|---|---|
| 产物 | /llms.html 动态页面 |
/llms.txt 静态文件(可选 /llms-full.txt 全文版) |
| 触发 | 用户访问页面时实时渲染 | 发布 / 编辑 / 删除文章时钩子触发,写入静态文件 |
| 规范 | 自定义 Markdown 格式 | 严格遵循 llmstxt.org |
| 关系 | 互不冲突,可同时使用 | 同上 |
- 把主题目录下的
Printerllm/文件夹复制到 Typecho 插件目录:/usr/plugins/Printerllm/。 - 登录 Typecho 后台,进入 控制台 → 插件。
- 启用 Printerllm,进入插件设置配置文章数量等选项。
- 启用后会在 Typecho 根目录生成
llms.txt;后续每次发布 / 编辑 / 删除文章会自动更新。
插件依赖主题
functions.php中的 URL 构造与文本清洗函数(printerPaperLlm*/printerPaperMarkdown*)。即使主题未加载,插件也会自动加载并降级为自包含查询,不影响插件本身运行。详细说明见Printerllm/README.md。
- 主题依赖 Typecho 原生模板接口和数据库接口。
- 自定义字体 CSS 和自定义背景图建议使用稳定的 HTTPS 链接。
- 主题已移除站内访问统计子系统(不再创建
printer_visit_stats表、不再启动 Session 或写入统计 Cookie),全站可安全启用 CDN / 页面静态缓存。如需清理历史遗留的统计表与配置,参见下方「站内统计数据清理(可选)」。 - 若从旧版本升级,后台原有的「访问统计 / 初始总访问量 / 今日初始访问量 / 访问计数增量」配置项将不再显示,已保存的值会作为孤儿数据保留在 Typecho options 表中(不影响运行)。
主题移除站内统计后,数据库中可能仍残留历史数据。如需彻底清理,请先备份数据库,再执行以下 SQL(将 typecho_ 替换为你的实际表前缀):
-- 删除统计表
DROP TABLE IF EXISTS `typecho_printer_visit_stats`;
-- 删除后台遗留的统计配置项
DELETE FROM `typecho_options` WHERE `name` IN (
'enableVisitStats',
'siteVisits',
'todayVisits',
'visitIncrement',
'printerLastBaseTotal',
'printerLastBaseToday',
'printerLastBaseDate'
);执行后建议在 Typecho 后台 控制台 → 数据 → 清理缓存(如有)或刷新主题设置页确认配置项已重置。
