|
||
---|---|---|
.github/workflows | ||
doc | ||
nix | ||
scripts | ||
src | ||
static | ||
templates | ||
.dockerignore | ||
.drone.yml | ||
.gitignore | ||
.gitlab-ci.yml | ||
.travis.yml | ||
build.rs | ||
Cargo.lock | ||
Cargo.nix | ||
Cargo.toml | ||
crate-hashes.json | ||
default.nix | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
shell.nix | ||
vm.nix |
Hits-of-Code
Small webservice, that returns a badge of the Hits-of-Code of a git repository, as described by Yegor Bugayenko. It is implemented in Rust, using the actix-web web framework.
A live version of this webservice can be found on hitsofcode.com.
API
The API is as simple as
https://<host>/<service>/<user>/<repo>
where <service>
is one of gitub
, gitlab
or bitbucket
. The HoC data can also be received as JSON by appending
/json
to the reuqest path:
https://<host>/<service>/<user>/<repo>/json
There is also an overview page available via https://<host>/view/<service>/<user>/<repo>
To delete a repository and the cache from the server, send a POST
request to
https://<host>/<service>/<user>/<repo>/delete
. On the overview page, there is a button to perform this operation. It
will respond with a redirect to the overview page so the cache is rebuilt directly.
Building
The code can be built as a standalone binary, using cargo
or as a Docker container. Run either
$ cargo build --release
or
$ docker build .
inside the repository.
I'm currently working on migrating to nix. To get a
development shell, run nix-shell
, to build the package run nix-build --attr package
and to build the Docker image, run nix-build --attr dockerImage
.
Running
Run either the binary produced by cargo, the Docker container you just built (using docker-compose) or pull the image from Docker Hub
$ docker run -it --rm vbrandl/hits-of-code --help
When running the binary directly, you need a git binary in your PATH
.
License
hoc
is licensed under the MIT License (LICENSE or http://opensource.org/licenses/MIT)