第九天:提供额外的导览协助
也许你对于使用 <link>
标签来连结样式表这件事并不陌生。但是你知道可以用类似的语法来指出首页及前后页面的关系吗?举例来说,在按时汇整页面里,你可以指出前一天以及后一天的(如果有的话)的文章。如果每则文章项目都有独立的页面的话,你也可以指出前后的项目。
<link rel="home" title="首页" href="http://网址/指到/首页" />
<link rel="prev" title="前一页的标题" href="http://前一页/的/网址" />
<link rel="next" title="下一页的标题" href="http://下一页/的/网址" />
通常这些链结在图形介面浏览器(例如 Internet Explorer)里是看不见的;但是在其他浏览器里则会被显示出来,并且协助使用者浏览你的网站。你也许已经提供几种不同的浏览方式了:逐周或逐月的汇整、最近几篇文章的链结、显示着每日文章的月历等;也有可能在汇整页面上已经有往前后一日(篇)的链结了。这些都很好,请留着它们,然后再加上这些。
谁因此获益?
Marcus 从中获益了。他的纯文字浏览器 Lynx 会在页面顶端显示这些额外的导览协助,并显示我们在
title
属性里指定的内容。当 Marcus 浏览 6 月 18 日的每日汇整页面时,他看到的是:#Home June 17, 2002 June 19, 2002
( # 可以让 Marcus 了解这是诠释资料,而不是网页内容。Lynx 对于有意义的页面标题也是用一样的处理方式。)
Michael 从中获益了。因为他的纯文字浏览器 Links (别和 Marcus 的 Lynx 浏览器搞混了)也会在页面顶端显示这些额外的导览协助,就像这样:
Link: home Link: prev Link: next
Bill 从中获益了。因为 Mozilla 会在网站导览列显示这些额外的导览协助。这类的链结(“ home ”、“ prev ”、“ next ”)会以按钮显示,链结的标题则显示成工具提示 (tooltip) 。(请注意:网站导览列是在 Mozilla 0.99 版增加的,曾经在 1.0 版被移除,但在 1.1 版又被加回来了。在有支援的版本里,你可以从“检视”选单、“显示/隐藏”、“站台导览列”、“永远显示”来显示)
iCab 的使用者从中获益了。因为 iCab 会在工具列上用下拉式选单来显示每个网站连结的标题。
怎么做
在 Movable Type 的按时汇整模版里,把这几列附加在 <head>
标签之后:
<link rel="home" href="<$MTBlogURL$>" title="Home" />
<MTArchivePrevious>
<link rel="prev" href="<$MTArchiveLink$>" title="<$MTArchiveTitle$>" />
</MTArchivePrevious>
<MTArchiveNext>
<link rel="next" href="<$MTArchiveLink$>" title="<$MTArchiveTitle$>" />
</MTArchiveNext>
再来在单篇汇整模版里,把这几列附加在 <head>
标签之后:
<link rel="home" href="<$MTBlogURL$>" title="Home" />
<MTEntryPrevious>
<link rel="prev" href="<$MTEntryLink$>" title="<$MTEntryTitle$>" />
</MTEntryPrevious>
<MTEntryNext>
<link rel="next" href="<$MTEntryLink$>" title="<$MTEntryTitle$>" />
</MTEntryNext>
在 Greymatter 的模版里,把这几列附加在 <head>
标签之后:
<link rel="home" title="Home" href="{{pageindexlink}}">
<link rel="prev" title="{{previousentrysubject}}" href="{{entrieswebpath}}/{{previousentrynumberpadded}}.html">
<link rel="next" title="{{nextentrysubject}}" href="{{entrieswebpath}}/{{nextentrynumberpadded}}.html">
Sjoerd Visscher 提供了一套巨集,可以在 Radio 里轻松做到这些事。
解开压缩档,并把四个档案 (
navigationLinks.txt
,nextDayLink.txt
,prevDayLink.txt
,permalinkUrl.txt
) 复制到Macros
资料夹里;按照 Windows 上的标准安装程序来说,它会被放在C:\Program Files\Radio UserLand\Macros
。接着在 Main Template 里,把这一列附加在
<head>
标签之后:<%navigationLinks()%>
很遗憾地,我不知道要如何在 Manila 或 Blogger 里实作令人满意的前后文链结,但是至少你可以在网页的 <head>
标签后加上这个链结:
<link rel="home" title="Home" href="http://url/of/your/home/page">
延伸阅读
- Sjoerd Visscher: Navigation links in your Radio Userland weblog.