zoukankan      html  css  js  c++  java
  • 博客园如何加目录

    转自:https://www.cnblogs.com/ning-wang/p/7656847.html

    【1】文章头部加目录

    1.1 效果展示

      

    1.2 代码

    <script language="javascript" type="text/javascript">
    // 生成目录索引列表
    // ref: http://www.cnblogs.com/wangqiguo/p/4355032.html
    // modified by: zzq
    function GenerateContentList()
    {
        var mainContent = $('#cnblogs_post_body');
        var h2_list = $('#cnblogs_post_body h2');//如果你的章节标题不是h2,只需要将这里的h2换掉即可
    
        if(mainContent.length < 1)
            return;
     
        if(h2_list.length>0)
        {
            var content = '<a name="_labelTop"></a>';
            content += '<div id="navCategory" style="color:#152e97;">';
            content += '<p style="font-size:18px;"><b>目录</b></p>';
            content += '<ul>';
            for(var i=0; i<h2_list.length; i++)
            {
                var go_to_top = '<div style="text-align: right;"><a href="#_labelTop" style="color:#f68a33">回到顶部</a><a name="_label' + i + '"></a></div>';
                $(h2_list[i]).before(go_to_top);
                
                var h3_list = $(h2_list[i]).nextAll("h3");
                var li3_content = '';
                for(var j=0; j<h3_list.length; j++)
                {
                    var tmp = $(h3_list[j]).prevAll('h2').first();
                    if(!tmp.is(h2_list[i]))
                        break;
                    var li3_anchor = '<a name="_label' + i + '_' + j + '"></a>';
                    $(h3_list[j]).before(li3_anchor);
                    li3_content += '<li><a href="#_label' + i + '_' + j + '">' + $(h3_list[j]).text() + '</a></li>';
                }
                
                var li2_content = '';
                if(li3_content.length > 0)
                    li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a><ul>' + li3_content + '</ul></li>';
                else
                    li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a></li>';
                content += li2_content;
            }
            content += '</ul>';
            content += '</div><p>&nbsp;</p>';
            content += '<hr style="height:1px;border:none;border-top:1px dashed #0066CC;"/>';
            if($('#cnblogs_post_body').length != 0 )
            {
                $($('#cnblogs_post_body')[0]).prepend(content);
            }
        }   
    }
    
    GenerateContentList();
    </script>

    【1】部分转自:https://www.cnblogs.com/xuehaoyue/p/6650533.html

    【2】文章右侧加目录

    先给大家看一下最终的实现效果,如果你觉的还可以,那么请继续阅读。

    在此首先要感谢marvinasxinyu,我这次目录的实现基本是结合了他们二人的成果,在此特别致谢。下面是他们相关博客的链接。

    【分享】博客美化(6)为你的博文自动添加目录

    如何给你的为知笔记添加一个漂亮的导航目录

    0x02 实现过程

    基本原理在上面两位大神的博客里已经进行了详细的介绍,这里我就不再累述。
    这里着重说一下我所更改的地方,在marvin的基础上,参考asxinyu的实现,去掉了标题自动编号,因为我还是喜欢自己来对标题进行编号。
    更改目录为打开博客后自动展开(原来是默认关闭的)。

    2.1 下载相关文件

    2.2 文件说明

    bootstrap.min.js 侧边栏

    marvin.nav.js 目录自定义文件,可以通过修改该文件配置来自定义自己的目录。

    2.3 文件使用

    1) 申请JS权限

    博客设置 -> 博客侧边栏公告

    我的已经申请了JS权限,所以显示(支持JS代码),没有申请前,这里有一个超链接申请JS权限,点击后等待1天左右,管理员机会批准你的申请。

    2)添加JS引用

    在博客设置 -> 博客侧边栏公告内粘贴如下代码,注意要下载后上传到自己的博客园上,还有注意替换链接中的博客名,否则我的JS文件一旦修改,你也就遭殃了。



    【原文版本】
    <script src="http://cdn.bootcss.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    <link href="http://files.cnblogs.com/files/ning-wang/marvin.nav.css" rel="stylesheet">
    <script type="text/javascript" src="http://files.cnblogs.com/files/ning-wang/marvin.nav.js"></script>


    【我的修改】
    <script src="http://files.cnblogs.com/files/gered/bootstrap.min.js"></script> <link href="http://files.cnblogs.com/files/gered/marvin.nav.css" rel="stylesheet"> <script type="text/javascript" src="http://files.cnblogs.com/files/gered/marvin.nav.js"></script>
     

    3)自定义标题

    想不想要好看的文章标题呢?下面将介绍如何来自定义文章标题。

    2.4 CSS样式

    博客设置 -> 页面定制CSS代码
    粘贴如下代码即可实现

    <style type="text/css">
        #cnblogs_post_body
        {
            color: black;
            font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif;
            font-size: 17px;
        }
       /*标题1*/
    #cnblogs_post_body h1 {
        color: #fff;
        padding-left: 15px;
        background-color: #6FA833 !important;
        text-shadow: 2px 2px 3px #222222;
        font-family: "微软雅黑" , "宋体" , "黑体" ,Arial;
        margin-bottom: 5px;
    }
    /*标题2*/
    #cnblogs_post_body h2 {
        color: #6FA833;
        border-left: 13px solid #6FA833;
        padding: 5px;
        background-color: #f5f5f5;
    }
    </style>

    我的CSS样式(只弄了h2和h3)

    <style type="text/css">
        #cnblogs_post_body
        {
            color: black;
            font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif;
            font-size: 17px;
        }
       /*标题2*/
    #cnblogs_post_body h2 {
        color: #fff;
        padding-left: 15px;
        background-color: #6FA833 !important;
        text-shadow: 2px 2px 3px #222222;
        font-family: "微软雅黑" , "宋体" , "黑体" ,Arial;
        margin-bottom: 5px;
        font-size: 20px;
    }
    /*标题3*/
    #cnblogs_post_body h3 {
        color: #009ACD;
        border-left: 13px solid #009ACD;
        padding: 5px;
        background-color: #f5f5f5;
       font-size: 18px;
    }
    </style>

    2.5 我的实现效果

      其实就是把标题放到左边去了,这样不会挡住我的文章内容

      

    0x03 参考链接

    http://www.cnblogs.com/asxinyu/p/Bolg_Category_AddArticleCategory_6.html

    http://www.cnblogs.com/marvin/p/ExtendWizNoteAutoNnavigation.html#autoid-5-2-0

    2017-10-12 16:39:15 星期四

    作者:王宁

    -------------------------------------------

    个性签名:路漫漫其修远兮,吾将上下而求索。

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    Java操作redis
    Ajax & Json
    【转载】K8s-Pod时区与宿主时区时区同步
    【转载】Python中如何将字符串作为变量名
    【转载】python实现dubbo接口的调用
    机器学习避坑指南:训练集/测试集分布一致性检查
    机器学习深度研究:特征选择中几个重要的统计学概念
    机器学习数学基础:学习线性代数,千万不要误入歧途!推荐一个正确学习路线
    被 Pandas read_csv 坑了
    print('Hello World!')的新玩法
  • 原文地址:https://www.cnblogs.com/gered/p/11766289.html
Copyright © 2011-2022 走看看