Skip to content

Commit 71b48fb

Browse files
authored
Merge pull request #187 from Wenzel/doc/mdbook
Doc/mdbook
2 parents e37d721 + 3fb353e commit 71b48fb

18 files changed

+479
-166
lines changed

.github/workflows/ci.yml

+29
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,35 @@ jobs:
367367
asset_name: ${{ steps.artefact.outputs.name }}
368368
asset_content_type: application/vnd.debian.binary-package
369369

370+
release_book:
371+
needs: release
372+
runs-on: ubuntu-20.04
373+
374+
steps:
375+
- uses: actions/checkout@v1
376+
377+
- uses: actions/cache@v2
378+
with:
379+
path: |
380+
~/.cargo/registry
381+
~/.cargo/git
382+
target
383+
key: ${{ runner.os }}-cargo-mdbook
384+
385+
- name: install mdbook
386+
run: cargo install mdbook
387+
388+
- name: build book
389+
run: mdbook build doc
390+
391+
- name: Deploy 🚀
392+
uses: JamesIves/github-pages-deploy-action@releases/v3
393+
with:
394+
BRANCH: gh-pages
395+
# note: FOLDER doesn't care about the job's working directory
396+
FOLDER: doc/book
397+
SINGLE_COMMIT: true
398+
370399
publish:
371400
needs: release
372401
runs-on: ubuntu-20.04

.github/workflows/doc.yml

+20
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,23 @@ jobs:
1414
- uses: actions/checkout@v1
1515
- name: build docs
1616
run: cargo doc
17+
18+
book:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- uses: actions/checkout@v1
23+
24+
- uses: actions/cache@v2
25+
with:
26+
path: |
27+
~/.cargo/registry
28+
~/.cargo/git
29+
target
30+
key: ${{ runner.os }}-cargo-mdbook
31+
32+
- name: install mdbook
33+
run: cargo install mdbook
34+
35+
- name: build doc
36+
run: mdbook build doc

README.md

-165
This file was deleted.

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
doc/src/README.md

doc/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
book

doc/book.toml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[book]
2+
authors = ["Mathieu Tarral"]
3+
language = "en"
4+
multilingual = false
5+
src = "src"
6+
title = "Libmicrovmi Documentation"

doc/src/README.md

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# libmicrovmi
2+
3+
<h3 align="center">
4+
A cross-platform unified Virtual Machine Introspection API library
5+
</h3>
6+
7+
<p align="center">
8+
<a href="https://github.com/Wenzel/libmicrovmi/actions?query=workflow%3ACI">
9+
<img src="https://github.com/Wenzel/libmicrovmi/workflows/CI/badge.svg" al="CI"/>
10+
</a>
11+
<a href="https://crates.io/crates/microvmi">
12+
<img src="https://img.shields.io/crates/v/microvmi.svg" alt="crates.io"/>
13+
</a>
14+
<a href="https://docs.rs/microvmi">
15+
<img src="https://docs.rs/microvmi/badge.svg" alt="docs.rs">
16+
</a>
17+
<a href="https://gitter.im/libmicrovmi/community">
18+
<img src="https://badges.gitter.im/libmicrovmi/community.svg" alt="gitter">
19+
</a>
20+
<a href="https://gitpod.io/#https://github.com/Wenzel/libmicrovmi">
21+
<img src="https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod" alt="gitpod"/>
22+
</a>
23+
</p>
24+
<p align="center">
25+
<a href="https://libmicrovmi.github.io/">
26+
<img src="https://img.shields.io/badge/Online-Documentation-green?style=for-the-badge&logo=gitbook" alt="online_docs"/>
27+
</a>
28+
29+
</p>
30+
31+
## Table of Contents
32+
33+
- [Overview](#overview)
34+
- [Documentation](#documentation)
35+
- [Maintainers](#maintainers)
36+
- [License](#license)
37+
38+
## Overview
39+
40+
`libmicrovmi` aims to provide a cross-platform unified _Virtual Machine Introspection_ API.
41+
42+
The term micro (μ) refers to the library's simplicity as well as the letter `U`
43+
standing for `Unified` interface.
44+
45+
_Virtual Machine Introspection_ has been around since [2003](https://www.ndss-symposium.org/ndss2003/virtual-machine-introspection-based-architecture-intrusion-detection/),
46+
yet the ecosystem is still heavily fragmented and lacks standards as well as interoperability.
47+
48+
See [Documentation: VMI Ecosystem Fragmentation](https://libmicrovmi.github.io/explanation/vmi_ecosystem.html)
49+
50+
The main objective is to provide the simplest virtual machine introspection abstraction, offering a standard API to interact with
51+
any VMI provider.
52+
53+
![libmicrovmi_image](https://user-images.githubusercontent.com/964610/110927584-1dfc4500-8326-11eb-9ed5-a0732296082b.png)
54+
55+
## Documentation
56+
57+
Our documentation is available in `doc/` as an [`mdbook`](https://rust-lang.github.io/mdBook/) 📖
58+
59+
[![online_docs](https://img.shields.io/badge/Online-Documentation-green)](https://libmicrovmi.github.io/)
60+
61+
To build the docs locally:
62+
~~~
63+
$ cargo install mdbook
64+
$ mdbook build doc
65+
$ xdg-open doc/book/index.html
66+
~~~
67+
68+
69+
## Maintainers
70+
71+
- [@Wenzel](https://github.com/Wenzel)
72+
- [@rageagainsthepc](https://github.com/rageagainsthepc)
73+
74+
## License
75+
76+
[GNU General Public License v3.0](https://github.com/Wenzel/pyvmidbg/blob/master/LICENSE)

doc/src/SUMMARY.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
- [Introduction](./README.md)
2+
3+
# Tutorial
4+
5+
- [Introduction](./tutorial/intro.md)
6+
- [Memory dump example in Rust](./tutorial/rust.md)
7+
- [Memory dump example in C](./tutorial/c.md)
8+
9+
# Reference
10+
11+
- [API](./reference/api.md)
12+
- [Build Options](./reference/build_options.md)
13+
- [Integration Status](./reference/integration_status.md)
14+
15+
# Explanation
16+
17+
- [VMI API](./explanation/vmi_api.md)
18+
- [VMI Fragmentation](./explanation/vmi_ecosystem.md)

0 commit comments

Comments
 (0)