mdBook/README.md

77 lines
3.2 KiB
Markdown
Raw Normal View History

2016-04-02 11:38:53 +08:00
# mdBook
2016-03-08 08:03:44 +08:00
[![Build Status](https://github.com/rust-lang/mdBook/workflows/CI/badge.svg?event=push)](https://github.com/rust-lang/mdBook/actions?workflow=CI)
2019-10-21 05:44:28 +08:00
[![crates.io](https://img.shields.io/crates/v/mdbook.svg)](https://crates.io/crates/mdbook)
[![LICENSE](https://img.shields.io/github/license/rust-lang/mdBook.svg)](LICENSE)
2015-07-08 06:04:28 +08:00
2016-12-29 23:25:51 +08:00
mdBook is a utility to create modern online books from Markdown files.
2015-07-08 06:04:28 +08:00
2021-12-20 12:26:37 +08:00
Check out the **[User Guide]** for a list of features and installation and usage information.
The User Guide also serves as a demonstration to showcase what a book looks like.
2015-07-30 18:58:54 +08:00
2021-12-20 12:26:37 +08:00
If you are interested in contributing to the development of mdBook, check out the [Contribution Guide].
2015-07-29 20:34:15 +08:00
## Container
> **NOTE**: You need to have docker installed
> https://docs.docker.com/engine/install/
1. Locate a local directory with md files
2. Quickly run a docker container with the current version:
```console
docker run -ti -v $(pwd):/mdbook -p 3000:3000 rust-lang/mdbook
```
:memo: :recycle: add docker compose instructions $ docker compose build [+] Building 1.9s (24/24) FINISHED docker-container:mac-linux-builder => [mdbook internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 2.47kB 0.0s => [mdbook internal] load metadata for docker.io/rustlang/rust:nightly-buster-slim 1.4s => [mdbook internal] load metadata for docker.io/library/alpine:3.18.4 1.3s => [mdbook auth] library/alpine:pull token for registry-1.docker.io 0.0s => [mdbook auth] rustlang/rust:pull token for registry-1.docker.io 0.0s => [mdbook internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [mdbook internal] load build context 0.0s => => transferring context: 4.94kB 0.0s => [mdbook runtime 1/2] FROM docker.io/library/alpine:3.18.4@sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978 0.0s => => resolve docker.io/library/alpine:3.18.4@sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978 0.0s => [mdbook builder 1/13] FROM docker.io/rustlang/rust:nightly-buster-slim@sha256:328863752ff0c44a09be7c19d612de90e2a59fc2547496317cc2b01b0c1d1bd0 0.0s => => resolve docker.io/rustlang/rust:nightly-buster-slim@sha256:328863752ff0c44a09be7c19d612de90e2a59fc2547496317cc2b01b0c1d1bd0 0.0s => CACHED [mdbook builder 2/13] RUN apt-get update && apt-get install -y git 0.0s => CACHED [mdbook builder 3/13] WORKDIR /usr/src/github.com/rust-lang 0.0s => CACHED [mdbook builder 4/13] RUN USER=root cargo new mdBook 0.0s => CACHED [mdbook builder 5/13] WORKDIR /usr/src/github.com/rust-lang/mdBook 0.0s => CACHED [mdbook builder 6/13] RUN rustup default stable 0.0s => CACHED [mdbook builder 7/13] RUN rustup target add x86_64-unknown-linux-musl 0.0s => CACHED [mdbook builder 8/13] COPY Cargo.toml Cargo.lock /usr/src/github.com/rust-lang/mdBook 0.0s => CACHED [mdbook builder 9/13] COPY examples /usr/src/github.com/rust-lang/mdBook/examples 0.0s => CACHED [mdbook builder 10/13] RUN cargo build -vv --config "net.git-fetch-with-cli=true" --target x86_64-unknown-linux-musl --release 0.0s => CACHED [mdbook builder 11/13] WORKDIR /usr/src/github.com/rust-lang/mdBook 0.0s => CACHED [mdbook builder 12/13] COPY src /usr/src/github.com/rust-lang/mdBook/src 0.0s => CACHED [mdbook builder 13/13] RUN cargo build --locked --bin mdbook --release --target x86_64-unknown-linux-musl 0.0s => CACHED [mdbook runtime 2/2] COPY --from=builder /usr/src/github.com/rust-lang/mdBook/target/x86_64-unknown-linux-musl/release/mdbook /usr/local/bin/mdbook 0.0s => [mdbook] exporting to docker image format 0.3s => => exporting layers 0.0s => => exporting manifest sha256:f4bff2d67ccffb4741203fb90e532154b0e1714343d361ebc1ca682de293fdc9 0.0s => => exporting config sha256:d222b963c70cb9ac09fd3ae7c4c51e4605340c6d5a0930cf6b9c85ce145a5b74 0.0s => => sending tarball 0.3s => [mdbook mdbook] importing to docker 0.0s
2023-11-24 00:57:14 +08:00
* Using docker-compose.yaml, you can run to load the sources from the `test-book`.
```console
$ docker compose up --build
[+] Building 0.0s (0/0) docker-container:mac-linux-builder
[+] Running 1/1
✔ Container rustlang-mdbook Recreated 0.1s
Attaching to rustlang-mdbook
rustlang-mdbook | 2023-11-23 16:52:59 [INFO] (mdbook::book): Book building has started
rustlang-mdbook | 2023-11-23 16:52:59 [INFO] (mdbook::book): Running the html backend
rustlang-mdbook | 2023-11-23 16:53:00 [INFO] (mdbook::cmd::serve): Serving on: http://0.0.0.0:3000
rustlang-mdbook | 2023-11-23 16:53:00 [INFO] (warp::server): Server::run; addr=0.0.0.0:3000
rustlang-mdbook | 2023-11-23 16:53:00 [INFO] (warp::server): listening on http://0.0.0.0:3000
rustlang-mdbook | 2023-11-23 16:53:00 [INFO] (mdbook::cmd::watch): Listening for changes...
```
* Test it in a container as well
> **NOTE**: docker compose creates a default network with the name of the `dir_default`
```console
docker run -ti --network mdbook_default alpine/lynx mdbook:3000
Introduction (p1 of 3)
1. Prefix Chapter
2.
3. 1. Introduction
4. 2. Draft Chapter
5.
6. Actual Markdown Tag Examples
7. 3. Markdown Individual tags
8.
1. 3.1. Heading
2. 3.2. Paragraphs
3. 3.3. Line Break
4. 3.4. Emphasis
5. 3.5. Blockquote
6. 3.6. List
7. 3.7. Code
8. 3.8. Image
9. 3.9. Links and Horizontal Rule
10. 3.10. Tables
```
2015-07-29 20:34:15 +08:00
## License
All the code in this repository is released under the ***Mozilla Public License v2.0***, for more information take a look at the [LICENSE] file.
[User Guide]: https://rust-lang.github.io/mdBook/
[contribution guide]: https://github.com/rust-lang/mdBook/blob/master/CONTRIBUTING.md
[LICENSE]: https://github.com/rust-lang/mdBook/blob/master/LICENSE