Wagtail 教程 4:自动生成文章右侧TOC导航

Wagtail 教程系列 记录了基于 Wagtail 搭建博客站点的整个过程,博客站点 所呈现的即是搭建过程的最新效果。

更多 Wagtail 内容:https://slowread.cn/wagtail-tutorials

自动生成文章右侧TOC导航

此部分属于通用内容,非 Wagtail 必需内容,是为了完善/优化基于 Wagtail 搭建的博客。

说明

  • 需要在文章页面中创建一对 DIV 标签,涵盖范围为需要自动生成TOC导航的文章内容部分,ID 为 JS 脚本中设定的名字 sowread_post_body。
  • JS 脚本自动查找第一个标题级别,只显示两级目录。

CSS


/* TOC 导航 */

#TOCbar{
   
   
    text-align:left; position:fixed; width: auto; color:#2F7CFF;
    height: auto; top:4em; right:0; margin: 0.25em /*离页面顶部与右侧的距离*/
}
#TOCbarTab{
   
   
    float:left; width: 2.5em; border:1px solid #e5e5e5; border-right:none;
    text-align:center; background:#ffffff;
}
#TOCbarContents{
   
   
    float:left; overflow:auto; overflow-x:hidden; padding: 0.5em; color:#2F7CFF;
    width:18em; min-height:6em; max-height:50em;
    border:1px solid #e5e5e5; border-right:none; background:#ffffff;
}
#TOCbarContents dl{
   
    margin:0; padding:0; }
#TOCbarContents dt{
   
    margin-left: 0;}
#TOCbarContents dd{
   
    padding-left: 1.5em; margin-bottom: 0;}
#TOCbarContents dd, dt {
   
    cursor: pointer; }
#TOCbarContents dd:hover, dt:hover {
   
    color:#ffffff;background:#2F7CFF;}

/* TOC 导航 */

JavaScript


// 自动生成 TOC 导航

var BlogDirectory = {
   
   
  /*
      获取元素位置,距浏览器左边界的距离(left)和距浏览器上边界的距离(top)
  */
  getElementPosition:function (ele) {
   
   
      var topPosition = 0;
      var leftPosition = 0;
      while (ele){
   
   
          topPosition += ele.offsetTop;
          leftPosition += ele.offsetLeft;
          ele = ele.offsetParent;
      }
      return {
   
   top:topPosition, left:leftPosi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值