码迷,mamicode.com
首页 > 其他好文 > 详细

博客园如何加目录

时间:2019-10-30 18:29:37      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:type   ref   说明   ott   基本   设置   gen   笔记   http   

转自: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>

技术图片

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>

博客园如何加目录

标签:type   ref   说明   ott   基本   设置   gen   笔记   http   

原文地址:https://www.cnblogs.com/gered/p/11766289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!