LanternPress报纸复古风

/ 2026-09-18/0/ 编辑


LanternPress 一款经典报纸复古风 Typecho 主题.webp

LanternPress

LanternPress 是一款经典报纸复古风 Typecho 主题,基于 LanternTown 二次开发。内置文章点赞、阅读量统计、目录树、模态框搜索、跟随系统主题色、归档 / 友链 / 标签云三大独立页面模板,支持瀑布流加载、图片灯箱、代码高亮复制。性能上实现懒加载、内容缓存、数据库优化;安全上配备 CSP、HSTS、XSS 防护与接口速率限制。适配 PHP 8 与 Typecho 1.2.0+,全站响应式布局。

演示

在线预览

下载

功能特性

视觉与主题

  • 经典报纸复古风格设计,5 种主题色可选(复古黄 / 纯白色 / 灰白色 / 暗夜黑 / 跟随系统)
  • 「跟随系统」模式自动根据浏览器/系统深色偏好切换明暗主题
  • 首页图片支持灰白/彩色两种显示模式
  • 响应式布局,适配桌面、平板、手机
  • 移动端导航菜单样式统一,搜索按钮与菜单项风格一致

文章功能

  • 阅读量统计:Cookie 防刷,24 小时内同一文章只计一次
  • 点赞功能:AJAX 无刷新,Cookie 防重复(1 年内不可重复点赞),IP 速率限制防刷
  • 文章目录树:可按文章单独开启/关闭,移动端(≤767px)不加载目录树模块,避免小屏布局错乱
  • 图片灯箱:原生 JS 实现,点击放大查看,支持分组画廊循环、键盘左右切换与缩放,已在链接内的图片不重复包裹
  • 代码高亮:Prism.js 实现,支持行号显示、一键复制、语言标签
  • 段首缩进:文章正文段首自动缩进 2 个字符
  • 图片懒加载:原生 loading="lazy" + IntersectionObserver 双重保障
  • 上下篇导航:复合条件排序,避免时间戳相同时漏篇
  • 文章页增强:版权声明、作者简介、打赏二维码、社交媒体链接、阅读时长估算、字数统计
  • 内容处理缓存:文章内容处理结果数据库缓存,配置变更自动失效,长文章性能提升明显

首页功能

  • 推荐文章轮播:原生 JS 实现(自动播放、触摸滑动、循环切换),支持自定义推荐文章 ID
  • 最新文章列表:支持缩略图、摘要、阅读量、点赞数
  • 两种翻页模式:页码翻页 / 瀑布流加载更多(AJAX 无刷新,15 秒超时保护)
  • 自定义导航菜单:支持 名称|URL 格式,留空自动显示独立页面
  • 模态框搜索:点击「搜索」居中弹出,输入框与按钮主题色统一

评论功能

  • AJAX 无刷新提交:事件委托模式,DOM 替换后无需重新绑定,避免内存泄漏
  • 头像镜像代理:支持 Gravatar 及自定义镜像地址,解决国内访问慢的问题
  • 嵌套评论:支持多级嵌套回复
  • 表单智能填充:autocomplete 属性,浏览器自动填充姓名/邮箱/网址
  • XSS 防护:评论内容统一 HTML 转义,防止存储型 XSS

独立页面模板

  • 归档页:按年份/月份归档所有文章,带文章数量统计,数据自动缓存
  • 友链页:展示友情链接,支持 Markdown 列表格式
  • 标签云:展示所有文章标签,按使用频次显示不同大小

性能优化

  • 图片懒加载:IntersectionObserver 单例实现,避免重复创建 observer 导致内存泄漏
  • 资源预加载:preload / preconnect,加速关键资源加载
  • 数据缓存:归档页文件缓存,文章发布时自动清除
  • 数据库优化:字段操作请求内静态缓存、单条 SQL upsert、推荐文章批量查询
  • 原子递增:阅读量/点赞使用 SQL 原子递增(INSERT ... ON DUPLICATE KEY UPDATE int_value = int_value + 1),避免高并发竞态条件
  • AJAX 片段请求:瀑布流加载更多只请求文章列表片段,减少整页流量
  • 图标缓存:SVG 数组静态缓存,避免重复构建
  • 请求超时:fetch 请求 15 秒 AbortController 超时控制
  • 内容缓存:文章内容处理结果文件缓存(cache/content/{cid}.php),结构版本化失效,不再占用数据库 fields 表
  • 按需加载:Prism 代码高亮仅在正文含代码块/围栏时加载,无代码文章零开销
  • 首屏优化:首屏首张卡片缩略图即时渲染、正文首图 fetchpriority="high",改善 LCP

安全加固

  • 安全响应头:CSP / X-Frame-Options / X-Content-Type-Options / Referrer-Policy
  • HSTS:HTTPS 站点自动启用 Strict-Transport-Security
  • 速率限制:点赞接口 IP 速率限制(10 秒内最多 5 次),flock 文件锁避免并发竞态
  • XSS 防护:全局 HTML 输出转义
  • URL 校验:防止 javascript: / data: 协议注入
  • 目录保护:缓存目录 .htaccess 保护,防止直接访问
  • 可信代理:IP 获取支持可信代理白名单(LT_TRUSTED_PROXY_IPS),防止客户端伪造 IP 绕过速率限制

其他特性

  • 全站国际化_t() / _e() 支持,便于多语言翻译
  • 自定义 CSS/JS:后台直接填写,无需修改主题文件
  • 统计代码注入:支持百度统计、Google Analytics 等
  • 双备案显示:ICP 备案号 + 公安备案号(自动链接至 beian.mps.gov.cn)
  • 返回顶部:平滑滚动按钮
  • 阅读进度条:文章页顶部显示阅读进度
  • 移动端优化:菜单点击链接后自动关闭、目录树浮动按钮、搜索模态框

环境要求

项目最低版本推荐版本
Typecho1.2.01.2.1 / 1.3.0
PHP7.48.0 / 8.1 / 8.2
MySQL5.78.0
浏览器-Chrome / Edge / Firefox / Safari 最新版
本主题已在 PHP 8.2 + Typecho 1.3.0 + MySQL 8 环境下充分测试。

项目地址

https://github.com/muzihome/LanternPress

猜你喜欢