老杨说话的地方
  • 首页
  • 关于老杨
  • 博客时间
  • 文章分类
    • 人工智能
    • 人生感悟
      • 共产主义
      • 能量哲学
      • 自然辩证法
    • 信息技术
      • C#笔记
      • LaTex
      • Linux
      • RIME
      • Ubuntu&Debian
      • WordPress
      • 基于Java的B/S系统构建
      • 开源开发
      • 病毒相关
      • 编程的坏习惯
      • 网上办公系统
    • 往事随风
      • 我在大学那几年
      • 童年趣事
      • 精彩生活
    • 情感随笔
    • 文学创作
      • 小说
    • 生活记录
      • 博士进行中
      • 美国一年
      • 老杨学游泳
    • 评论杂谈
  • 留言本
我是老杨
张驰有度 宠辱不惊
  1. 首页
  2. 信息技术
  3. 开源开发
  4. 正文

简航:极简开源个人导航SimpleNav

2026年11月05日 3点热度 0人点赞 0条评论

我不知道其他人都是怎么管理自己常用网站的。

之前很多人用收藏夹,可是我一直用不惯,一来需要同步,二来点起来很不清晰,我不是很满意。后来导航网站就出现了,比如hao123之类的,可是里面广告太多了。排在前面的都是广告,很多导航网站也不提供自定义功能。

有些人用搜索引擎,就是首页设置成百度,这对我来说,还是不够快。浏览器自带的首页、标签页,简直可以用乱七八糟妖魔鬼怪来形容。

后来我有了自己的服务器,就做了一个html静态页面,把自己的常用网站都放上去,大图标,点击后直达。个人博客、代码库、日历、宝塔面板、NAS、几个常用网盘,还有几篇经常要翻的论文站点。点一下就过去了,比每次输网址、或者在收藏夹里翻找要快得多。

但是静态网站,有一个问题,更新起来比较麻烦,每次我都要进入到服务器,手动修改上面的链接和排序,很多时候事情一多,一懒,就不改了,结果一个页面,好几年也没更新,其实我自己常用的网站,早就更新好几轮了,之前经常访问的,后来就再也不打开了,但是还是占据着导航上宝贵的位置。

后来我干脆自己做了一个面向个人的极简的导航系统。这个东西就是 SimpleNav,中文名叫简航。

本文目录5
  • 1它是什么样的
  • 2为什么不用书签
  • 3几个我特意做的细节
  • 4它不适合谁
  • 5代码和地址

1它是什么样的

一句话:把你的常用网站,按你自己的分类放在一页上,顶部带一个能切引擎的搜索框。

技术上非常土:纯 PHP 加 SQLite。没有 MySQL,没有框架,没有 Composer,也没有 Bootstrap 和 jQuery。整个项目 PHP 三千多行,JS 七百多行,CSS 不到四百行。

我说"土"不是自谦。我是刻意这么选的。导航站这种东西,功能本来就简单,如果为了它去装一个框架、拉一堆依赖,往后每次升级都要跟着处理依赖冲突,实在不划算。现在这个状态,你把它扔到任何一个装了 PHP 的服务器上,改个目录就能跑,几年不管它也不会坏。

数据全部存在一个 SQLite 文件里。备份就是把那个文件拷走,迁移就是换个地方放着。

2为什么不用书签

有人会问,浏览器不是自带书签吗,为什么还要单独搞个网站。

书签的问题在于,它只属于那台机器、那个浏览器。我平时在台式机、笔记本、手机之间来回换,书签就算有同步功能,在新电脑上,也没办法直接使用。

导航站的好处是,它就是一个网址。任何设备打开浏览器输同一个地址,看到的都是同一套东西。手机上加到主屏,点开就是自己的常用站,跟装了个 App 差不多。

还有一点,导航站是可以分享的。我把家里的 NAS、日历、家书这些入口都放在上面,家里人用手机打开同一个地址,也能直接点进去,不用我一个个教他们记域名。

3几个我特意做的细节

做这个东西的过程中,有几个地方我花的时间比预想的多,写出来给有兴趣的人看。

图标。 加一个网站的时候,它会先去访问那个网址,把标题抓回来当名字,然后按清晰度从高到低的顺序去找图标:先看网站自己的 manifest 里有没有 512 的大图标,再看 apple-touch-icon,再看页面里声明的 icon,最后才是根目录那个 favicon.ico。找到之后统一压成 128×128 的 PNG 存在本地。

为什么要存本地?因为直接引用对方网站的图标地址,一旦对方改版或者挂了,你的导航页上就是一排破图。存本地虽然占点空间,但页面永远是完整的。

自定义过的图标不会被覆盖。 后台有个"一键全部更新",用来批量刷新所有网站的名称和图标。但有些图标我是不满意的,自己手动传了一张,这时候一键更新就会把我的图冲掉。所以我加了个标记:只要你手动设过图标,这个网站的图标就加到保护名单里,一键更新只刷名称,不碰图标。

排序是固定的,新加的一律在最后。 这个听起来理所应当,但实现上有个坑。早先我是用"交换相邻两条的排序号"来实现上移下移,结果问题来了:历史数据里存在排序号重复的记录,交换两个相同的数字等于什么都没干,排序就退化成按 id 排。表现就是"我排好的顺序,过两天自己乱了"。

后来改成稀疏排序:新增的条目,排序号直接取"同组最大值加 1000",天然排在最后;拖动调整的时候,把整组的顺序号重排成 1000、2000、3000……这样任意两条之间都留着空隙,以后再插也不会挤。

顺带把排序改成了拖拽。原来只有上移下移按钮,网站多了以后一条一条点太难受。现在按板块分标签页,每个板块单独拖,松手自动保存。

页面不会被缓存住。 我一开始被这个问题烦了很久:后台改完设置,前台刷新还是旧的。查下来是服务器上装了页面缓存,它不认 PHP 发的 no-store,只认一个特定的 cookie。最后是在 .htaccess 里从请求侧把那个 cookie 注入进去才解决的。这类问题不自己踩一遍,很难想到。

4它不适合谁

说完好的,说点不好听的。

这东西是单管理员的。也就是说,它只适合一个人用,或者一家人共用一个。它没有多用户注册、没有权限体系、没有社交功能。如果你想要的是一个可以给很多人开账号、还能互相评论的导航站,那它不合适,你该去找那些正经的导航 CMS。

它也不做内容抓取、不做推荐。上面有什么,完全是你自己加进去的。它不会猜你想看什么,也不会给你推热门链接。

还有,它是给"有点技术基础"的人用的。部署本身不难,上传、改权限、打开页面初始化,几分钟的事。但如果你完全没碰过服务器,用云笔记或者浏览器书签可能更省事。

5代码和地址

完全开源,代码不加密,也没有任何统计和后门。

开源地址:https://code.yangyq.net/laoyang/SimpleNav

我自己的线上演示版本:https://n.yangyq.net/

需要说明的是,我那个线上版本里放的是我自己的链接,你打开会看到一堆跟你没关系的东西,包括内网地址和后台入口。看看长什么样就行,别照着抄。
想自己部署的话,把代码拉到服务器上,保证 PHP 有 SQLite 扩展,目录可写,浏览器打开首页就会跳到安装向导,填个站点名和管理员账号就完事了,数据库文件会自动建好。装完之后安装程序会自己删掉,不用你手动处理。

如果你在用的过程中发现什么问题,或者有什么想加的,可以在博客下面留言,也可以通过反馈系统提交:https://feedlite.yangyq.net/index.php?sw=simplenav

另外,页面最下面也放了「开源」和「反馈」两个链接,随时可以点过去。

我做这个东西没别的目的,就是自己要用。如果刚好也能帮到你,那挺好。

标签: SimpleNav 代码 导航 开源 打开 更新 服务器 浏览器 网站
最后更新:2026年11月05日
老杨

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

点赞

评论

写下你的评论

还没有评论,来说第一句吧。

发表评论

选择代码语言
选好后在光标处插入代码块,把示例文字换成你的代码即可。

老杨

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

搜索
最新 热点 随机
简航:极简开源个人导航SimpleNav 关于机器人的发展 遥遥领先 开源密码生成工具SimplePassword 痛苦根源 同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端) 别成为AI的奴隶 给阿嬷的情书 信息焦虑综合症 PUA
为多用户安装Anaconda及其使用方法WordPress主题发布:kratos_YangLaTex中上划线\overline和\bar的使用说明LaTex中设置字体的正确方法那一年,2009使用Windows7自带Windows Media Center播放RMVB影片幼儿园:回味童年童年趣事之气门芯这几天的事儿无插件实现WordPress留言本
CentOS7升级GCC4.9.3 你快乐吗 面临考试 为你好 爱之茫然 为多用户安装Anaconda及其使用方法 无知者无畏 天生骄傲着默默前行 昨天de夜宴 WordPress插件WP-Editor.md代码语法无法高亮问题的解决方案
最近评论
  • 感谢支持。可以买个鸿蒙设备玩玩
    老杨·2 周前·同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)
  • 没有鸿蒙设备,吆喝一声支持老杨的产品
    乱云/Akay·2 周前·同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)
  • 先从减少手机使用时间开始。
    shanshan·2 月前·信息焦虑综合症
  • 所以必须得自己下定决心痛改前非,而不是跟自己讲条件。
    shanshan·2 月前·第二青春计划失败
  • 这种平台挺多的,但是应该没啥用,能有啥情绪价值比躺着刷手机更好呢?
    老杨·2 月前·第二青春计划失败
  • 已经遇到了,额外支付了170,托运登机行李,还不是托运行李。
    老杨·2 月前·春秋航空让人长见识
  • 那很好,恭喜你
    老杨·2 月前·PUA
  • 可以尝试改变。
    老杨·2 月前·信息焦虑综合症
  • 现在很多人离开AI已经不知道怎么工作了。
    老杨·2 月前·别成为AI的奴隶
  • 建议开发一个适合P人的工作生活计划平台,完不成没什么惩罚、但是完成了有大大的情绪…
    shanshan·2 月前·第二青春计划失败
  • 还有部分机型里20寸箱子应该上不了机,且没有免费行李托运额度。托运费超贵!
    shanshan·2 月前·春秋航空让人长见识
  • 这个世界精致利己主义者太多啦!
    shanshan·2 月前·人的悲喜并不相通
文章分类
选择分类
  • 人工智能13
  • 人生感悟121
    • 共产主义1
    • 能量哲学12
    • 自然辩证法12
  • 信息技术235
    • C#笔记6
    • LaTex12
    • Linux18
    • RIME4
    • Ubuntu&Debian21
    • WordPress1
    • 基于Java的B/S系统构建10
    • 开源开发3
    • 病毒相关3
    • 编程的坏习惯4
    • 网上办公系统9
  • 往事随风41
    • 我在大学那几年18
    • 童年趣事12
    • 精彩生活5
  • 情感随笔113
  • 文学创作69
    • 小说68
  • 生活记录220
    • 博士进行中6
    • 美国一年22
    • 老杨学游泳4
  • 评论杂谈169
关注公众号

COPYRIGHT © 2026 老杨说话的地方. ALL RIGHTS RESERVED.

THEME KRATOS YANG Modified BY 老杨

鲁ICP备17014997号-4

鲁公网安备 37021302000754号

本文目录5
  • 1它是什么样的
  • 2为什么不用书签
  • 3几个我特意做的细节
  • 4它不适合谁
  • 5代码和地址