mdBook/guide/src/cli/init.md

71 lines
2.0 KiB
Markdown
Raw Normal View History

# The init command
2018-08-03 05:52:54 +08:00
There is some minimal boilerplate that is the same for every new book. It's for
this purpose that mdBook includes an `init` command.
2015-09-25 04:19:14 +08:00
The `init` command is used like this:
2015-12-30 06:59:08 +08:00
```bash
mdbook init
```
When using the `init` command for the first time, a couple of files will be set
up for you:
2015-12-30 22:04:24 +08:00
```bash
book-test/
├── book
└── src
├── chapter_1.md
└── SUMMARY.md
```
- The `src` directory is where you write your book in markdown. It contains all
the source files, configuration files, etc.
- The `book` directory is where your book is rendered. All the output is ready
to be uploaded to a server to be seen by your audience.
2015-09-25 04:19:14 +08:00
- The `SUMMARY.md` is the skeleton of your
book, and is discussed in more detail [in another
chapter](../format/summary.md).
2018-08-03 05:52:54 +08:00
#### Tip: Generate chapters from SUMMARY.md
When a `SUMMARY.md` file already exists, the `init` command will first parse it
and generate the missing files according to the paths used in the `SUMMARY.md`.
This allows you to think and create the whole structure of your book and then
let mdBook generate it for you.
#### Specify a directory
The `init` command can take a directory as an argument to use as the book's root
instead of the current working directory.
2015-12-30 06:59:08 +08:00
```bash
mdbook init path/to/book
```
2018-08-03 05:52:54 +08:00
#### --theme
When you use the `--theme` flag, the default theme will be copied into a
directory called `theme` in your source directory so that you can modify it.
The theme is selectively overwritten, this means that if you don't want to
overwrite a specific file, just delete it and the default file will be used.
#### --title
Specify a title for the book. If not supplied, an interactive prompt will ask for
a title.
```bash
mdbook init --title="my amazing book"
```
2021-07-07 00:22:05 +08:00
#### --ignore
Create a `.gitignore` file configured to ignore the `book` directory created when [building] a book.
If not supplied, an interactive prompt will ask whether it should be created.
[building]: build.md