博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)

博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)

JS代码(JS code)

最近参考了(http://www.cnblogs.com/wangqiguo/p/4355032.html)自动生成目录的方法,我增加了能够自动生成三级目录的JS代码。

I learned from (http://www.cnblogs.com/wangqiguo/p/4355032.html) about generating content using JS in cnblogs. I updated the code to generate three levels content.

 1 <script language="javascript" type="text/javascript">
 2 // Generate  three levels content
 3 function GenerateContentList()
 4 {
 5     var jquery_h1_list = $(‘#cnblogs_post_body h1‘);
 6     if (jquery_h1_list.length == 0) { return; }
 7     if ($(‘#cnblogs_post_body‘).length == 0) { return; }
 8
 9     var content = ‘<a name="_labelTop"></a>‘;
10     content    += ‘<div id="navCategory">‘;
11     content    += ‘<p style="font-size:18px"><b>阅读目录(Content)</b></p>‘;
12     // first level content start
13     content += ‘<ul class="first_class_ul">‘;
14
15     for (var i = 0; i < jquery_h1_list.length; i++)
16     {
17         var go_to_top = ‘<div style="text-align: right"><a href="#_labelTop">回到顶部(go to top)</a><a name="_label‘ + i + ‘"></a></div>‘;
18         $(jquery_h1_list[i]).before(go_to_top);
19
20         // one item of first level content.
21         var li_content = ‘<li><a href="#_label‘ + i + ‘">‘ + $(jquery_h1_list[i]).text() + ‘</a></li>‘;
22
23         var nextH1Index = i + 1;
24         if (nextH1Index == jquery_h1_list.length) { nextH1Index = 0; }
25         var jquery_h2_list = $(jquery_h1_list[i]).nextUntil(jquery_h1_list[nextH1Index], "h2");
26         // second level content start
27         if (jquery_h2_list.length > 0)
28         {
29             //li_content +=‘<ul style="list-style-type:none; text-align: left; margin:2px 2px;">‘;
30             li_content += ‘<ul class="second_class_ul">‘;
31         }
32         for (var j = 0; j < jquery_h2_list.length; j++)
33         {
34             var go_to_top2 = ‘<div style="text-align: right"><a name="_lab2_‘+ i + ‘_‘ + j + ‘"></a></div>‘;
35             $(jquery_h2_list[j]).before(go_to_top2);
36             // one item of second level content.
37             li_content +=‘<li><a href="#_lab2_‘+ i +‘_‘ + j + ‘">‘ + $(jquery_h2_list[j]).text() + ‘</a></li>‘;
38
39             var nextH2Index = j + 1;
40             if (nextH2Index == jquery_h2_list.length) { nextH2Index = 0; }
41             var jquery_h3_list = $(jquery_h2_list[i]).nextUntil(jquery_h2_list[nextH2Index], "h3");
42             // third level content start
43             if (jquery_h3_list.length > 0)
44             {
45                 li_content += ‘<ul class="third_class_ul">‘;
46             }
47             for (var k = 0; k < jquery_h3_list.length; k++)
48             {
49                 var go_to_third_Content = ‘<div style="text-align: right"><a name="_label3_‘ + i + ‘_‘ + j + ‘_‘ + k + ‘"></a></div>‘;
50                 $(jquery_h3_list[k]).before(go_to_third_Content);
51                 // one item of third level content.
52                 li_content += ‘<li><a href="#_label3_‘ + i + ‘_‘ + j + ‘_‘ + k + ‘">‘ + $(jquery_h3_list[k]).text() + ‘</a></li>‘;
53             }
54             if (jquery_h3_list.length > 0)
55             {
56                 li_content += ‘</ul>‘;
57             }
58             li_content += ‘</li>‘;
59             // third level content end
60         }
61         if (jquery_h2_list.length > 0)
62         {
63             li_content +=‘</ul>‘;
64         }
65         li_content +=‘</li>‘;
66         // second level content end
67
68         content += li_content;
69     }
70     // first level content end
71     content += ‘</ul>‘;
72     content += ‘</div>‘;
73
74     $($(‘#cnblogs_post_body‘)[0]).prepend(content);
75 }
76
77 GenerateContentList();
78 </script>

如何使用(How to Use)

把上述JS代码复制到“页脚Html代码”里。

Copy the JS code above into the "页脚Html代码" text box.

在写博客的时候,给每个章节的标题设置“标题1”或“标题2”或“标题3”格式。

set the format to “标题1” or “标题2” or “标题3”.

然后一切就绪,欣赏效果吧。

All is done. Let‘s test it.

示例(Demo)

这里有个例子(http://www.cnblogs.com/bitzhuwei/p/from_relay_to_tiny_CPU.html)。

Here is an demo (http://www.cnblogs.com/bitzhuwei/p/from_relay_to_tiny_CPU.html).

时间: 2025-01-02 17:12:53

博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)的相关文章

自定义博客园主题和自动生成目录

背景 最近觉得博客园网站太老旧了,不好看,并且没有移动端,于是想转到简书去写博客(主要简书有移动端),写出来的效果还是不满意,于是又回到了博客园,只能自己修改下博客主题了. 于是百度了下,找到了两篇参考博客: 主题修改参考了:一套简约漂亮的响应式博客园主题皮肤 添加目录参考了:让博客园博客自动生成章节目录索引 在他们的基础上做了相应的修改,值得注意的一点是,主题修改必须注意当前所使用的默认模板是什么,如果不一样可能会造成样式错乱,因为我发现博客园不同的官方主题之间有的存在HTML结构的差异.我这

博客园博客转至个人网站博客声明

博客园博客不在提供维护更新,个人博客转至:https://monsterlin.com/

使用Windows Live Writer 发布博客园博客

看了下论坛的帮助,把自己喜欢的WLW内容整理了一下: 下载地址 http://windows.microsoft.com/en-us/windows-live/download-windows-essentials 账号配置 首次运行会弹出配置界面 当然也可以在菜单FileàOptions 项中进行账号配置 点击Add按钮在What blog service do you use? 对话框中选中 Other services 点击Next 进入 Add a blog account 对话框, 在

使用Windows Live Writer发布博客园博客

在管理中发现可以使用windows live writer来发布博客园博客. 具体可以参考:http://home.cnblogs.com/group/topic/8550.html 代码着色插件:http://www.cnblogs.com/cmt/archive/2012/06/26/live_writer_cnblogs_code_highlight.html

开通博客园博客说明

博客园博客说明 之前准备用hexo+github搭建的博客来记录自己的前端之旅,原先的博客确实搭建好了,但是由于自己对博客内容太在乎,一些平常的练习没有记录在其中.为了监督自己,为了给平时的练习存放,所以选择了博客园,博客园中的博客都是平常的练习,等到练习到一定程度,在总结至自己的博客上去. OK,博客园之旅就从今日开启. 原文地址:https://www.cnblogs.com/iDouble/p/8287678.html

博客园博客小优化

博客园博客小优化 Fork me on Github 页首Html 代码部分增加以下代码: <a href="https://github.com/WeihanLi" target="_blank"> <img style="position: fixed; top: 0; right: 0; border: 0;z-index:233" src="https://github-camo.global.ssl.fast

博客园 博客积分与排名 查看设置

博客园 博客积分与排名 查看设置 博客园 博客积分与排名 默认是不显示的. 如果想要显示出来,需要在博客园的“设置”里进行设置. 具体操作步骤如下: 1.在博客园的“设置”中,选择“常用选项”,点击进入. 2.在“选项”中,找到“积分与排名”,勾选,保存即可. 3.刷新博客页面,即可看到自己博客的积分与排名情况,效果如下: 原文地址:https://www.cnblogs.com/miracle-luna/p/11789269.html

[转]JavaScript自动生成博文目录导航

转自:http://www.cnblogs.com/xdp-gacl/p/3718879.html 我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到具体的内容,这样园友们在看博客的时候就可以很方便地浏览自己感兴趣的内容,但是遗憾的是博客园不支持博文目录的生成,好像也有园友给博客园提建议,希望能够像CSDN那样能够自动生成博文目录,但是不知道是什么原因,博客园一直都没有把这个功能加上去,既然没有,那我就自己做

写个js小工具自动生成博文目录

我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到具体的内容,这样园友们在看博客的时候就可以很方便地浏览自己感兴趣的内容,但是遗憾的是博客园不支持博文目录的生成,好像也有园友给博客园提建议,希望能够像CSDN那样能够自动生成博文目录,但是不知道是什么原因,博客园一直都没有把这个功能加上去,既然没有,那我就自己做吧,研究了2天,总算是按照自己的设想做出来了,最终效果如下: 下面来介绍一下这个小工具的实现. 一.