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
docki build
Serving the documentation on a live server
docki serve
Installation
Nix
This installation method is recommended, because it will include both asciidoctor and asciidoctor_revealjs.
Note: This is the most basic installation. If you are already more experienced, you might want to add it to your shell or home manager configuration.
nix profile install github:quirinecker/docki
Homebrew
Note
Installing it via homebrew will not include asciidoctor_revealjs. It can be installed afterwards with
docki install-reveal
brew tap quirinecker/docki-homebrew https://github.com/quirinecker/docki-homebrew
brew install docki
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
cargo install docki
Docker
There is also a docker image available to use. It is primarily used for the gh actions. The following chain of commands builds the docker image and afterward imports it into docker.
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.
- Add it to the flake inputs
docki = {
url = "github:quirinecker/docki";
inputs.nixpkgs.follows = "nixpkgs";
};
- Add
@inputsat the end of the outputs (if you haven't already)
outputs = {
nixpkgs
...
}@inputs:
...Rest of your flake...
- Add the input to your system packages (system configuration) or home packages (home manager configuration)
environment.systemPackages = with pkgs; [
inputs.docki.packages.${system}.default
]
or
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.
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.
nix develop
Afterwards it can be built and run with cargo
cargo run -- <args>
