@alt-gnome/vitepress-plugin-contributors
v1.0.0
Published
VitePress plugin for displaying contributors and teams with GitHub, Forgejo and Git integration
Maintainers
Readme
VitePress Contributors Plugin
Плагин для отображения контрибьюторов и команд в VitePress проектах с поддержкой GitHub, Forgejo и локального Git.
Установка
npm install vitepress-plugin-contributorsНастройка
1. Конфигурация VitePress
// .vitepress/config.ts
import { defineConfig } from "vitepress";
import { contributorsPlugin } from "vitepress-plugin-contributors";
export default defineConfig({
vite: {
plugins: [
contributorsPlugin({
// GitHub настройки (опционально)
github: {
token: "your_github_token",
repoOwner: "your-org",
repoName: "your-repo",
},
// Forgejo настройки (опционально)
forgejo: {
token: "your_forgejo_token",
baseUrl: "https://your-forgejo-instance.com",
repoOwner: "your-org",
repoName: "your-repo",
},
// Файл маппинга пользователей
map: "./contributors-map.yaml",
// Режим работы: 'fast' | 'ultra-fast' | 'full'
mode: "fast",
}),
],
},
});2. Файл маппинга пользователей
Создайте .vitepress/data/teams.data.yaml:
- avatar: https://avatars.githubusercontent.com/u/12345?v=4
name:
ru: Иван Иванов
en: Ivan Ivanov
title: ivanov
collaborator:
- knowledge
- maintainer
links:
- icon: github
link: https://github.com/ivanov
- icon: altlinux-space
link: https://altlinux.space/ivanov
sponsor: https://sponsor.link
mapByNameAliases:
- Ivan Ivanov
- Иван Иванов
mapByEmailAliases:
- [email protected]
mapByLoginAliases:
- ivanov-githubКомпоненты
ContributorsList- полный список контрибьюторов со статистикойAGWTeams- отображение команд с фильтрациейAGWTeam- страница командыAGWHomeTeams- команды для главной страницы
Режимы работы
Полный режим (с токенами)
- Сбор данных из GitHub API
- Сбор данных из Forgejo API
- Анализ локального Git репозитория
- Объединение и дедупликация данных
Fallback режим (без токенов)
- Используется только файл маппинга
- Идеально для демо и тестирования
Поля маппинга
avatar- URL аватараname- локализованное имяtitle- уникальный идентификаторcollaborator- роли:knowledge,maintainerlinks- ссылки на профилиsponsor- ссылка для спонсорстваmapBy*Aliases- алиасы для сопоставления
Типы источников
github- данные из GitHub APIforgejo- данные из Forgejo APIgit- данные из локального Gitgit+api- объединенные данные Git + API
