第九天:提供额外的导览协助

也许你对于使用 <link> 卷标来连结样式表这件事并不陌生。但是你知道可以用类似的语法来指出首页及前后页面的关系吗?举例来说,在按时汇整页面里,你可以指出前一天以及后一天的(如果有的话)的文章。如果每则文章项目都有独立的页面的话,你也可以指出前后的项目。

<link rel="home" title="首页" href="http://网址/指到/首页" />
<link rel="prev" title="前一页的标题" href="http://前一页/的/网址" />
<link rel="next" title="下一页的标题" href="http://下一页/的/网址" />

通常这些链结在图形接口浏览器(例如 Internet Explorer)里是看不见的;但是在其它浏览器里则会被显示出来,并且协助使用者浏览你的网站。你也许已经提供几种不同的浏览方式了:逐周或逐月的汇整、最近几篇文章的链结、显示著每日文章的月历等;也有可能在汇整页面上已经有往前后一日(篇)的链结了。这些都很好,请留著它们,然后再多加上这些。

谁因此获益?

  1. Marcus 从中获益了。他的纯文字浏览器 Lynx 会在页面顶端显示这些额外的导览协助,并显示我们在 title 属性里指定的内容。当 Marcus 浏览 6 月 18 日的每日汇整页面时,他看到的是:

    #Home June 17, 2002 June 19, 2002

    ( # 可以让 Marcus 了解这是诠释数据,而不是网页内容。Lynx 对于 有意义的页面标题也是用一样的处理方式。)

  2. Michael 从中获益了。因为他的 Links 纯文字浏览器(别和 Marcus 的 Lynx 浏览器搞混了)也会在页面顶端显示这些额外的导览协助,就像这样:

    Link: home
    Link: prev
    Link: next
  3. Bill 从中获益了。因为 Mozilla 会在网站导览列显示这些额外的导览协助。这类的链结(「 home 」、「 prev 」、「 next 」)会以按钮显示,链结的标题则显示成工具提示 (tooltip) 。(请注意:网站导览列是在 Mozilla 0.99 版增加的,曾经在 1.0 版被移除,但在 1.1 版又被加回来了。在有支持的版本里,你可以从检视选单、显示/隐藏、站台导览列、永远显示来显示)

  4. 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 里轻松做到这些事。

  1. 下载导览链结巨集

  2. 解开压缩档,并把四个档案 (navigationLinks.txt, nextDayLink.txt, prevDayLink.txt, permalinkUrl.txt) 复制到 Macros 数据夹里;按照 Windows 上的标准安装程序来说,它会被放在 C:\Program Files\Radio UserLand\Macros

  3. 接著在 Main Template 里,把这一列附加在 <head> 卷标之后:

    <%navigationLinks()%>

很遗憾地,我不知道要如何在 Manila 或 Blogger 里实作令人满意的前后文链结,但是至少你可以在网页的 <head> 卷标后加上这个链结:

<link rel="home" title="Home" href="http://url/of/your/home/page">

延伸阅读