Download the PHP package square1/gwitlog without Composer
On this page you can find all versions of the php package square1/gwitlog. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download square1/gwitlog
More information about square1/gwitlog
Files in square1/gwitlog
Package gwitlog
Short Description Make developers eager to read your commit log by styling it like a social media timeline
License MIT
Informations about the package gwitlog
Gwitlog
Make developers eager to read your commit log by styling it like a social media timeline.
Based on this commitstrip comic, this tool allows you to take a commit log from a git repo and style it to look like a social media timeline.
Installation
The package can be installed by adding the "conroyp/gwitlog": "dev-master" package to your project's composer.json
.
Usage
Generating the log file
The required format of the git log is generated by running the below command on your repository:
git log --pretty=format:'%H -%d %s (%ad) <%an:%ae>'
Outputting the timeline to screen
Outputting the timeline to file
Reading from stdin rather than a flat file
Gwitlog
also supports reading from an input stream, allowing the git log
command to be piped through the script without writing the intermediary git.log
file.
Saving the above as gwitlog.php
allows us to run:
git log --pretty=format:'%H -%d %s (%ad) <%an:%ae>' | gwitlog.php > timeline.html
That leaves a file (timeline.html
) containing the formatted timeline. This allows things like a post-build hook in a local testing environment to generate a new timeline for the team to review after each successful merge.
Customising the output
It's possible to customise the output of the result. We use the Blade templating language, most commonly found in Laravel projects.
The Renderer
can be given the location of a directory containing customised views. It will expect to find three views here - header.blade.php
, gwit.blade.php
and footer.blade.php
. The call to pass on this directory can be made at any time before the outputToFile
or render
functions are called.
By default, these views shall be cached to /tmp
. If you have permission issues with your deployment or just wish for all of your project views to be cached in one place, call setCacheDirectory($path)
. This will update the cache directory used by the renderer.
Over-riding default size limits
A maximum of 20,000 commits will be handled by default. If you want to try processing more than this, calling setMaxEntries($limit)
will increase the processing limit.
Tests
phpunit
Roadmap
- Parsing regular log output, allowing multi-line commits to be visible over multiple lines
- Handling the output of
--graph
to better attach branch names to all commits on that branch - Accept url of public project and download git log from there automatically