https://github.com/andersevenrud/mdtome
Markdown Tome is a Gitbook clone
https://github.com/andersevenrud/mdtome
documentation gitbook markdown mdtome
Last synced: about 1 year ago
JSON representation
Markdown Tome is a Gitbook clone
- Host: GitHub
- URL: https://github.com/andersevenrud/mdtome
- Owner: andersevenrud
- Created: 2018-09-07T21:06:41.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-11-02T23:49:11.000Z (over 7 years ago)
- Last Synced: 2025-04-13T04:14:49.985Z (about 1 year ago)
- Topics: documentation, gitbook, markdown, mdtome
- Language: JavaScript
- Homepage: https://andersevenrud.github.io/mdtome
- Size: 178 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mdtome
**Markdown Tome** - A Gitbook clone.
* Fast
* Simple
* Compatible with Gitbook structure(s)
* Produces optimized builds
* Creates sitemaps by default
* Can generate PDFs
* Google Analytics and Adsense built in by default
Example: https://andersevenrud.github.io/mdtome
## Requirements
Node 8.x or later.
## Installation
```
npm install -g mdtome
```
> You can also install this locally in your projects.
## Configuration
Create a file named `.mdtome`
```javascript
module.exports = {
input: '.',
title: 'My Awesome Tome',
url: 'http://my-website.com'
};
```
See `src/config.js` for a full list of options. *TODO: Add table here*
*Regular Gitbook `book.json` file is also supported, but will not allow you to make any customization.*
## Usage
The generated output will be in `_book/` by default.
### CLI
Simply run this command in your project root directory:
```bash
mdtome [--input=path] [--output=path] [--pdf=path] [--verbose] [--watch]
```
Or if you have mdtome as a dependency in your project:
```bash
npx mdtome [--input=path] [--output=path] [--pdf=path] [--verbose] [--watch]
```
> Note, use `NODE_ENV=production mdtome ...` to make an optimized build.
### API
```javascript
const mdtome = require('mdtome');
mdtome({
/* Configuration options here */
/* Same as the .mdtome file */
}) // -> Promise
```
#### Plugins
```
module.exports = {
// Per page render
render: html => Promise.resolve(html)
// Template loading
template => (html, pdf) => Promise.resolve(html)
};
```
## Benchmarks
Using https://github.com/bagder/everything-curl
* Gitbook: `23.79s user 0.73s system 108% cpu 22.495 total`
* mdtome: `4.18s user 0.18s system 110% cpu 3.952 total`
System: i5-4670K + SSD
## TODO
* Generation: Glossary
* Generation: Languages
* Plugin: Typed quotes
* Customization: CSS/JS entry points
* UI: Highlight links based on scroll
## License
MIT