在使用 BroadcastChannel 项目将 Telegram 频道内容展示为博客时,我发现其界面设计与我的审美不太契合,图片比例失调,部分可获取的内容未能显示,页面颜色和动画效果也不尽如人意。因此,我决定开发一个新的项目,既复刻其核心功能,又满足我对美学的追求。
项目简介
TelegramChannel-become-blog 是一个基于 PHP 8.3 开发的项目,旨在将 Telegram 频道内容自动抓取并以博客形式展示。该项目无需 Bot 或 API Key,适合用于频道内容的归档和展示。
主要功能
- 自动抓取频道内容:无需 Bot 或 API Key,直接获取公开频道的内容。
- 标签筛选:支持通过标签快速筛选帖子。
- 外链预览:自动为正文中的外部链接生成网页摘要预览。
- 图片灯箱:支持多图轮播、点击放大和键盘切换。
- 自适应界面:在手机和桌面设备上均有良好显示效果。
- 每日访客统计:本地简单实现每日访客统计功能。
项目结构
路径 | 说明 |
---|---|
index.php |
主页,主逻辑页面 |
config.php |
配置文件(频道、缓存等) |
fetcher.php |
Telegram 内容抓取与解析 |
assets/style.css |
样式文件 |
assets/script.js |
前端交互脚本 |
cache/ |
缓存与统计文件目录(需可写) |
部署
- 环境要求:
- PHP 7.2 或以上(我用的是8.3)
- 支持
file_get_contents
远程访问 - 可写权限的
cache/
目录
- 下载源码:
git clone https://github.com/zhuchenyu2008/TelegramChannel-become-blog.git cd TelegramChannel-become-blog
- 配置:编辑
config.php
,填写你的频道名(不带 @),可调整抓取数量和缓存设置。 - 部署:将项目部署到支持 PHP 的服务器上,确保
cache/
目录具有可写权限。
动画
在界面设计方面,我采用了简洁的配色方案和流畅的动画效果,确保图片比例协调,内容展示清晰。相比原项目,整体视觉效果更加美观,提升了用户体验。
开源与反馈
该项目已在 GitHub 开源,欢迎大家使用、提出 issue 或贡献代码:
如果你也希望将 Telegram 频道转化为美观的博客展示页面,欢迎尝试本项目,并提出宝贵意见。
发表回复