139 lines
2.7 KiB
Markdown
139 lines
2.7 KiB
Markdown
# Docki
|
|
|
|
> [!NOTE]
|
|
> This project is under renovations. It can be used, but it might not be completely stable yet.
|
|
|
|
|
|
## Preview
|
|
|
|

|
|
|
|
Docki is cli for converting asciidoctor files into html files.
|
|
|
|
## Usage
|
|
|
|
> [!NOTE]
|
|
> This works in a directory with a directory called `docs`, which contains the asciidoctor documentation.
|
|
|
|
### Building the documentation
|
|
|
|
```shell
|
|
docki build
|
|
```
|
|
|
|
### Serving the documentation on a live server
|
|
|
|
```shell
|
|
docki serve
|
|
```
|
|
|
|
## Installation
|
|
|
|
### Homebrew
|
|
|
|
```shell
|
|
brew tap quirinecker/homebrew-docki https://github.com/quirinecker/homebrew-docki
|
|
```
|
|
|
|
```
|
|
brew install docki
|
|
```
|
|
|
|
### Nix
|
|
|
|
If you just want to try it out real quick and the nix package manager is available on your system you can use the following command.
|
|
|
|
```shell
|
|
nix develop github:quirinecker/docki#preview
|
|
```
|
|
|
|
This will open a shell evnironment with docki installed. If you want to install it permanently with nix, i would recommend following the instructions in the [Nix (Advanced, Flake)](#nix-advanced-flake) section.
|
|
|
|
### Cargo
|
|
|
|
> [!NOTE]
|
|
> This is the most basic installation. It will not include asciidoctor_revealjs and asciidoctor itself. Installing asciidoctor has to be done manually, while installing asciidoctor_revealjs can be done with `docki install-reveal`
|
|
|
|
```shell
|
|
cargo install docki
|
|
```
|
|
|
|
### Docker
|
|
|
|
There is also a docker image available to use. It is primarily used for the gh actions.
|
|
|
|
```shell
|
|
docker pull ghcr.io/quirinecker/docki:latest
|
|
```
|
|
|
|
You can also build it yourself with nix.
|
|
|
|
```
|
|
nix build .#docker && docker load -i result
|
|
```
|
|
|
|
### Nix (Advanced, Flake)
|
|
|
|
> [!NOTE]
|
|
> There are multiple ways to install docki with nix. This is the way I installed it on my machine.
|
|
|
|
1. Add it to the flake inputs
|
|
|
|
```nix
|
|
docki = {
|
|
url = "github:quirinecker/docki";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
```
|
|
|
|
2. Add `@inputs` at the end of the outputs (if you haven't already)
|
|
|
|
```nix
|
|
outputs = {
|
|
nixpkgs
|
|
...
|
|
}@inputs:
|
|
...Rest of your flake...
|
|
```
|
|
|
|
3. Add the input to your system packages (system configuration) or home packages (home manager configuration)
|
|
|
|
```nix
|
|
environment.systemPackages = with pkgs; [
|
|
inputs.docki.packages.${system}.default
|
|
]
|
|
```
|
|
|
|
or
|
|
|
|
```nix
|
|
home.packages = with pkgs; [
|
|
inputs.docki.packages.${system}.default
|
|
]
|
|
```
|
|
|
|
## Development
|
|
|
|
### Running it
|
|
|
|
If you just want to run it, you can use the `nix run` command. This will install all the build dependencies, build the binary and run it.
|
|
|
|
```shell
|
|
nix run
|
|
```
|
|
|
|
### Development Shell
|
|
|
|
You can also use the development shell with the command below. In this shell all dependencies for building and running the project are installed.
|
|
|
|
```shell
|
|
nix develop
|
|
```
|
|
|
|
Afterwards it can be built and run with cargo
|
|
|
|
```shell
|
|
cargo run -- <args>
|
|
```
|
|
|