# vuepress-plugin-git-log
Integrates git logs into your page of VuePress site.
# Installation
npm install -D vuepress-plugin-git-log
# Usage
// .vuepress/config.js
module.exports = {
plugins: [
[
'vuepress-plugin-git-log',
{
additionalArgs: '--no-merge',
onlyFirstAndLastCommit: true,
},
],
],
}
# Configs
# formatTime
- type:
(timestamp: number, lang: string) => string
- default:
(timestamp, lang) => new Date(timestamp).toLocaleString(lang)
A function used to format Unix time.
# additionalProps
- type:
{ [prop: string]: string }
- default:
{}
An object that represents additional properties. Every key is a property name and value is the corresponding placeholder.
# additionalArgs
- type:
string | string[]
- default:
[]
A list of additional parameters to pass in.
# extendGitLog
- type:
(git: object) => void
- default:
undefined
A function used to extend or modify the $page.git
object.
# onlyFirstAndLastCommit
- type:
boolean
- default:
false
Whether to search for only the first and last commit. Set this option to true
for large-scale projects may optimize the initial startup performance. However, you will not be able to use $page.git.commits
and $page.git.contributors
as a cost.
# API
This plugin will add a git
property to $page
, with the following properties:
# git.author
The author of the article, i.e. the author of the first commit.
# git.created
The time the article was created, i.e. the authoring time of the first commit.
# git.updated
The time the article was updated, i.e. the committing time of the last commit.
# git.commits
A list of all the commits in chronological order.
# git.contributors
A list of contributors to all users who have modified the article.
# Demo
Input
- Author of this page: {{ $page.git.author }}
- Contributors of this page: {{ $page.git.contributors.join(', ') }}
- Last commit of this page: {{ $page.git.commits[0].fullHash }}
Output
- Author of this page: meteorlxy
- Contributors of this page: meteorlxy
- Last commit of this page: f1bf140acbd181c5f2e810c3e010c2366c187b04