惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Security Latest
Security Latest
P
Palo Alto Networks Blog
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Latest news
Latest news
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
J
Java Code Geeks
P
Privacy International News Feed
阮一峰的网络日志
阮一峰的网络日志
S
Schneier on Security
博客园 - 聂微东
Project Zero
Project Zero
美团技术团队
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Scott Helme
Scott Helme
I
Intezer
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
S
Security @ Cisco Blogs
博客园 - 司徒正美
O
OpenAI News
Last Week in AI
Last Week in AI
L
LINUX DO - 热门话题
酷 壳 – CoolShell
酷 壳 – CoolShell
SecWiki News
SecWiki News
月光博客
月光博客
S
Security Affairs
The GitHub Blog
The GitHub Blog
P
Privacy & Cybersecurity Law Blog
S
Secure Thoughts
V
V2EX
S
Securelist
F
Fortinet All Blogs
W
WeLiveSecurity
D
Docker
博客园 - 三生石上(FineUI控件)
Simon Willison's Weblog
Simon Willison's Weblog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Visual Studio Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Engineering at Meta
Engineering at Meta

枫林灯语

JustWrite:只要写,就行了 - 枫林灯语 每日牢骚:便宜宾馆历险记 - 枫林灯语 生活碎碎念:镜花水月里的 Cosplay(续) - 枫林灯语 Typecho 内置的反垃圾评论功能,尚能饭否? - 枫林灯语 分析 Nginx 访问日志,在里面挖点宝 - 枫林灯语 生活碎碎念:镜花水月里的 Cosplay - 枫林灯语 网站缓存好是好,权衡利弊更重要 - 枫林灯语 生活碎碎念:小城大梦(续) - 枫林灯语 谨慎处理 img 统计像素的几个问题 - 枫林灯语 别让 AI 拿走你的缩影 - 枫林灯语 泰国 245MHz:谨慎购买『红色外壳对讲机』 - 枫林灯语 430MHz 频段:网红对讲机是如何给你埋陷阱的 - 枫林灯语 巧借天工来降温:水蒸发制冷篇 - 枫林灯语 请尽量让你的域名在你手上 - 枫林灯语 生活碎碎念:小城大梦 - 枫林灯语 各色 AI 极地大冲击 - 枫林灯语 巧借天工来降温:通风冷却的那些事 - 枫林灯语 生活碎碎念:如何绘制清明拜山图 - 枫林灯语 IPv8:也许是一场迟来的梦 - 枫林灯语 别了,房间里的老空调 - 枫林灯语 房间里那台不给力的空调 - 枫林灯语 2026 年的第一场空调 - 枫林灯语 生活碎碎念:考试已毕,下大雨,木头窗户,弹珠区 - 枫林灯语 406MHz 共用对讲机 确实不收频占费 - 枫林灯语 换宽带记(下):继续的续费 - 枫林灯语 换宽带记(上):优惠套餐的困境 - 枫林灯语 请正确设置 HTML 的『页面语言』属性 - 枫林灯语 高频信标:海盗们的无线电『灯塔』 - 枫林灯语 生活碎碎念:三重因素交织的戒断反应 - 枫林灯语 谜之 450 MHz:用途到底是什么? - 枫林灯语
博客装修记:专题页导航 - 枫林灯语
墨枫梧桐 · 2026-06-15 · via 枫林灯语

博客装修记:专题页导航

分类:编程 字数:2744 阅读:0

细心的朋友可能会发现,博客顶部(手机端就是点开菜单)的导航栏里,原来『公众对讲机』的位置,现在变成了『专题页导航』。点进去就是一个简单的目录,汇总了本站的一些专题页,或按照Typecho的称呼,『独立页面』。

要说,换一条链接而已,怎么还能开一篇文章来水?其实主要还是想聊聊这背后的原因,以及在此过程中发现的,站点所使用的主题的一个小特性。

如图所示如图所示

1. 前言

从明面上看,这次的改版并不难,就是写好导航页之后,在后台编辑一下,把顶上的链接换一下罢了。可以说是不费吹灰之力,易过借火,也不是什么上刀山下火海的难事。甚至,现在AI这么发达,这种零散的事情都可以交给AI代劳了。为什么还要写出来呢?

没错,笔者也是这样想的。所以这篇博文不是『如何添加专题页』的教程,有需要的朋友可以自行查阅相关资料。相对地,我更想聊聊为什么添加,以及针对目前站点所使用的主题的一些Corner Case问题进行修复。

2. 为何改版?

事出必有因,改版亦然。

2.1 原生态体验

Typecho内部内置两种页面类型,文章独立页面。

一般平时写博客,就是用文章。写完之后自动出现在主页,RSS也发出去了,而且按时间顺序排好,最新的就排在最前面,同时计入归档页,分类页等地方。这种大全套模式,当然是适合用来发布不断更新的博文的,读者点进来就能看到最新动态。

然而,很显然地,这就意味着,在文章类别下发布的东西,会引发一连串的反应。比如我想总结某个以前聊过的话题(或者说,足以成为一个概念的东西,比如笔者的杏泉网络),此时如果放在文章类别下,就会被推到首页,订阅RSS的读者也可能会因收到『以前好像发过啊』的内容而感到疑惑。另外,部分第三方插件可能针对文章有特殊处理,例如说在新文章发送后自动推送到别的地方,这就容易带来不必要的问题。

另一方面,独立页面,就显得更加『原生态』。这里的原生态可以理解为英语里的Raw,或者Base那种,也就是没有任何修饰,只是一个基底:撰写完成之后,就是一个带评论区的页面而已,不进入RSS,也不会主动在什么地方展示,你得主动把链接放出来,才能被人访问到。比如上面的场景,我可以把这些概念上的东西,单独开一个独立页面,写完之后手动放到合适的地方,不会造成其他影响。另外,Typecho的独立页面功能是可以自己写模板的,在某些需要更高定制化的场景,就显得更加适合。例如本站的文章归档页,就是这种方式做的:后台开一个独立页面,模板设置为归档页,就完事了。

2.2 分散的汇总

上面提到的场景是『总结某个话题』,这里继续用这个举例子。

比如,笔者的杏泉网络,是分几篇博文介绍了如何搭建各个服务,并实际使用的。现在,如果我想在未来的其他文章里放个链接来跟人说明这个网络是什么,我应该把链接指向哪篇文章呢?如果指向第一篇,那么读者看不到后续更新;如果指向最新的文章,那么后续再发布和杏泉网络有关的博文的时候,就要回来手动修改链接。更何况,有些情况下,比如分享到社交媒体,此时链接连改都改不了,发出去就是定局。

此时,就可以单独开一个专题页,把零碎的概念都聚合起来。以后要引用就引用这个,有更新也只更新这个,这就大大减少了工作量。

2.3 有生之年的小说

上面提到独立页面比较原生态,这样的特性,就很适合用来放一些『主线之外』的东西。

比如,我现在就可以往独立页面里面放入目前正在写的小说(而且也计划如此),一次性放几章,十几章,几千几万章,都没有关系。因为独立页面的原生态特性,普通的读者不会受到影响,RSS订阅也不会被小说给灌满。同时,还可以选择用各种别的方法,来在此基础上进行修饰,比如小说页就添加一些辅助阅读的小工具,从而有针对性地形成不一样的风格。这都是文章页很难做到的,毕竟做加法一般都会比做减法更加容易。

3. 对主题的修改

添加专题页并不难,只需要新建一个页面,然后填入你要发布的内容就好了。顶多再和笔者一样,再加一个专题导航页,用来汇总信息,方便查阅。

然而,在本站使用的主题文件里,有这么一段代码:

<?php $this->widget('Widget_Contents_Page_List')->to($pages); ?>
<?php while($pages->next()): ?>
    <!-- 输出信息,略去 -->
<?php endwhile; ?>

很显然,这段代码会把站点上的所有独立页面,都在顶部导航栏展示出来。此时如果多添加几个页面,导航栏也就被塞满了,甚至会直接溢出外层元素,这显然不是我们想要的结果。

要关闭这个功能,最省事的办法,当然就是直接把这段代码删了。不过当时因为不确定日后是否仍需要这个功能,因此笔者没有选择直接删除,而是把代码用一个if块给包裹了起来:

<?php
    $autoPageList = false;
    if($autoPageList):
        $this->widget('Widget_Contents_Page_List')->to($pages);
?>
<?php while($pages->next()): ?>
    <!-- 输出信息,略去 -->
<?php endwhile; ?>
<?php endif; ?>

这样,如果以后想要快速恢复到原来的样子,只需要把参数改为true即可,不必再费力补充代码。

4. 写在最后

适当水文,有益身心健康。

同时当然也欢迎来看看新的导航页,新的杏泉网络主题页(内含笔者的小说的一些信息),以及新的关于页。

(完)