hoc/README.md

59 lines
1.5 KiB
Markdown
Raw Normal View History

2019-04-16 16:57:33 +02:00
# Hits-of-Code
2019-04-18 14:38:04 +02:00
[![Hits-of-Code](https://hitsofcode.com/github/vbrandl/hoc)](https://hitsofcode.com/view/github/vbrandl/hoc)
2019-04-18 02:00:32 +02:00
[![Docker build](https://img.shields.io/docker/cloud/build/vbrandl/hits-of-code.svg)](https://hub.docker.com/r/vbrandl/hits-of-code)
2019-04-18 01:46:08 +02:00
2019-04-16 20:00:03 +02:00
Small webservice, that returns a badge of the Hits-of-Code of a git repository, as described by [Yegor
2019-04-18 02:04:02 +02:00
Bugayenko](https://www.yegor256.com/2014/11/14/hits-of-code.html). It is implemented in
[Rust](https://www.rust-lang.org/), using the [actix-web](https://actix.rs/) web framework.
2019-04-16 16:57:33 +02:00
2019-04-18 00:55:21 +02:00
A live version of this API can be found on [hitsofcode.com](https://hitsofcode.com/).
2019-04-16 20:02:21 +02:00
2019-04-16 16:57:33 +02:00
## API
The API is as simple as
```
2019-04-16 20:00:03 +02:00
https://<host>/<service>/<user>/<repo>
2019-04-16 16:57:33 +02:00
```
2019-04-16 20:31:12 +02:00
where `<service>` is one of `gitub`, `gitlab` or `bitbucket`.
2019-04-16 20:00:03 +02:00
2019-04-16 16:57:33 +02:00
2019-04-18 01:59:42 +02:00
## 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.
## Running
Run either the binary produced by cargo, the Docker container you just built (using docker-compose) or pull the image
from [Docker Hub](https://hub.docker.com/r/vbrandl/hits-of-code)
```
$ docker run -it --rm vbrandl/hits-of-code --help
```
2019-04-16 16:57:33 +02:00
## TODO
2019-04-19 16:03:19 +02:00
* [x] Customization of badges (e.g. colors)
2019-04-16 20:00:53 +02:00
* [x] Support other platforms beside GitHub (GitLab and Bitbucket)
2019-04-16 20:00:03 +02:00
* [ ] Allow exclusion of certain files/globs from the HoC count
2019-04-16 20:37:13 +02:00
## License
`hoc` is licensed under the MIT License ([LICENSE](LICENSE) or http://opensource.org/licenses/MIT)