如何添加一个侧边栏导航

1.在自定义脚本里面添加如下js

##
<script>
    function CreatePostNavigator(){
        // 目录标题的div
        var navigatorTitleDiv = '<div id="navigatorTitleDiv">隐藏目录</div>';
    // 目录所有内容的div
    var navigatorDivContent = '<div id="navigatorDiv">';

    if($("#cnblogs_post_body :header").length == 0){
        return;
    }

    $.each($("#cnblogs_post_body :header"), function(i, val){
          // 查找所有的header(h1-h4),并生成header条目,并添加属性class=“dt_h?”
          var headerTagName = $(val)[0].tagName.toLowerCase();
          var navigatorItem = '<dt class="dt_'+headerTagName+'"><a href="#_nav_' + i + '">' + $(val).text() + '</a></dt>';
          // 把header条目加入navigatorDiv
          navigatorDivContent += navigatorItem;

          // 给页面上每个header元素之前添加一个跳转标签
          var headerLabel = '<a name="_nav_' + i + '" style="padding:0px"></a>';
          $(val).prepend(headerLabel);
      });

     navigatorDivContent += '</div>';

     $('#cnblogs_post_body').append(navigatorDivContent);
     $('#cnblogs_post_body').append(navigatorTitleDiv);

     // 给目录标题div添加toggle事件
     $("#navigatorTitleDiv").click(function(){
            $("#navigatorDiv").toggle(200, function(){
                var title = $("#navigatorTitleDiv").text() == "隐藏目录"?"文章目录":"隐藏目录";
                $("#navigatorTitleDiv").text(title);
            });
     });
     var headerList = ["h1", "h2", "h3", "h4"];
     var headerListLen = headerList.length;
     // 遍历所有的header,然后给小一级的header设置缩进
     for(var i = 0; i < headerListLen; i++){
            if(i < (headerListLen-1) && $(".dt_"+headerList[i]).length > 0){
                for(var j=headerListLen-1; j > i; j--)
                $(".dt_"+headerList[j]).css({"margin-left": (i+1)*10+"px"});
             }
     }

}

CreatePostNavigator();


</script>

2.在自定义css里面添加如下css

/* 目录的隐藏目录(显示目录)标签设置*/
#navigatorTitleDiv{
    padding: 5px;
    position: fixed;
    top: 0.1px;
    right: 1%;
    font-weight: bold;
    cursor :pointer;
    background-color: #f8f8f8;
}
/* 目录设置 */
#navigatorDiv {
    border-style: none;
    position: fixed;
    padding: 05px;
    padding-top: 50px;
    top: 0px;
    bottom: 0px;
    right: 0%;
    left: 83%;
    background-color: #f8f8f8;
    font-family: "Monaco" !important;
    font-size: 15px
}

如何使用highliht的样式

1.在highlight.js demo选一个你自己喜欢的代码风格

我用的是vscode编辑器,因此我比较喜欢monokai这款风格

2.在highlight.js demo下载你喜欢的风格

3.修改风格样式将 .hljs (注意有个空格)替换成 '.cnblogs-markdown .hljs',.hljs-替换成'.cnblogs-markdown .hljs-' 我的编辑器操作做如下,选择全部替换,目的是添加一个css限制范围,提高此风格的优先级,来覆盖默认的样式

替换之后

4.把替换好的样式赋值到页面自定义css代码框里面

5.大功告成

提示:以上操作都是基于mkdown编辑器

01-23 22:16