diff --git a/book.json b/book.json
index 5371fd3..2084bba 100644
--- a/book.json
+++ b/book.json
@@ -1,5 +1,6 @@
{
"title":"Go 编码建议",
+ "author": "Dablelv",
"links" : {
"sidebar" : {
"个人站点":"https://dablelv.github.io/dablelvweb",
@@ -12,7 +13,6 @@
"website": "styles/website.css"
},
"plugins": [
- "insert-logo",
"custom-favicon",
"splitter",
"disqus",
@@ -24,10 +24,6 @@
"popup"
],
"pluginsConfig":{
- "insert-logo":{
- "url": "https://dablelv.github.io/go-coding-advice/assets/images/logo.jpg",
- "style": "background: none; max-height: 100px;"
- },
"disqus": {
"shortName": "go-coding-advice"
},
diff --git a/docs/assets/images/logo.jpg b/docs/assets/images/logo.jpg
deleted file mode 100644
index fd8f125..0000000
Binary files a/docs/assets/images/logo.jpg and /dev/null differ
diff --git a/docs/docs/.gitignore b/docs/docs/.gitignore
new file mode 100644
index 0000000..723ef36
--- /dev/null
+++ b/docs/docs/.gitignore
@@ -0,0 +1 @@
+.idea
\ No newline at end of file
diff --git a/docs/docs/LICENSE b/docs/docs/LICENSE
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/docs/docs/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/docs/docs/assets/images/banner.png b/docs/docs/assets/images/banner.png
new file mode 100644
index 0000000..5d28c15
Binary files /dev/null and b/docs/docs/assets/images/banner.png differ
diff --git a/docs/docs/assets/images/favicon.ico b/docs/docs/assets/images/favicon.ico
new file mode 100644
index 0000000..22d346e
Binary files /dev/null and b/docs/docs/assets/images/favicon.ico differ
diff --git a/assets/images/logo.jpg b/docs/docs/assets/images/logo.jpg
similarity index 100%
rename from assets/images/logo.jpg
rename to docs/docs/assets/images/logo.jpg
diff --git a/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf b/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf
new file mode 100644
index 0000000..d4de13e
Binary files /dev/null and b/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf differ
diff --git a/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot
new file mode 100644
index 0000000..c7b00d2
Binary files /dev/null and b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot differ
diff --git a/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg
new file mode 100644
index 0000000..8b66187
--- /dev/null
+++ b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg
@@ -0,0 +1,685 @@
+
+
+
\ No newline at end of file
diff --git a/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
new file mode 100644
index 0000000..f221e50
Binary files /dev/null and b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf differ
diff --git a/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff
new file mode 100644
index 0000000..6e7483c
Binary files /dev/null and b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff differ
diff --git a/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
new file mode 100644
index 0000000..7eb74fd
Binary files /dev/null and b/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 differ
diff --git a/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/config.js b/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/config.js
new file mode 100644
index 0000000..5340037
--- /dev/null
+++ b/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/config.js
@@ -0,0 +1,74 @@
+require('./log');
+
+const defaultConfig = {
+ // 标题是否显示层级序号
+ showLevel: true,
+ // 页面内的序号是否与 summary.md 中官方默认主题生成的序号相关联
+ associatedWithSummary: true,
+ printLog: false, // 是否打印日志,就如同自己使用了prism,但是很容易写错他的定义,比如css写成了csss,文章太多的话,生成出错,但是找不到是那篇文章,打开该选项就能定位了
+ multipleH1: true, // 多H1模式么?一般正常的文章一个md文件只有一个H1标题,这个时候就适合关闭该选项,生成的标题不会多一个 1. 出来
+ // 模式:分为三种:float:浮动导航、pageTop:页面内部顶部导航、null:不显示导航
+ mode: "float",
+ showGoTop: true, //是否显示返回顶部摁扭
+ float: { //浮动导航设置
+ floatIcon: "fa fa-navicon",
+ showLevelIcon: false, //是否显示层级图标
+ level1Icon: "fa fa-hand-o-right",
+ level2Icon: "fa fa-hand-o-right",
+ level3Icon: "fa fa-hand-o-right"
+ },
+ pageTop: {
+ showLevelIcon: false, //是否显示层级图标
+ level1Icon: "fa fa-hand-o-right",
+ level2Icon: "fa fa-hand-o-right",
+ level3Icon: "fa fa-hand-o-right"
+ },
+ // 官方默认主题 层级开关
+ themeDefault: {
+ showLevel: false
+ }
+}
+
+/**
+ * 处理默认参数
+ * @param defaultConfig
+ * @param config
+ */
+function handler(defaultConfig, config) {
+ if (config) {
+ for (var item in defaultConfig) {
+ if (item in config) {
+ defaultConfig[item] = config[item];
+ }
+ }
+ }
+}
+/**
+ * 处理所有的配置参数
+ * @param bookIns
+ */
+function handlerAll(bookIns) {
+ var config = bookIns.config.get('pluginsConfig')['anchor-navigation-expand'];
+ var themeDefaultConfig = bookIns.config.get('pluginsConfig')['theme-default'];
+ handler(defaultConfig, config);
+ handler(defaultConfig.themeDefault, themeDefaultConfig);
+
+ if (config.hasOwnProperty("isRewritePageTitle") && config.isRewritePageTitle) {
+ console.error("error:".error +
+ "plugins[anchor-navigation-expand]:isRewritePageTitle 配置只支持0.3.x 版本," +
+ "请到https://github.com/zq99299/gitbook-plugin-anchor-navigation-expand查看最新版本的配置项");
+ console.log("");
+ console.error("error:".error +
+ "plugins[anchor-navigation-expand]:isRewritePageTitle Configuration only supports 0.3.x version," +
+ "Please check here https://github.com/zq99299/gitbook-plugin-anchor-navigation-expand for the latest version of the configuration item");
+ }
+}
+/**
+ * 本类中 config 单例共享
+ * @type {{config: {showLevel: boolean, associatedWithSummary: boolean, mode: string, float: {showLevelIcon: boolean, level1Icon: string, level2Icon: string, level3Icon: string}, top: {showLevelIcon: boolean, level1Icon: string, level2Icon: string, level3Icon: string}, themeDefault: {showLevel: boolean}}, handler: handler, handlerAll: handlerAll}}
+ */
+module.exports = {
+ config: defaultConfig,
+ handler: handler,
+ handlerAll: handlerAll
+}
diff --git a/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/log.js b/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/log.js
new file mode 100644
index 0000000..4af71d3
--- /dev/null
+++ b/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/log.js
@@ -0,0 +1,16 @@
+var colors = require('colors');
+colors.setTheme({
+ silly: 'rainbow',
+ input: 'grey',
+ verbose: 'cyan',
+ prompt: 'grey',
+ info: 'green',
+ data: 'grey',
+ help: 'cyan',
+ warn: 'yellow',
+ debug: 'blue',
+ error: 'red'
+});
+
+module.exports = colors;
+
diff --git a/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/plugin.js b/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/plugin.js
new file mode 100644
index 0000000..e9541c2
--- /dev/null
+++ b/docs/docs/gitbook/gitbook-plugin-anchor-navigation-expand/lib/plugin.js
@@ -0,0 +1,370 @@
+var cheerio = require('cheerio');
+var slug = require('github-slugid');
+var Config = require('./config.js');
+
+
+/**
+ * 处理toc相关,同时处理标题和id
+ * @param $
+ * @param option
+ * @param page
+ * @returns {Array} 返回处理好的tocs合集
+ */
+function handlerTocs($, page, modifyHeader) {
+ var config = Config.config;
+ var tocs = [];
+
+ var count = {
+ h1: 0,
+ h2: 0,
+ h3: 0
+ };
+ var titleCountMap = {}; // 用来记录标题出现的次数
+ var h1 = 0, h2 = 0, h3 = 0;
+ $(':header').each(function (i, elem) {
+ var header = $(elem);
+ var id = addId(header, titleCountMap);
+
+ if (id) {
+ switch (elem.tagName) {
+ case "h1":
+ handlerH1Toc(config, count, header, tocs, page.level, modifyHeader);
+ break;
+ case "h2":
+ handlerH2Toc(config, count, header, tocs, page.level, modifyHeader);
+ break;
+ case "h3":
+ handlerH3Toc(config, count, header, tocs, page.level, modifyHeader);
+ break;
+ default:
+ titleAddAnchor(header, id);
+ break;
+ }
+ }
+ });
+ // 不然标题重写就没有效果,如果在外面不调用这句话的话
+ page.content = $.html();
+ return tocs;
+}
+
+/**
+ * 处理锚点
+ * @param header
+ * @param titleCountMap 用来记录标题出现的次数
+ * @returns {string}
+ */
+function addId(header, titleCountMap) {
+ var id = header.attr('id') || slug(header.text());
+ var titleCount = titleCountMap[id] || 0;
+ titleCountMap[id] = titleCount + 1;
+ // console.log('id:', id, 'n:', titleCount, 'hashmap:', titleCountMap)
+ if (titleCount) {//此标题已经存在 null/undefined/0/NaN/ 表达式时,统统被解释为false
+ id = id + '_' + titleCount;
+ }
+ header.attr("id", id);
+ return id;
+}
+
+/**
+ * 标题增加锚点效果
+ * @param header
+ * @param id
+ */
+function titleAddAnchor(header, id) {
+ header.prepend(''
+ + ''
+ + '');
+}
+
+/**
+ * 处理h1
+ * @param count 计数器
+ * @param header
+ * @param tocs 根节点
+ */
+function handlerH1Toc(config, count, header, tocs, pageLevel, modifyHeader) {
+ var title = header.text();
+ var id = header.attr('id');
+ var level = ''; //层级
+
+ if (config.showLevel) {
+ //层级显示仅在需要的时候处理
+ count.h1 += 1;
+ count.h2 = 0;
+ count.h3 = 0;
+ if (config.multipleH1) {
+ level = count.h1 + '. ';
+ } else {
+ level = ' ';
+ }
+ // 是否与官网默认主题层级序号相关联
+ if (config.associatedWithSummary && config.themeDefault.showLevel) {
+ level = pageLevel + '.' + level;
+ }
+ if (!modifyHeader) {
+ level = '';
+ }
+ header.text(level + title); //重写标题
+ }
+ titleAddAnchor(header, id);
+ tocs.push({
+ name: title,
+ level: level,
+ url: id,
+ children: []
+ });
+}
+
+/**
+ * 处理h2
+ * @param count 计数器
+ * @param header
+ */
+function handlerH2Toc(config, count, header, tocs, pageLevel, modifyHeader) {
+ var title = header.text();
+ var id = header.attr('id');
+ var level = ''; //层级
+
+ if (tocs.length <= 0) {
+ //一级节点为空时,生成一个空的一级节点,让二级节点附带在这个上面
+ // 在显示层级的时候不乱
+ if (config.showLevel) {
+ count.h1 += 1;
+ }
+ tocs.push({
+ name: "",
+ level: "",
+ url: "",
+ children: []
+ });
+ }
+
+ var h1Index = tocs.length - 1;
+ var h1Toc = tocs[h1Index];
+ if (config.showLevel) {
+ count.h2 += 1;
+ count.h3 = 0;
+ if (config.multipleH1) {
+ level = (count.h1 + '.' + count.h2 + '. ');
+ } else {
+ level = (count.h2 + '. ');
+ }
+ if (config.associatedWithSummary && config.themeDefault.showLevel) {
+ level = pageLevel + '.' + level;
+ }
+ if (!modifyHeader) {
+ level = '';
+ }
+ header.text(level + title); //重写标题
+ }
+ titleAddAnchor(header, id);
+ h1Toc.children.push({
+ name: title,
+ level: level,
+ url: id,
+ children: []
+ });
+}
+
+/**
+ * 处理h3
+ * @param count 计数器
+ * @param header
+ */
+function handlerH3Toc(config, count, header, tocs, pageLevel, modifyHeader) {
+ var title = header.text();
+ var id = header.attr('id');
+ var level = ''; //层级
+
+ if (tocs.length <= 0) {
+ //一级节点为空时,生成一个空的一级节点,让二级节点附带在这个上面
+ if (config.showLevel) {
+ count.h1 += 1;
+ }
+ tocs.push({
+ name: "",
+ level: "",
+ url: "",
+ children: []
+ });
+ }
+ var h1Index = tocs.length - 1;
+ var h1Toc = tocs[h1Index];
+ var h2Tocs = h1Toc.children;
+ if (h2Tocs.length <= 0) {
+ //二级节点为空时,生成一个空的二级节点,让三级节点附带在这个上面
+ if (config.showLevel) {
+ count.h2 += 1;
+ }
+ h2Tocs.push({
+ name: "",
+ level: "",
+ url: "",
+ children: []
+ });
+ }
+ var h2Toc = h1Toc.children[h2Tocs.length - 1];
+
+ if (config.showLevel) {
+ count.h3 += 1;
+ if (config.multipleH1) {
+ level = (count.h1 + '.' + count.h2 + '.' + count.h3 + '. ');
+ } else {
+ level = (count.h2 + '.' + count.h3 + '. ');
+ }
+ if (config.associatedWithSummary && config.themeDefault.showLevel) {
+ level = pageLevel + "." + level;
+ }
+ if (!modifyHeader) {
+ level = '';
+ }
+ header.text(level + title); //重写标题
+ }
+ titleAddAnchor(header, id);
+ h2Toc.children.push({
+ name: title,
+ level: level,
+ url: id,
+ children: []
+ });
+}
+
+/**
+ * 处理浮动导航:拼接锚点导航html,并添加到html末尾,利用css 悬浮
+ * @param tocs
+ * @returns {string}
+ */
+function handlerFloatNavbar($, tocs) {
+ var config = Config.config;
+ var float = config.float;
+ var floatIcon = float.floatIcon;
+ var level1Icon = '';
+ var level2Icon = '';
+ var level3Icon = '';
+ if (float.showLevelIcon) {
+ level1Icon = float.level1Icon;
+ level2Icon = float.level2Icon;
+ level3Icon = float.level3Icon;
+ }
+
+ var html = "
";
+ for (var i = 0; i < tocs.length; i++) {
+ var h1Toc = tocs[i];
+ if (h1Toc.name){
+ html += "