学习gitbook
关注公众号
获取最新福利
微信公众号

学习gitbook

时间: 04/19/2017作者: 网友浏览量: 1835

1. 前言

主要记录GitBook的安装配置以及一些插件信息, 下面是GitBook的一些资源

2. GitBook安装

下面介绍在本地如何安装 GitBook,如果不需要本地调试 & 不需要获得生成的 html 文件,可以直接使用 官网 提供的服务。

2.1 环境要求

  • NodeJS(v4.0.0及以上)

2.2 通过NPM安装

运行下面的命令进行安装

npm install gitbook-cli -g

其中gitbook-cli是gitbook的一个命令行工具, 通过它可以在电脑上安装和管理gitbook的多个版本.

2.3 编辑书籍

gitbook 官方已经提供了一个本地的编辑器, 使用它可以方便的编写书籍(不需要手动的写SUMMARY.md), 并且支持windows、mac、linux 三种平台, 所以强烈建议使用编辑器编写书籍.

2.4 预览书籍

使用下列命令会运行一个服务器, 通过http://localhost:4000/可以预览书籍

gitbook serve

运行该命令后会在书籍的文件夹中生成一个 _book 文件夹, 里面的内容即为生成的 html 文件. 我们可以使用下面命令来生成网页而不开启服务器

gitbook build

3. 命令

3.1 命令

这里主要介绍一下 GitBook 的命令行工具 gitbook-cli 的一些命令, 首先说明两点:

  • gitbook-cligitbook 是两个软件
  • gitbook-cli 会将下载的 gitbook 的不同版本放到 ~/.gitbook中, 可以通过设置GITBOOK_DIR环境变量来指定另外的文件夹

列出gitbook所有的命令

gitbook help

输出gitbook-cli的帮助信息

gitbook --help

生成静态网页

gitbook build

生成静态网页并运行服务器

gitbook serve

生成时指定gitbook的版本, 本地没有会先下载

gitbook build --gitbook=2.0.1

列出本地所有的gitbook版本

gitbook ls

列出远程可用的gitbook版本

gitbook ls-remote

安装对应的gitbook版本

gitbook fetch 标签/版本号

更新到gitbook的最新版本

gitbook update

卸载对应的gitbook版本

gitbook uninstall 2.0.1

指定log的级别

gitbook build --log=debug

输出错误信息

gitbook builid --debug

4. 目录结构

GitBook 基本的目录结构如下所示

.
├── book.json
├── README.md
├── SUMMARY.md
├── chapter-1/
|   ├── README.md
|   └── something.md
└── chapter-2/
    ├── README.md
    └── something.md

这里主要讲下 GitBook 预定义的几个文件的作用

4.1 book.json

存放配置信息,在下一章中所讲的配置信息都是在这个文件里定义的,关于该文件的配置可以看 配置 这个章节。

4.2 Summary

概要文件主要存放 GitBook 的文件目录信息,左侧的目录就是根据这个文件来生成的,默认对应的文件是 SUMMARY.md,可以在 book.json 重新定义该文件的对应值。它通过 Markdown 中的列表语法来表示文件的父子关系,下面是一个简单的示例:

# Summary
* [Introduction](README.md)
* [Part I](part1/README.md)
    * [Writing is nice](part1/writing.md)
    * [GitBook is nice](part1/gitbook.md)
* [Part II](part2/README.md)
    * [We love feedback](part2/feedback_please.md)
    * [Better tools for authors](part2/better_tools.md)

这个配置对应的目录结构如下所示:

gitbook01.png

我们通过使用 标题 或者 水平分割线 标志将 GitBook 分为几个不同的部分

# Summary

### Part I

* [Introduction](README.md)
* [Writing is nice](part1/writing.md)
* [GitBook is nice](part1/gitbook.md)

### Part II

* [We love feedback](part2/feedback_please.md)
* [Better tools for authors](part2/better_tools.md)

----

* [Last part without title](part3/title.md)

这个配置对应的目录结构如下所示:

gitbook02

4.3 Glossary

词汇表文件,默认对应的文件是 GLOSSARY.md。该文件主要存储词汇信息,如果在其他页面中出现了该文件中的词汇,鼠标放到词汇上会给出词汇示意,可以将鼠标移到下面两个词汇上看下效果。

Git    Markdown

Glossary 文件的格式如下所示:

## Git
分散式版本控制软件

## Markdown
Aaron Swartz 跟John Gruber共同设计的排版语言

5. GitBook配置

5.1 gitbook配置

记录Gitbook的一些配置信息

title

设置书本的标题

"title" : "Gitbook"
author

作者的相关信息

"author" : "geekjc"
description

本书的简单描述

"description" : "记录Gitbook的配置和一些插件的使用"
language

Gitbook使用的语言, 版本2.6.4中可选的语言如下:

en, ar, bn, cs, de, en, es, fa, fi, fr, he, it, ja, ko, no, pl, pt, ro, ru, sv, uk, vi, zh-hans, zh-tw

配置使用简体中文

"language" : "zh-hans",
gitbook

指定使用的gitbook版本

"gitbook" : "3.2.2",
"gitbook" : ">=3.0.0"
root

指定存放 GitBook 文件(除了 book.json)的根目录

"root": "."

在左侧导航栏添加链接信息

"links" : {
    "sidebar" : {
        "Home" : "https://www.geekjc.com"
    }
}
styles

自定义页面样式, 默认情况下各generator对应的css文件

"styles": {
    "website": "styles/website.css",
    "ebook": "styles/ebook.css",
    "pdf": "styles/pdf.css",
    "mobi": "styles/mobi.css",
    "epub": "styles/epub.css"
}

例如使<h1> <h2>标签有下边框, 可以在website.css中设置

h1 , h2{
    border-bottom: 1px solid #EFEAEA;
}
plugins

配置使用的插件

"plugins": [
    "disqus"
]

添加新插件之后需要运行gitbook install来安装新的插件

Gitbook默认带有5个插件:

  • highlight
  • search
  • sharing
  • font-settings
  • livereload

如果要去除自带的插件, 可以在插件名称前面加-

"plugins": [
    "-search"
]
pluginsConfig

配置插件的属性

"pluginsConfig": {
    "fontsettings": {
        "theme": "sepia",
        "family": "serif",
        "size":  1
    }
}
structure

指定 Readme、Summary、Glossary 和 Languages 对应的文件名,下面是这几个文件对应变量以及默认值:

变量 含义和默认值
structure.readme Readme file name (defaults to README.md)
structure.summary Summary file name (defaults to SUMMARY.md)
structure.glossary Glossary file name (defaults to GLOSSARY.md)
structure.languages Languages file name (defaults to LANGS.md)

6. GitBook 插件

6.1 gitbook插件

记录一些实用的插件, 如果要指定插件的版本可以使用 plugin@0.3.1。下面的插件在 GitBook 的 3.2.2 版本中可以正常工作,因为一些插件可能不会随着 GitBook 版本的升级而升级,即下面的插件可能不适用高版本的 GitBook,所以这里指定了 GitBook 的版本。另外本文记录的插件在 Linux 下都是可以正确工作的,windows 系统没有测试。这里只是列举了一部分插件,如果有其它的需求,可以到 插件官网 区搜索相关插件。

Disqus

添加disqus评论

插件地址

"plugins": [
    "disqus"
],
"pluginsConfig": {
    "disqus": {
        "shortName": "gitbookuse"
    }
}
Duoshuo

添加多说

插件地址

{
    "plugins": [
        "duoshuo"
    ],
    "pluginsConfig": {
        "duoshuo": {
            "short_name": "your duoshuo's shortname",
            "theme": "default"
        }
    }
}

支持中文搜索, 需要将默认的 searchlunr 插件去掉。

插件地址

{
    "plugins": ["-lunr", "-search", "search-plus"]
}
Prism

使用 Prism.js 为语法添加高亮显示,需要将 highlight 插件去掉。该插件自带的主题样式较少,可以再安装 prism-themes 插件,里面多提供了几种样式,具体的样式可以参考 这里,在设置样式时要注意设置 css 文件名,而不是样式名。

Prism 插件地址    prism-themes 插件地址

{
    "plugins": [
        "prism",
        "-highlight"
    ],
    "pluginsConfig": {
        "prism": {
            "css": [
                "prism-themes/themes/prism-base16-ateliersulphurpool.light.css"
            ]
        }
    }
}

如果需要修改背景色、字体大小等,可以在 website.css 定义 pre[class*="language-"] 类来修改,下面是一个示例:

pre[class*="language-"] {
    border: none;
    background-color: #f7f7f7;
    font-size: 1em;
    line-height: 1.2em;
}
Advanced Emoji

支持emoji表情

emoij表情列表
插件地址

"plugins": [
    "advanced-emoji"
]

使用示例:

:bowtie: :smile: :laughing: :blush: :smiley: :relaxed:

Github

添加github图标

插件地址

"plugins": [
    "github"
],
"pluginsConfig": {
    "github": {
        "url": "https://github.com/cllgeek"
    }
}
Github Buttons

添加项目在 github 上的 star,watch,fork情况

插件地址

{
    "plugins": [
        "github-buttons"
    ],
    "pluginsConfig": {
        "github-buttons": {
            "repo": "test/gitbook",
            "types": [
                "star",
                "watch",
                "fork"
            ],
            "size": "small"
        }
    }
}
Ace Plugin

插件地址

使 GitBook 支持ace 。默认情况下,line-height 为 1,会使代码显得比较挤,而作者好像没提供修改行高的选项,如果需要修改行高,可以到 node_modules -> github-plugin-ace -> assets -> ace.js 中加入下面两行代码 (30 行左右的位置):

editor.container.style.lineHeight = 1.25;
editor.renderer.updateFontSize();

不过上面的做法有个问题就是,每次使用 gitbook install 安装新的插件之后,代码又会重置为原来的样子。另外可以在 website.css 中加入下面的 css 代码来指定 ace 字体的大小

.aceCode {
  font-size: 14px !important;
}

使用插件:

"plugins": [
    "ace"
]

使用示例:

{%ace edit=true, lang='c_cpp'%} // This is a hello world program for C.

#include

int main(){ printf("Hello World!"); return 1; } {%endace%}

Emphasize

为文字加上底色

插件地址

"plugins": [
    "emphasize"
]

使用示例:

This text is {% em %}highlighted !{% endem %}

This text is {% em %}highlighted with markdown!{% endem %}

This text is {% em type="green" %}highlighted in green!{% endem %}

This text is {% em type="red" %}highlighted in red!{% endem %}

This text is {% em color="#ff0000" %}highlighted with a custom color!{% endem %}

KaTex

为了支持数学公式, 我们可以使用KaTexMathJax插件, 官网上说Katex速度要快于MathJax

插件地址
MathJax使用LaTeX语法编写数学公式教程

"plugins": [
    "katex"
]

使用示例:

When {% math %}a \ne 0{% endmath %}, there are two solutions to {% math %}(ax^2 + bx + c = 0){% endmath %} and they are {% math %}x = {-b \pm \sqrt{b^2-4ac} \over 2a}.{% endmath %}

$$ \int_{-\infty}^\infty g(x) dx $$

$$ 1 \over 3 $$

Include Codeblock

使用代码块的格式显示所包含文件的内容. 该文件必须存在。插件提供了一些配置,可以区插件官网查看。如果同时使用 ace 和本插件,本插件要在 ace 插件前面加载。

插件地址

{
    "plugins": [
        "include-codeblock"
    ],
    "pluginsConfig": {
        "include-codeblock": {
            "template": "ace",
            "unindent": "true",
            "theme": "monokai"
        }
    }
}

使用示例:

import

Splitter

使侧边栏的宽度可以自由调节

插件地址

"plugins": [
    "splitter"
]
Mermaid

支持渲染Mermaid图表
插件地址

"plugins": [
    "mermaid"
]

使用示例: {% mermaid %} graph TD; A-->B; A-->C; B-->D; C-->D; {% endmermaid %}

Sharing

分享当前页面, gitbook的默认插件, 使用下面方式来禁用

 plugins: ["-sharing"]

配置:

"pluginsConfig": {
    "sharing": {
        "weibo": true,
        "facebook": true,
        "twitter": true,
        "google": false,
        "instapaper": false,
        "vk": false,
        "all": [
            "facebook", "google", "twitter",
                "weibo", "instapaper"
        ]
    }
}

为页面添加页脚

插件地址

"plugins": [
   "tbfed-pagefooter"
],
"pluginsConfig": {
    "tbfed-pagefooter": {
        "copyright":"Copyright &copy geekjc.com 2017",
        "modify_label": "该文件修订时间:",
        "modify_format": "YYYY-MM-DD HH:mm:ss"
    }
}
Expandable-chapters-small

使左侧的章节目录可以折叠

插件地址

plugins: ["expandable-chapters-small"]
Sectionx

将页面分块显示,标签的 tag 最好是使用 b 标签,如果使用 h1-h6 可能会和其他插件冲突。
插件地址

{
    "plugins": [
       "sectionx"
   ],
    "pluginsConfig": {
        "sectionx": {
          "tag": "b"
        }
      }
}

使用示例

Insert markdown content here (you should start with h3 if you use heading).

GA

Google 统计
插件地址

"plugins": [
    "ga"
 ],
"pluginsConfig": {
    "ga": {
        "token": "UA-XXXX-Y"
    }
}
3-ba

百度统计
插件地址

{
    "plugins": ["3-ba"],
    "pluginsConfig": {
        "3-ba": {
            "token": "xxxxxxxx"
        }
    }
}

打赏插件
插件地址

"plugins": [
    "donate"
],
"pluginsConfig": {
    "donate": {
        "wechat": "http://obl1r1s1x.bkt.clouddn.com/IMG_0828.JPG",
        "alipay": "http://obl1r1s1x.bkt.clouddn.com/IMG_0829.JPG",
        "title": "",
        "button": "赏",
        "alipayText": "支付宝打赏",
        "wechatText": "微信打赏"
    }
}
Local Video

使用Video.js 播放本地视频
插件地址

"plugins": [ "local-video" ]

使用示例:为了使视频可以自适应,我们指定视频的width为100%,并设置宽高比为16:9,如下面所示

{% raw %}
<video id="my-video" class="video-js" controls preload="auto" width="100%"
poster="https://geekjc.com/resource/poster.jpg" data-setup='{"aspectRatio":"16:9"}'>
  <source src="https://geekjc.com/resource/demo.mp4" type='video/mp4' >
  <p class="vjs-no-js">
    To view this video please enable JavaScript, and consider upgrading to a web browser that
    <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
  </p>
</video>
{% endraw %}

另外我们还要再配置下css,即在website.css中加入

.video-js {
    width:100%;
    height: 100%;
}


{% raw %}

To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video

{% endraw %}

Simple-page-toc

自动生成本页的目录结构。另外 GitBook 在处理重复的标题时有些问题,所以尽量不适用重复的标题。 插件地址

{
    "plugins" : [
        "simple-page-toc"
    ],
    "pluginsConfig": {
        "simple-page-toc": {
            "maxDepth": 3,
            "skipFirstH1": true
        }
    }
}

使用方法: 在需要生成目录的地方加上 <!-- toc -->

Anchors

添加 Github 风格的锚点样式

插件地址

"plugins" : [ "anchors" ]
Anchor-navigation-ex

添加Toc到侧边悬浮导航以及回到顶部按钮。需要注意以下两点:

  • 本插件只会提取 h[1-3] 标签作为悬浮导航
  • 只有按照以下顺序嵌套才会被提取
    # h1
    ### h2
    #### h3
    必须要以 h1 开始,直接写 h2 不会被提取
    ## h2
    

插件地址

{
    "plugins": [
        "anchor-navigation-ex"
    ],
    "pluginsConfig": {
        "anchor-navigation-ex": {
            "isRewritePageTitle": true,
            "isShowTocTitleIcon": true,
            "tocLevel1Icon": "fa fa-hand-o-right",
            "tocLevel2Icon": "fa fa-hand-o-right",
            "tocLevel3Icon": "fa fa-hand-o-right"
        }
    }
}
Edit Link

如果将 GitBook 的源文件保存到github或者其他的仓库上,使用该插件可以链接到当前页的源文件上。
插件地址

"plugins": ["edit-link"],
"pluginsConfig": {
    "edit-link": {
        "base": "https://github.com/USER/REPO/edit/BRANCH",
        "label": "Edit This Page"
    }
}
Sitemap-general

生成sitemap
插件地址

{
    "plugins": ["sitemap-general"],
    "pluginsConfig": {
        "sitemap-general": {
            "prefix": "http://gitbook.geekjc.com"
        }
    }
}
Favicon

更改网站的 favicon.ico
插件地址

{
    "plugins": [
        "favicon"
    ],
    "pluginsConfig": {
        "favicon": {
            "shortcut": "assets/images/favicon.ico",
            "bookmark": "assets/images/favicon.ico",
            "appleTouch": "assets/images/apple-touch-icon.png",
            "appleTouchMore": {
                "120x120": "assets/images/apple-touch-icon-120x120.png",
                "180x180": "assets/images/apple-touch-icon-180x180.png"
            }
        }
    }
}
Todo

添加 Todo 功能。默认的 checkbox 会向右偏移 2em,如果不希望偏移,可以在 website.css 里加上下面的代码:

input[type=checkbox]{
    margin-left: -2em;
}

插件地址

"plugins": ["todo"]

使用示例:

  • [ ] write some articles
  • [x] drink a cup of tea

7. 主题

目前 GitBook 提供了三类文档: Book 文档、API文档、FAQ文档。我们常用的就是 Book 文档模式,如果我们需要使用 API 文档模式或者 FAQ 文档模式,只需引入文档对应的主题插件即可,下面我们介绍与这三类文档相关的主题插件。

7.1 Book

Book 是我们常用的模式,大部分插件也都是针对这个模式做的。下面介绍一下针对 Book 模式的两个主题。

theme-default

theme-default 是默认的 Book 主题。将 showLevel 设为 true, 就可以显示标题前面的数字索引,默认不显示。

{
    "theme-default": {
        "showLevel": true
    }
}

在使用该主题的过程中,发现经常会在控制台报下面的错误,没有找到是哪里的原因,官方也一直没有修复。

theme.js:4 Uncaught TypeError: Cannot read property 'split' of undefined

后来在 这里 看到一个解决方法,需要修改本地的 GitBook Theme 模板。下面是具体步骤:

  • 进入 GitBook 默认主题所在的文件夹 用户主目录 -> .gitbook -> versions -> 3.2.2 -> node_modules -> gitbook-plugin-theme-default -> src -> js -> theme,打开 navigation.js,找到 getChapterHash 函数

    function getChapterHash($chapter) {
      var $link = $chapter.children('a'),
          hash = $link.attr('href').split('#')[1];
    
      if (hash) hash = '#'+hash;
      return (!!hash)? hash : '';
    }
    
  • 将该函数修改为下面的形式:

    function getChapterHash($chapter) {
      var $link = $chapter.children('a'),
          hash,
          href,
          parts;
    
      if ($link.length) {
          href = $link.attr('href')
          if (href) {
              parts = href.split('#');
              if (parts.length>1) {
                  hash = parts[1];
              }
          }
      }
    
      if (hash) hash = '#'+hash;
      return (!!hash)? hash : '';
    }
    
  • 回到 gitbook-plugin-theme-default 文件夹,运行 npm install 重新编译文件。
theme-comscore

为标题添加颜色,如下如所示

插件地址

{
"plugins": [
        "theme-comscore"
    ]
}

7.2 API 文档

GitBook 同样可以编写 API 文档,只需要引入 theme-api 插件

{
    "plugins": ["theme-api"],
    "pluginsConfig": {
        "theme-api": {
            "theme": "dark"
        }
    }
}

引入之后会替换默认的样式。下面是 API 文档的样式截图和在线演示:

使用 GitBook 的 API 文档模式时也可以使用插件,但是因为大部分插件可能针对写书的模式,所以有可能会出现不兼容的现象。

API文档的语法也很简单,因为主要是针对方法的,所以以方法为基本单位,通过下面的语法来定义一个方法

{% raw %}
{% method %}

内容区

{% endmethod %}

在内容区里面,通过 {% sample lang="lang" %}来定义一个针对特定语言的演示,通过 {% common %} 标识所有语言共同的部分。下面是一个完整的示例:

<pre lang="no-highlight"><code>{% method %}
## 打印
展示 JavaScript Java 如何输出信息
{% sample lang="js" %}
这里演示 JavaScript 如何输出信息到控制台
```js
console.log('Hello World');
{% sample lang="java" %}
这里演示 Java 如何输出信息到控制台
```java
System.out.println("Hello World");
{% common %}
这里是 JavaScript Java 共同的信息
{% endmethod %}

7.3 FAQ 文档

theme-faq 插件主要用来制作知识库或者帮助中心,GitBook 的 帮助中心 就是使用的该主题。为了支持中文搜索我们需要引入 search-pro 包。

{
    "plugins": [
        "theme-faq",
        "-lunr",
        "search-pro@^2.0.2"
    ]
}

下面是该主题的截图以及在线示例:

编写帮助中心很简单,在 Summary 里配置问题以及答案所在的文件,在对应文件中写入问题的答案即可,下面是一个示例
SUMMARY.md

# Summary

* [什么 is Git](Git.md)
* [什么 is Github](Github.md)

Git.md

Git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。应注意的是,这与GNU Interactive Tools[6](一个类似Norton Commander界面的文件管理器)有所不同。

8. bookjson

8.1 bookjson

{
    "title": "js详解系列",
    "description": "讲解javascript系列",
    "author": "llnewbie",
    "output.name": "site",
    "language": "zh-hans",
    "gitbook": "3.2.2",
    "root": ".",
    "links": {
        "sidebar": {
            "Home": "http://www.geekjc.com"
        }
    },
    "plugins": [
        "-lunr",
        "-search",
        "-highlight",
        "-livereload",
        "search-plus@^0.0.11",
        "simple-page-toc@^0.1.1",
        "github@^2.0.0",
        "github-buttons@2.1.0",
        "edit-link@^2.0.2",
        "disqus@^0.1.0",
        "prism@^2.1.0",
        "prism-themes@^0.0.2",
        "advanced-emoji@^0.2.1",
        "anchors@^0.7.1",
        "include-codeblock@^3.0.2",
        "ace@^0.3.2",
        "emphasize@^1.1.0",
        "katex@^1.1.3",
        "splitter@^0.0.8",
        "tbfed-pagefooter@^0.0.1",
        "expandable-chapters-small@^0.1.7",
        "sectionx@^3.1.0",
        "donate@^1.0.2",
        "local-video@^1.0.1",
        "sitemap-general@^0.1.1",
        "anchor-navigation-ex@0.1.8",
        "favicon@^0.0.2",
        "todo@^0.1.3",
        "ga@^1.0.0"
    ],
    "pluginsConfig": {
        "theme-default": {
            "showLevel": true
        },
        "disqus": {
            "shortName": "geekjc"
        },
        "prism": {
            "css": [
                "prism-themes/themes/prism-base16-ateliersulphurpool.light.css"
            ]
        },
        "github": {
            "url": "https://github.com/cllgeek"
        },
        "github-buttons": {
            "repo": "cllgeek/js-series-book",
            "types": [
                "star"
            ],
            "size": "small"
        },
        "include-codeblock": {
            "template": "ace",
            "unindent": true,
            "edit": true
        },
        "sharing": {
            "weibo": true,
            "facebook": true,
            "twitter": true,
            "google": false,
            "instapaper": false,
            "vk": false,
            "all": [
                "facebook",
                "google",
                "twitter",
                "weibo",
                "instapaper"
            ]
        },
        "tbfed-pagefooter": {
            "copyright": "Copyright © geekjc.com 2017",
            "modify_label": "该文件修订时间:",
            "modify_format": "YYYY-MM-DD HH:mm:ss"
        },
        "ga": {
            "token": "UA-97539609-1"
        },
        "donate": {
            "wechat": "http://obl1r1s1x.bkt.clouddn.com/IMG_0828.JPG",
            "alipay": "http://obl1r1s1x.bkt.clouddn.com/IMG_0829.JPG",
            "title": "",
            "button": "赏",
            "alipayText": "支付宝打赏",
            "wechatText": "微信打赏"
        },
        "simple-page-toc": {
            "maxDepth": 3,
            "skipFirstH1": true
        },
        "edit-link": {
            "base": "https://github.com/cllgeek/js-series-book/edit/master",
            "label": "Edit This Page"
        },
        "sitemap-general": {
            "prefix": "https://www.geekjc.com"
        },
        "anchor-navigation-ex": {
            "isRewritePageTitle": false,
            "tocLevel1Icon": "fa fa-hand-o-right",
            "tocLevel2Icon": "fa fa-hand-o-right",
            "tocLevel3Icon": "fa fa-hand-o-right"
        },
        "sectionx": {
            "tag": "b"
        },
        "favicon": {
            "shortcut": "favicon.ico",
            "bookmark": "favicon.ico"
        }
    }
}
极客教程网
——一个你值得来的网站
编程笔记:学习分享,与君共勉!
轮子库:介绍各种库、插件的用途
在线工具:极客工具,在线工具,在线运行
前端导航:前端导航,前端资源聚合平台
分享
QQ群:
495489065

Copyright © 2017 - ~ All Rights Reserved. Made By Snow 备案号:粤ICP备15001588号-4