EaglePress:抛开框架,直接上手建站
代码越少,控制越多
现代网页开发里有个挺有意思的矛盾。我们总说要用“轻量”框架和“极简”工具,结果项目里却塞满了各种依赖包。连一个简单的博客,都可能拉进一整套应用服务器、ORM、模板引擎和中间件——这些东西大部分你压根不会用到。
EaglePress 反其道而行。它用纯 Python 3 写成,完全没套框架。代码直奔本质:一个 CGI 路由器,几行干净的 SQL,还有一个让开发者真正能掌控的主题引擎。
为什么选择极简
从技术角度看,EaglePress 有几点特别值得说。
没有框架依赖。 整个程序就一个 index.py 文件。想加功能?直接打开文件看就行。想弄明白认证怎么实现?不用翻 Django 的中间件文档,代码就在眼前。对做安全审查和自定义修改的人来说,这点优势很大。
SQL 完全可见。 每条数据库查询都写得清清楚楚,而且是参数化的。不会像 ORM 那样在背后生成一堆你看不懂的 SQL。如果你运行的是对安全要求高的博客,或者需要展示合规性,这点就特别重要。
部署简单。 整个包只有 325 KB。不用配虚拟环境,不用解决 pip 依赖冲突,也不用搞容器化。只要服务器支持 CGI,把它丢到 Apache 或 Nginx 上,几分钟就能跑起来。
这种做法不是给所有人准备的。它主要面向那些把透明度和可维护性放在第一位的开发者和小团队。
真正有用的功能
极简不等于功能残缺。EaglePress v1.93 已经带了不少实用特性。
一键自动更新。 带 SHA-512 校验。后台会提示新版本可用,点击一下就能完成下载、校验、解压和部署,还包括数据库迁移,全程不用碰命令行。对非技术背景的站长来说,这很实用。
主题市场集成。 支持在线预览、评分,还能直接从管理后台一键安装。目前自带五个主题,其中 NewsTheme 是新闻杂志风格,支持暗黑模式、颜色方案和滚动新闻。还有 ModernTheme 等主题可供选择。
插件系统。 有一个可浏览的仓库。第一个上线的插件是“投票与统计”,能嵌入互动投票,支持按州显示投票结果,还能延迟显示结果。
Markdown 编辑器。 设计贴合写作习惯。自动保存每两秒一次,生成草稿。支持标签切换预览,还有包含 1500 多个表情的分类表情选择器。还支持自定义 slug。
原生语法高亮。 支持 12 种编程语言和 11 种颜色主题。完全服务器端渲染,没有 CDN 依赖,也没有第三方 JavaScript。自动语言检测基于评分,你也可以通过内<|eos|>