GitBook is a hosted solution for documentation websites and knowledge bases. In a nutshell, you sign in to GitBook’s website and use their web-based editor to write your documentation. Or, if you’d rather maintain control over your content, you can keep it in a git repository that is integrated with GitBook. Either way, you can create different webpages and organize them in a logical order. When everything looks the way you want it, you can publish it on a custom domain.
Like so many projects, GitBook started as an open source toolchain with a commercial offering, but eventually dropped the open source project in favor of a new proprietary and closed-source offering that’s hosted exclusively on their website. The open source toolchain is still available, but as that option is now unsupported, this article only documents the new hosted option.
The advantage of GitBook over a tool like Docusaurus is that GitBook takes care of building and hosting the site, and the WYSIWYG controls are intuitive enough to be used by Markdown novices. On the GitBook website, the live editor hides the Markdown formatting syntax after you type it. The editor is a bit flaky, but weird little bugs aside, the website generally works for both Markdown experts and people who don’t have any experience with Markdown. You can also simply copy and paste Markdown-formatted text into the GitBook interface.
GitBook provides support for the following Markdown elements.
Element | Support | Notes |
---|---|---|
Headings | Yes | |
Paragraphs | Yes | |
Line Breaks | Yes | |
Bold | Yes | |
Italic | Yes | |
Blockquotes | Yes | |
Ordered Lists | Yes | |
Unordered Lists | Yes | |
Code | Yes | |
Horizontal Rules | No | |
Links | Yes | |
Images | Yes | |
Tables | Yes | |
Fenced Code Blocks | Yes | |
Syntax Highlighting | Yes | |
Footnotes | No | |
Heading IDs | Yes | |
Definition Lists | No | |
Strikethrough | Yes | |
Task Lists | Yes | |
Emoji (copy and paste) | Unknown | |
Emoji (shortcodes) | Unknown | |
Highlight | No | |
Subscript | No | |
Superscript | No | |
Automatic URL Linking | Yes | |
Disabling Automatic URL Linking | Yes | |
HTML | No |