Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/puripuri2100/mdbook-satysfi

A mdbook backend for generating SATySFi documents.
https://github.com/puripuri2100/mdbook-satysfi

html html5 markdown mdbook mdbook-plugins pdf rust satysfi

Last synced: 6 days ago
JSON representation

A mdbook backend for generating SATySFi documents.

Awesome Lists containing this project

README

        

# mdbook-satysfi

[![crates.io][crates-badge]][crates]
[![Build Status][ci-badge]][ci]
[![source badge][source-badge]][source]
[![license badge][license-badge]][license]

[crates]: https://crates.io/crates/mdbook-satysfi
[crates-badge]: https://img.shields.io/crates/v/mdbook-satysfi
[ci]: https://github.com/puripuri2100/mdbook-satysfi/actions/workflows/rust.yml
[ci-badge]: https://github.com/puripuri2100/mdbook-satysfi/actions/workflows/rust.yml/badge.svg
[source]: https://github.com/puripuri2100/mdbook-satysfi
[source-badge]: https://img.shields.io/badge/source-github-blue
[license]: https://github.com/puripuri2100/mdbook-satysfi/blob/master/LICENSE
[license-badge]: https://img.shields.io/badge/license-MIT-blue

- **[Documentation(ja)](https://puripuri2100.github.io/mdbook-satysfi/ja/)**
- **[Documentation PDF(ja)](https://puripuri2100.github.io/mdbook-satysfi/ja/ja.pdf)**

## Status of Rust Bookshelf

note: The PDF file was generated by manually runnig the `satysfi` command.

- ✅ compiles successfully
- ❌ compilation fails/not yet attempted

| Source | Generate SATySFi | Generate PDF | Online Version |
| :---------------------------------- | :---------------: | :------------: | :---------------------- |
|[Rust Programming Language][rust-src]| ✅ | ✅ | [HTML][rust-html] |
|[Mdbook User Guide][mdbook-src] | ✅ | ✅ |[HTML][mdbook-html] |
|[Rust By Example][example-src] | ✅ | ✅ |[HTML][example-html] |
|[Edition Guide][edition-src] | ✅ | ✅ |[HTML][edition-html] |
|[Rustc Book][rustc-src] | ✅ | ✅ |[HTML][rustc-html] |
|[Cargo Book][cargo-src] | ✅ | ✅ |[HTML][cargo-html] |
|[Rustdoc Book][rustdoc-src] | ✅ | ✅ |[HTML][rustdoc-html] |
|[Rust Reference][reference-src] | ✅ | ✅ |[HTML][reference-html] |
|[Rustonomicon][rustonomicon-src] | ✅ | ✅ |[HTML][rustonomicon-html]|
|[Embedded Rust Book][embedded-src] | ✅ | ✅ |[HTML][embedded-html] |

[rust-src]: https://github.com/rust-lang/book
[rust-html]: https://doc.rust-lang.org/book/

[mdbook-src]: https://github.com/rust-lang/mdBook/tree/master/guide
[mdbook-html]: https://rust-lang-nursery.github.io/mdBook/

[example-src]: https://github.com/rust-lang/rust-by-example
[example-html]: https://doc.rust-lang.org/stable/rust-by-example/

[edition-src]: https://github.com/rust-lang-nursery/edition-guide
[edition-html]: https://doc.rust-lang.org/edition-guide/index.html

[rustc-src]: https://github.com/rust-lang/rustc-dev-guide
[rustc-html]: https://doc.rust-lang.org/rustc/index.html

[cargo-src]: https://github.com/rust-lang/cargo/tree/master/src/doc
[cargo-html]: https://doc.rust-lang.org/cargo/index.html

[rustdoc-src]: https://github.com/rust-lang/rust/tree/master/src/doc/rustdoc
[rustdoc-html]: https://doc.rust-lang.org/rustdoc/index.html

[reference-src]: https://github.com/rust-lang-nursery/reference
[reference-html]: https://doc.rust-lang.org/reference/index.html

[rustonomicon-src]: https://github.com/rust-lang-nursery/nomicon
[rustonomicon-html]: https://doc.rust-lang.org/nomicon/index.html

[embedded-src]: https://github.com/rust-embedded/book
[embedded-html]: https://rust-embedded.github.io/book/

## Installation

### Requirements

- [Rust](https://www.rust-lang.org/)
- [mdbook](https://github.com/rust-lang-nursery/mdBook)

### Cargo install + Configuration

```sh
cargo install mdbook-satysfi
```

Add the following `toml` configuration to `book.toml`.

```toml
[output.satysfi]
```

The next `mdbook build` command will produce SATySFi file in the `book/satysfi/` directory.

## Uninstallation

To uninstall `mdbook-satysfi`, enter the following in a shell:

```sh
cargo uninstall mdbook-satysfi
```

Then delete the `[output.satysfi]` configuration in `book.toml`:

```diff
- [output.satysfi]
```

## Build PDF file

### Requirements

- [opam](https://opam.ocaml.org/) 2
- See .
- OCaml 4.11.0 (installed by opam)
- [Satyrographos](https://github.com/na4zagin3/satyrographos)
- [SATySFi](https://github.com/gfngfn/SATySFi) >= "0.0.5" (installed by Satyrographos)
- [satysfi-class-mdbook-satysfi](https://github.com/puripuri2100/satysfi-class-mdbook-satysfi) >= "0.3.0" (installed by Satyrographos)

To install opam, satyrographos and SATySFi, see [this link](https://github.com/gfngfn/SATySFi#install-using-satyrographos-for-non-devs).

To install `satysfi-class-mdbook-satysfi`, run the following command :

```sh
opam update
opam install satysfi-class-mdbook-satysfi
satyrographos install
```

### Build

Add the `pdf = true` configure in `[output.satysfi]` table:

```diff
[output.satysfi]
+ pdf = true
```

or

Please run :

```
satysfi book/satysfi/main.saty
```

**note** : SATySFi does not support image formats other than JPEG. So if you are using a format other than JPEG, please replace it *manually*.

## Primary Dependencies

`mdbook-satysfi` is built upon some really wonderful projects, including:

- [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark): Parses the markdown source AST.
- [html_parser](https://github.com/mathiversen/html-parser): Parsing the html tag.

---

(c) 2021 Naoki Kaneko (a.k.a. "puripuri2100")