0.1.1 • Published 9 months ago

valaxy-addon-git-log v0.1.1

Weekly downloads
-
License
-
Repository
github
Last release
9 months ago

Installing this Plugin

pnpm add valaxy-addon-git-log

By default, the plugin retrieves Git information via API. Due to the limitations of static servers, it may not automatically obtain the repository address from the Git environment. Therefore, it is recommended to manually provide the repository address as shown below:

import { defineValaxyConfig } from 'valaxy'
import { addonGitLog } from 'valaxy-addon-git-log'

export default defineValaxyConfig({
  addons: [
    addonGitLog({
      // contributor: {
      //   mode: 'log',
      // },
      repositoryUrl: 'https://github.com/your-username/your-repository.git',
    }),
  ],
})

Using this Plugin

Basic Usage

To add Git contributors to a page, use the GitLogContributor component:

<template>
  <GitLogContributor />
</template>

Customization

If you are a theme developer or want to customize pages with git information, you can refer to the following example:

<script setup lang="ts">
import { useAddonGitLog } from 'valaxy-addon-git-log'

const { contributors } = useAddonGitLog()
</script>

<template>
  <ul>
    <li v-for="contributor in contributors" :key="contributor.email">
      <img :src="contributor.avatar" alt="Avatar" width="30" height="30">
      {{ contributor.name }}
    </li>
  </ul>
</template>

Regarding the full contributors parameter:

NameTypeDescription
namestringContributor's name
emailstringContributor's email
avatarstringContributor's avatar URL, obtained through gravatar based on email
countnumberNumber of contributions

Besides the api method, the mode option also includes log and shortLog methods. These methods allow you to generate Git information during build time, with the git log command by default adding the --no-merges parameter.

!WARNING If you use the log or shortLog method to deploy projects on static servers (such as Netlify, Vercel), there may be restrictions. To ensure proper deployment on these platforms, please use the api method.

export default defineValaxyConfig<ThemeConfig>({
  addons: [
    addonGitLog({
      debug: false,
      contributor: {
        mode: 'log',
        // logArgs: '--first-parent --follow',
      },
    }),
  ],
})

Configuration / Options

NameTypeDefaultDescription
repositoryUrlstringundefinedThe URL of the repository.
contributor.mode'api' | 'log' | 'shortLog''api'The method to generate Git information.
contributor.logArgsstring''Additional arguments for git log command.
debugbooleanundefinedEnable debug mode.

FAQ

Why does shortLog have no git information?

The 'git shortlog' command requires reading some content from standard input. This plugin uses '/dev/tty' by default to obtain the controlling terminal device of the current process, serving as the input or output device. However, on static servers such as Vercel, these '/dev/tty' or Node.js's 'options.stdio' are restricted, leading to issues.

0.1.1

9 months ago

0.1.0

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago