From efe8b0077b0114b73af1add851d45bf2502abde4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ionic=C4=83=20Biz=C4=83u?= Date: Sun, 8 Nov 2015 17:53:04 +0200 Subject: [PATCH] :memo: --- .blah/README.ejs | 240 ----------------------------------------------- LICENSE | 2 +- README.md | 90 ++++++++++-------- package.json | 184 +++++++++++++++++++++++++++++++++++- 4 files changed, 235 insertions(+), 281 deletions(-) delete mode 100644 .blah/README.ejs diff --git a/.blah/README.ejs b/.blah/README.ejs deleted file mode 100644 index 7333928..0000000 --- a/.blah/README.ejs +++ /dev/null @@ -1,240 +0,0 @@ -<% // 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) - - [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) - - [What about the GitHub Contributions calendar?](#what-about-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 -# This is for tracking the new commits -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 -h -Usage: git-stats [options] - -Options: - -s, --since Optional start date. - -u, --until Optional end date. - -n, --no-ansi Forces the tool not to use ANSI styles. - -l, --light Enables the light theme. - -a, --authors Shows a pie chart with the author related - contributions in the current repository. - -g, --global-activity Shows global activity calendar in the current - repository. - -d, --data Sets a custom data store file. - -f, --first-day Sets the first day of the week. - --record 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. - -r, --raw Outputs a dump of the raw JSON data. - -h, --help Displays this help. - -v, --version Displays version information. - -Examples: - git-stats # Default behavior (stats in the last year) - git-stats -l # Light mode - git-stats -s '1 January 2012' # All the commits from 1 January 2012 to now - git-stats -s '1 January 2012' -u '31 December 2012' # All the commits from 2012 - -Your commit history is kept in ~/.git-stats by default. You can create ~/.git-stats-config.js to specify different defaults. - -Documentation can be found at https://github.com/IonicaBizau/git-stats -``` - -## Usage - -### Importing and deleting commits -I know it's not nice to start your git commit calendar from scratch. That's why I -created [`git-stats-importer`](https://github.com/IonicaBizau/git-stats-importer)–a tool which imports or deletes the commits from selected repositories. - -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, that's also possible. I [built a tool which downloads and then imports all the commits you have pushed to GitHub and BitBucket](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 -``` -### What about the GitHub Contributions calendar? -If you want to visualize the calendars that appear on GitHub profiles, you can do that using [`ghcal`](https://github.com/IonicaBizau/ghcal). - -```sh -# Install ghcal -$ npm install -g ghcal - -# Check out @alysonla's contributions -$ ghcal -u alysonla -``` - -For more detailed documentation, check out the repository: https://github.com/IonicaBizau/ghcal. - -If want to get even more GitHub stats in your terminal, you may want to try [`github-stats`](https://github.com/IonicaBizau/github-stats)--this is like `git-stats` but with data taken from GitHub. - -## Using the configuration file -You can tweak the git-stats behavior using a configuration file in your home directory: `~/.git-stats-config.js`. - -This file should export an object, like below (defaults are listed): - -```js -module.exports = { - // "DARK", "LIGHT" or an object interpreted by IonicaBizau/node-git-stats-colors - "theme": "DARK" - - // The file where the commit hashes will be stored - , "path": "~/.git-stats" - - // First day of the week - , first_day: "Sun" - - // This defaults to *one year ago* - // It can be any parsable date - , since: undefined - - // This defaults to *now* - // It can be any parsable date - , until: undefined - - // Don't show authors by default - // If true, this will enable the authors pie - , authors: false - - // No global activity by default - // If true, this will enable the global activity calendar in the current project - , global_activity: false -}; -``` - -Since it's a js file, you can `require` any other modules there. - -## Cross-platform compatibility - -`git-stats` is working fine in terminal emulators supporting ANSI styles. It should work fine on Linux and OS X. - -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. Improvements are more than welcome! :dizzy: - -<% // 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 %> -<% } %> - -## Press Highlights - - [*A GitHub-like contributions calendar, but locally, with all your git commits*, The Changelog](https://changelog.com/github-like-contributions-calendar-locally-git-commits/) - -<% // 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=RVXDDLKKLQRJW -[donate-now]: http://i.imgur.com/6cMbHOC.png diff --git a/LICENSE b/LICENSE index 44f5049..c479f58 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ The KINDLY License -Copyright (c) 2015 Ionică Bizău +Copyright (c) 2015 Ionică Bizău (http://ionicabizau.net) You have the permission to use this software, read its source code, modify and redistribute it under the following terms: diff --git a/README.md b/README.md index fb7d7ce..fd61a6c 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,21 @@ -![git-stats](http://i.imgur.com/Q7TQYHx.png) - -# `$ git-stats` [![Donate now][donate-now]][paypal-donations] +[![git-stats](http://i.imgur.com/Q7TQYHx.png)](#) +# `$ git-stats` [![Support this project][donate-now]][paypal-donations] Local git statistics including GitHub-like contributions calendars. 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: -![git-stats](http://i.imgur.com/PpM0i3v.png) +![](http://i.imgur.com/PpM0i3v.png) ## Contents - [Installation](#installation) - [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) - - [What about the GitHub Contributions calendar?](#what-about-the-github-contributions-calendar) + + - [Importing and deleting commits](#importing-and-deleting-commits) + - [Importing all the commits from GitHub and BitBucket](#importing-all-the-commits-from-github-and-bitbucket) + - [What about the GitHub Contributions calendar?](#what-about-the-github-contributions-calendar) + - [Documentation](#documentation) - [How to contribute](#how-to-contribute) @@ -24,35 +25,35 @@ You can install the package globally and use it as command line tool: ```sh # Install the package globally -npm i -g git-stats +npm i -g <%- _.pack.name %> # Initialize git hooks # This is for tracking the new commits curl -s https://raw.githubusercontent.com/IonicaBizau/git-stats/master/scripts/init-git-post-commit | bash ``` -Then, run `git-stats --help` and see what the cli tool can do. +Then, run `git-stats --help` and see what the CLI tool can do. ```sh -$ git-stats -h +$ git-stats --help Usage: git-stats [options] Options: - -s, --since Optional start date. - -u, --until Optional end date. - -n, --no-ansi Forces the tool not to use ANSI styles. - -l, --light Enables the light theme. - -a, --authors Shows a pie chart with the author related - contributions in the current repository. - -g, --global-activity Shows global activity calendar in the current - repository. - -d, --data Sets a custom data store file. - -f, --first-day Sets the first day of the week. - --record Records a new commit. Don't use this unless you + -s, --since Optional start date. + -u, --until Optional end date. + -n, --no-ansi Forces the tool not to use ANSI styles. + -l, --light Enables the light theme. + -a, --authors Shows a pie chart with the author related + contributions in the current repository. + -g, --global-activity Shows global activity calendar in the current + repository. + -d, --data Sets a custom data store file. + -f, --first-day Sets the first day of the week. + --record 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. - -r, --raw Outputs a dump of the raw JSON data. - -h, --help Displays this help. - -v, --version Displays version information. + use this option as part of the module. + -r, --raw Outputs a dump of the raw JSON data. + -h, --help Displays this help. + -v, --version Displays version information. Examples: git-stats # Default behavior (stats in the last year) @@ -60,16 +61,15 @@ Examples: git-stats -s '1 January 2012' # All the commits from 1 January 2012 to now git-stats -s '1 January 2012' -u '31 December 2012' # All the commits from 2012 -Your commit history is kept in ~/.git-stats by default. You can create ~/.git-stats-config.js to specify different defaults. +Your commit history is kept in ~/.git-stats by default. You can create ~/.git-stats-config.json to specify different defaults. Documentation can be found at https://github.com/IonicaBizau/git-stats ``` ## Usage - ### Importing and deleting commits -I know it's not nice to start your git commit calendar from scratch. That's why I -created [`git-stats-importer`](https://github.com/IonicaBizau/git-stats-importer)–a tool which imports or deletes the commits from selected repositories. + +I know it's not nice to start your git commit calendar from scratch. That's why I created [`git-stats-importer`](https://github.com/IonicaBizau/git-stats-importer)–a tool which imports or deletes the commits from selected repositories. Check it out here: https://github.com/IonicaBizau/git-stats-importer @@ -88,8 +88,8 @@ $ 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, that's also possible. I [built a tool which downloads and then imports all the commits you have pushed to GitHub and BitBucket](https://github.com/IonicaBizau/repository-downloader)! ```sh @@ -106,6 +106,7 @@ $ npm install $ ./start ``` ### What about the GitHub Contributions calendar? + If you want to visualize the calendars that appear on GitHub profiles, you can do that using [`ghcal`](https://github.com/IonicaBizau/ghcal). ```sh @@ -121,7 +122,8 @@ For more detailed documentation, check out the repository: https://github.com/Io If want to get even more GitHub stats in your terminal, you may want to try [`github-stats`](https://github.com/IonicaBizau/github-stats)--this is like `git-stats` but with data taken from GitHub. ## Using the configuration file -You can tweak the git-stats behavior using a configuration file in your home directory: `~/.git-stats-config.js`. + +You can tweak the git-stats behavior using a configuration file in your home directory: `~/.git-stats-config.js`. This file should export an object, like below (defaults are listed): @@ -161,11 +163,16 @@ Since it's a js file, you can `require` any other modules there. `git-stats` is working fine in terminal emulators supporting ANSI styles. It should work fine on Linux and OS X. 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. Improvements are more than welcome! :dizzy: ## Example -Here is an example how to use this package as library. +Here is an example how to use this package as library. To install it locally, as library, you can do that using `npm`: + +```sh +$ npm i git-stats +``` ```js // Dependencies @@ -180,7 +187,6 @@ g1.ansiCalendar({ }, function (err, data) { console.log(err || data); }); - ``` ## Documentation @@ -188,18 +194,26 @@ g1.ansiCalendar({ For full API reference, see the [DOCUMENTATION.md][docs] file. ## Press Highlights + - [*A GitHub-like contributions calendar, but locally, with all your git commits*, The Changelog](https://changelog.com/github-like-contributions-calendar-locally-git-commits/) ## How to contribute Have an idea? Found a bug? See [how to contribute][contributing]. +## Where is this library used? +If you are using this library in one of your projects, add it in this list. :sparkles: + + - [`git-stats-importer`](https://github.com/IonicaBizau/git-stats-importer) + ## License -[KINDLY][license] © [Ionică Bizău][website]–The [LICENSE](/LICENSE) file contains -a copy of the license. + +[KINDLY][license] © [Ionică Bizău][website] [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=RVXDDLKKLQRJW -[donate-now]: http://i.imgur.com/6cMbHOC.png \ No newline at end of file +[donate-now]: http://i.imgur.com/6cMbHOC.png + +[contributing]: /CONTRIBUTING.md +[docs]: /DOCUMENTATION.md \ No newline at end of file diff --git a/package.json b/package.json index 26594e3..aadb94d 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,186 @@ }, "blah": { "h_img": "http://i.imgur.com/Q7TQYHx.png", - "ex_img": "http://i.imgur.com/PpM0i3v.png" + "description": [ + { + "p": "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:" + }, + { + "img": { + "source": "http://i.imgur.com/PpM0i3v.png" + } + }, + { + "h2": "Contents" + }, + { + "ul": [ + "[Installation](#installation)", + [ + "[Usage](#usage)", + { + "ul": [ + "[Importing and deleting commits](#importing-and-deleting-commits)", + "[Importing all the commits from GitHub and BitBucket](#importing-all-the-commits-from-github-and-bitbucket)", + "[What about the GitHub Contributions calendar?](#what-about-the-github-contributions-calendar)" + ] + } + ], + "[Documentation](#documentation)", + "[How to contribute](#how-to-contribute)" + ] + } + ], + "installation_command": { + "language": "sh", + "content": [ + "# Install the package globally", + "npm i -g <%- _.pack.name %>", + "# Initialize git hooks", + "# This is for tracking the new commits", + "curl -s https://raw.githubusercontent.com/IonicaBizau/git-stats/master/scripts/init-git-post-commit | bash" + ] + }, + "installation": [ + { + "h2": "Usage" + }, + { + "h3": "Importing and deleting commits" + }, + { + "p": [ + "I know it's not nice to start your git commit calendar from scratch. That's why I created [`git-stats-importer`](https://github.com/IonicaBizau/git-stats-importer)–a tool which imports or deletes the commits from selected repositories.", + "Check it out here: https://github.com/IonicaBizau/git-stats-importer", + "The usage is simple:" + ] + }, + { + "code": { + "language": "sh", + "content": [ + "# 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" + ] + } + }, + { + "h3": "Importing all the commits from GitHub and BitBucket" + }, + { + "p": "Yes, that's also possible. I [built a tool which downloads and then imports all the commits you have pushed to GitHub and BitBucket](https://github.com/IonicaBizau/repository-downloader)!" + }, + { + "code": { + "language": "sh", + "content": [ + "# 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" + ] + } + }, + { + "h3": "What about the GitHub Contributions calendar?" + }, + { + "p": "If you want to visualize the calendars that appear on GitHub profiles, you can do that using [`ghcal`](https://github.com/IonicaBizau/ghcal)." + }, + { + "code": { + "language": "sh", + "content": [ + "# Install ghcal", + "$ npm install -g ghcal", + "", + "# Check out @alysonla's contributions", + "$ ghcal -u alysonla" + ] + } + }, + { + "p": [ + "For more detailed documentation, check out the repository: https://github.com/IonicaBizau/ghcal.", + "If want to get even more GitHub stats in your terminal, you may want to try [`github-stats`](https://github.com/IonicaBizau/github-stats)--this is like `git-stats` but with data taken from GitHub." + ] + }, + { + "h2": "Using the configuration file" + }, + { + "p": [ + "You can tweak the git-stats behavior using a configuration file in your home directory: `~/.git-stats-config.js`.", + "This file should export an object, like below (defaults are listed):" + ] + }, + { + "code": { + "language": "js", + "content": [ + "module.exports = {", + " // \"DARK\", \"LIGHT\" or an object interpreted by IonicaBizau/node-git-stats-colors", + " \"theme\": \"DARK\"", + "", + " // The file where the commit hashes will be stored", + " , \"path\": \"~/.git-stats\"", + "", + " // First day of the week", + " , first_day: \"Sun\"", + "", + " // This defaults to *one year ago*", + " // It can be any parsable date", + " , since: undefined", + "", + " // This defaults to *now*", + " // It can be any parsable date", + " , until: undefined", + "", + " // Don't show authors by default", + " // If true, this will enable the authors pie", + " , authors: false", + "", + " // No global activity by default", + " // If true, this will enable the global activity calendar in the current project", + " , global_activity: false", + "};" + ] + } + }, + { + "p": "Since it's a js file, you can `require` any other modules there." + }, + { + "h2": "Cross-platform compatibility" + }, + { + "p": [ + "`git-stats` is working fine in terminal emulators supporting ANSI styles. It should work fine on Linux and OS X.", + "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. Improvements are more than welcome! :dizzy:" + ] + } + ], + "press": { + "ul": [ + "[*A GitHub-like contributions calendar, but locally, with all your git commits*, The Changelog](https://changelog.com/github-like-contributions-calendar-locally-git-commits/)" + ] + } } -} +} \ No newline at end of file