npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gh-repo-export

v0.1.0

Published

A tool to export GitHub repositories of a user as HTML

Readme

gh-repo-export

npm version npm downloads bundle JSDocs License javascript_code style

一个将GitHub用户的仓库信息导出为HTML和JSON文件的工具,按编程语言分类展示。

English

功能特点

  • 获取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);
}

License

MIT License © Kirk Lin