Generate Hits-of-Code badges for GitHub repositories - https://www.yegor256.com/2014/11/14/hits-of-code.html
Go to file
dependabot[bot] df022f538c
chore(deps): Bump bytes from 1.1.0 to 1.2.1
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.1.0 to 1.2.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/commits)

---
updated-dependencies:
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-30 15:07:38 +00:00
.cargo No need to ignore these advisories 2022-03-10 13:09:14 +01:00
.github Remove reviewer and ignored dependencies for dependabot 2021-05-27 12:47:10 +02:00
doc Document the caching mechanism 2019-04-19 22:57:32 +02:00
scripts Fork in for loop 2019-07-07 21:01:57 +02:00
src Migrate to config v0.12.0 2022-02-26 16:22:36 +01:00
static Update to tacit-css-1.5.5 2021-10-06 09:42:24 +02:00
templates Implement badges for sourcehut 2021-09-03 11:44:22 +02:00
tests Add test if resources are available 2022-02-01 19:16:47 +01:00
.dockerignore Ignore repo directory 2019-04-16 17:04:52 +02:00
.drone.yml Sign CI config [skip ci] 2019-05-01 22:32:34 +02:00
.env.example Add example configurations 2020-11-24 19:05:56 +01:00
.envrc Remove (unused) nix build (for now) and add direnv/lorri setup 2022-02-26 16:27:57 +01:00
.gitignore Add config so tests will work 2021-03-22 13:34:18 +01:00
build.rs Don't unwrap results in build step 2022-02-17 12:01:50 +01:00
Cargo.lock chore(deps): Bump bytes from 1.1.0 to 1.2.1 2022-07-30 15:07:38 +00:00
Cargo.toml chore(deps): Bump bytes from 1.1.0 to 1.2.1 2022-07-30 15:07:38 +00:00
docker-compose.yml Load env in docker-compose setup 2020-11-24 19:33:12 +01:00
Dockerfile fix(docker): Start with lib project for caching 2021-06-29 19:23:34 +02:00
hoc.toml Add config so tests will work 2021-03-22 13:33:56 +01:00
hoc.toml.example Add example configurations 2020-11-24 19:05:56 +01:00
LICENSE Add license 2019-04-16 20:37:13 +02:00
README.md Mention sourcehut in readme 2021-09-03 12:04:38 +02:00
shell.nix Remove (unused) nix build (for now) and add direnv/lorri setup 2022-02-26 16:27:57 +01:00

Hits-of-Code

Hits-of-Code Drone build Gitlab build dependency status

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, bitbucket or sourcehut. 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>/<service>/<user>/<repo>/view

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

Rename hoc.toml.example to hoc.toml or .env.example to .env and set the correct value for base_url/HOC_BASE_URL. If you don't want to use a configuration or dotenv file, you can pass all parameters directly via environment variables. For variable names see .env.example.

To start a local instance of the service just run:

$ HOC_BASE_URL='http://0.0.0.0:8080' ./hoc

You can also use the Docker image:

$ docker run -p 8080:8080 --env HOC_BASE_URL='http://0.0.0.0:8080' -it --rm vbrandl/hits-of-code

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)