You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A library for generating a conventional changelog from git
metadata, written in Rust
About
clog creates a changelog automatically from your local git metadata. See the
clogs changelog.md for an example.
The way this works, is every time you make a commit, you ensure your commit
subject line follows the conventional format.
NOTE:clog also supports empty components by making commit messages such as
alias: message or alias(): message (i.e. without the component)
Usage
There are two ways to use clog, as a binary via the command line (See
clog-cli for details) or as a library in your applications.
See the documentation for information on using clog in your
applications.
In order to see it in action, you'll need a repository that already has some of
those specially crafted commit messages in it's history. For this, we'll use
the clog repository itself.
Clone the clog-lib repository (we will clone to our home directory to
make things simple, feel free to change it)
$ git clone https://github.com/clog-tool/clog-lib
Add clog as a dependency in your Cargo.toml
[dependencies]
clog = "*"
Use the following in your src/main.rs
externcrate clog;use clog::Clog;fnmain(){// Create the structletmut clog = Clog::with_git_work_tree("~/clog").unwrap().repository("https://github.com/thoughtram/clog").subtitle("Crazy Dog").changelog("changelog.md").from("6d8183f").version("0.1.0");// Write the changelog to the current working directory//// Alternatively we could have used .write_changelog_to("/somedir/some_file.md")
clog.write_changelog().unwrap();}
Compile and run `$ cargo build --release && ./target/release/bin_name
View the output in your favorite markdown viewer! $ vim changelog.md
Configuration
clog can also be configured using a configuration file in TOML.
See the examples/clog.toml for available options.
Companion Projects
clog-cli - A command line tool
that uses this library to generate changelogs.
Commitizen - A command line tool that
helps you writing better commit messages.
LICENSE
clog is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.
About
A library for generating conventional changelogs from git metadata, written in Rust