网站开发日志

2008年11月8日星期六

分享家:Addthis中国

Blogger 创建可扩展的帖子摘要?

我的博客引擎用的是Google的Blogger。默认下,Blogger不提供可扩展的帖子摘要。帖子摘要“可以选择显示自帖子开头截至帖子任意处的一小段文字,作为一个引子,引起读者对全文的好奇心。如果用户要阅读帖子的余下部分,可以点击链接查看全文。如果您需要在某一页安排很多长文章,利用这一方法就会非常方便。”通过Blogger的帮助,我找到了创建可扩展的帖子摘要的方法。实现该功能需要三个部分:在模板加入条件CSS、在模板里加入“阅读全文”的链接、对使用该功能的帖子进行修改。

1. 在模板加入条件CSS

布局模板不适用于FTP类型的服务器,我博客使用的传统模板。传统模板支持的条件标记有:

  • 选择主页面,包括首页和标签页:<MainPage></MainPage>
  • 选择存档页:<ArchivePage></ArchivePage>
  • 选择帖子页:<ItemPage></ItemPage>
  • 选择主页面和存档页:<MainOrArchivePage></MainOrArchivePage>

因为我只希望对主页面使用帖子摘要,对于单独的帖子将显示完整的帖子,所以我在head间加入以下条件css:

<Main> 
   span.fullpost {display:none;}
</Main
<ItemPage> 
   span.fullpost {display:inline;} 
</ItemPage>

2. 在模板里加入“阅读全文”的链接

我把它加在<$BlogItemBody$>之后,如下:

<div class="post-body">
  <$BlogItemBody$>
    <div style="margin-top: -25px; padding:0; float: right;">
      <span class="backhome">
        <a href="<$BlogItemPermalinkURL$>" target="_blank">...阅读全文</a>
      </span>
    </div>   
</div>

3. 对使用该功能的帖子进行修改

这是个比较繁琐的过程,因为它需要对每个帖子都进行修改,我已经发布了49个帖子,如果想让它们都有这个功能,我需要对每个帖子中需要隐藏的部分都加上如下代码:

这是帖子的摘要。<span class="fullpost">这是它的其余部分。</span>

其实这种方法还有一个缺陷,它只是把帖子的其他部分隐藏了,当这些页面在浏览器里显示,隐藏的内容仍然要加载。我的博客是一个月存档一次,因此存档页通常含有很多的帖子,再加上许多帖子的内容都很长,就会造成页面体积过大,就算我采用了这种隐藏的方法,它仍然需要占用很大的带宽。为了避免这个问题,我决定在存档页只显示标题,读者可以通过点击标题进入对应的帖子页面。实现这一功能的方法很简单:只要使用上面提到的条件标记,在模板中只对主页面和帖子页显示“post-body”就可以了,代码如下:

<ItemPage> 
  <div class="post-body">
    <$BlogItemBody$>
  </div>
</ItemPage>
<MainPage> 
  <div class="post-body">
    <$BlogItemBody$>
    <div style="margin-top: -25px; padding:0; float: right;">
      <span class="backhome">
        <a href="<$BlogItemPermalinkURL$>">...阅读全文</a>
      </span>
    </div>   
  </div>
</MainPage>

标签: , ,

相关文章:

4 条评论:

发表评论

指向此帖子的链接: