mirror of
https://github.com/IonicaBizau/git-stats.git
synced 2024-12-22 13:22:11 +01:00
.. | ||
README.ejs |
<!---------------------------------------------------------------------------->
<!-- STOP, LOOK & LISTEN! -->
<!-- ==================== -->
<!-- Do NOT edit this file directly since it's generated from a template -->
<!-- file, using https://github.com/IonicaBizau/node-blah -->
<!-- -->
<!-- If you found a typo in documentation, fix it in the source files -->
<!-- (`lib/*.js`) and make a pull request. -->
<!-- -->
<!-- If you have any other ideas, open an issue. -->
<!-- -->
<!-- Please consider reading the contribution steps (CONTRIBUTING.md). -->
<!-- * * * Thanks! * * * -->
<!---------------------------------------------------------------------------->
<% // Dependencies %>
<% var IsThere = require("is-there"); %>
<% var Fs = require("fs"); %>
<% var Path = require("path"); %>
<% var Ul = require("ul"); %>
<% // Compute the directory paths %>
<% var binPath = Path.join(_.path, "bin"); %>
<% var examplesPath = Path.join(_.path, "examples"); %>
<% var examplePath = Path.join(_.path, "example"); %>
<% var example = IsThere(examplePath) ? examplePath : IsThere(examplesPath) ? examplesPath : null; %>
<% var isCli = IsThere(binPath); %>
<% if (_.pack.blah.h_img) { %>
![<%- _.pack.name %>](<%- _.pack.blah.h_img %>)
<% } %>
<% // Create the name and description %>
<% if (isCli) { %>
# `$ <%- _.pack.name %>` [![Donate now][donate-now]][paypal-donations]
<% } else { %>
# <%- _.pack.name %> [![Donate now][donate-now]][paypal-donations]
<% } %>
<%- _.pack.description %>
I'd be curious to see your calendar with all your commits. Ping me on Twitter ([**@IonicaBizau**](https://twitter.com/IonicaBizau)). :smile: Until then, here's my calendar:
<% if (_.pack.blah.ex_img) { %>
![<%- _.pack.name %>](<%-_.pack.blah.ex_img %>)
<% } %>
## Contents
- [Installation](#installation)
- [Catching the `git commit` command](#catching-the-git-commit-command)
- [Using `git` hooks](#using-git-hooks)
- [Overriding the `git` command](#overriding-the-git-command)
- [Usage](#usage)
- [Importing and deleting commits](#importing-and-deleting-commits)
- [Importing all the commits from GitHub and BitBucket](#importing-all-the-commits-from-github-and-bitbucket)
- [See the GitHub Contributions calendar](#see-the-github-contributions-calendar)
- [Documentation](#documentation)
- [How to contribute](#how-to-contribute)
<% // INSTALLATION %>
## Installation
You can install the package globally and use it as command line tool:
```sh
# Install the package globally
npm i -g <%- _.pack.name %>
# Initialize git hooks
curl -s https://raw.githubusercontent.com/IonicaBizau/git-stats/master/scripts/init-git-post-commit | bash
```
Then, run `<%- _.pack.name %> --help` and see what the cli tool can do.
```sh
$ git-stats --help
git-stats --help
A GitHub-like contributions calendar, but locally, with all your git commits.
usage: git-stats [start] [end] [options] [data]
start: Optional start date
end: Optional end date
options:
-v Displays version information.
-h --help Displays this help.
--no-ansi Doesn't use ANSI colors in the squares.
--record <data> Records a new commit. Don't use this unless you are
a mad scientist. If you are a developer, just use this
option as part of the module.
--light Enable the light theme.
examples:
git-stats # Displays your commit calendar
git-stats -v
git-stats -h
git-stats --light # Light mode
git-stats '1 January 2012' # All the commits from 1 January 2012, to now
git-stats '1 January 2012' '31 December 2012' # All the commits from 2012
Your commit history is kept in the .git-stats, in your $HOME directory (~/)
Documentation can be found at https://github.com/IonicaBizau/git-stats
```
If you run `git-stats` to display graph on Windows, please use a terminal that can properly display ANSI colors.
Cygwin Terminal is known to work, while Windows Command Prompt and Git Bash do not.
### Importing and deleting commits
I know it's not nice to start your git commit calendar from scratch. That's why I
created a `git-stats-importer` that imports or deletes the commits from a repository.
Check it out here: https://github.com/IonicaBizau/git-stats-importer
The usage is simple:
```sh
# Install the importer tool
$ npm install -g git-stats-importer
# Go to the repository you want to import
$ cd path/to/my-repository
# Import the commits
$ git-stats-importer
# ...or delete them if that's a dummy repository
$ git-stats-importer --delete
```
### Importing all the commits from GitHub and BitBucket
Yes, you read correctly! That's also possible. I [built a tool for that too](https://github.com/IonicaBizau/repository-downloader)!
```sh
# Download the repository downloader
$ git clone https://github.com/IonicaBizau/repository-downloader.git
# Go to repository downloader
$ cd repository-downloader
# Install the dependencies
$ npm install
# Start downloading and importing
$ ./start
```
### See the GitHub Contributions calendar
There is a solution for that, too! :smile: It's called [`ghcal`](https://github.com/IonicaBizau/ghcal).
```sh
# Install ghcal
$ npm install -g ghcal
# Checkout my contributions
$ ghcal ionicabizau
```
For more detailed documentation, check out the repository: https://github.com/IonicaBizau/ghcal.
<% // Show the example if there is one %>
<% if (example) { %>
<% var exStrPath = Path.join(example, "index.js"); %>
<% if (!IsThere(exStrPath)) { %>
<% example = null; %>
<% } %>
<% if (example) { %>
## Example
<% if (isCli) { %>
Here is an example how to use this package as library.
<% } %>
<% var exStr = Fs.readFileSync(exStrPath, "utf-8"); %>
<% exStr = exStr.replace("../lib", _.pack.name) %>
```js
<%- exStr %>
```
<% } %>
<% } %>
<% // Documentation %>
## Documentation
<% if (isCli) { %>
For full API reference, see the [DOCUMENTATION.md][docs] file.
<% } else { %>
<% docs = docs.split("\n").slice(3).join("\n"); %>
<%- docs %>
<% } %>
<% // How to contribute %>
## How to contribute
Have an idea? Found a bug? See [how to contribute][contributing].
<% // License information %>
## License
[KINDLY][license] © [Ionică Bizău][website]–The [LICENSE](/LICENSE) file contains
a copy of the license.
<% // Links %>
[license]: http://ionicabizau.github.io/kindly-license/?author=Ionic%C4%83%20Biz%C4%83u%20%3Cbizauionica@gmail.com%3E&year=2015
[contributing]: /CONTRIBUTING.md
[website]: http://ionicabizau.net
[docs]: /DOCUMENTATION.md
[paypal-donations]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MG98D7NPFZ3MG
[donate-now]: http://i.imgur.com/jioicaN.png