gh-repo-export
v0.1.0
Published
A tool to export GitHub repositories of a user as HTML
Readme
gh-repo-export
一个将GitHub用户的仓库信息导出为HTML和JSON文件的工具,按编程语言分类展示。
功能特点
- 获取GitHub用户的所有公共仓库
- 按编程语言分类
- 自动同时导出JSON和HTML格式
- 生成美观的HTML页面展示仓库信息
- 支持命令行使用
- 可作为库导入到其他项目
安装
# 全局安装(推荐用于命令行使用)
npm install -g gh-repo-export
# 或者作为项目依赖安装
npm install gh-repo-export命令行使用
# 导出指定用户的仓库信息(将生成 username-repos.json 和 username-repos.html)
gh-repo-export username
# 指定自定义输出文件基础名称(将生成 custom.json 和 custom.html)
gh-repo-export username custom编程使用
同时导出JSON和HTML
import { exportGithubRepoDataToJson, exportGithubRepos } from "gh-repo-export";
// 将用户的仓库数据导出为两种格式
async function exportUserData(username) {
// 首先导出JSON
const jsonPath = `${username}-repos.json`;
await exportGithubRepoDataToJson(username, jsonPath);
// 然后使用JSON数据导出HTML
const htmlPath = `${username}-repos.html`;
await exportGithubRepos(username, htmlPath, jsonPath);
}仅导出HTML
import { exportGithubRepos } from "gh-repo-export";
// 导出用户的仓库信息为HTML
await exportGithubRepos("username", "output.html");仅导出JSON
import { exportGithubRepoDataToJson } from "gh-repo-export";
// 导出用户的仓库信息为JSON
await exportGithubRepoDataToJson("username", "output.json");获取结构化数据
import { getGithubRepoData } from "gh-repo-export";
// 获取结构化的仓库数据
const data = await getGithubRepoData("username");
console.log(data.profile); // 用户信息
console.log(data.repos); // 所有仓库
console.log(data.languageGroups); // 按语言分组的仓库使用底层API
import {
checkUser,
generateHtml,
getAllRepos,
groupByLanguages
} from "gh-repo-export";
async function exportUser(username) {
// 获取用户信息
const profile = await checkUser(username);
// 获取所有仓库
const repos = await getAllRepos(username, profile.public_repos);
// 按语言分组
const groups = groupByLanguages(repos);
// 获取结构化数据
const data = { profile, repos, languageGroups: groups };
// 生成HTML
const html = generateHtml(data);
// 现在可以使用生成的HTML
console.log(html);
}