MIT License

项目介绍

zmrlft/GreenWall 是一个托管在 GitHub 上的开源项目,主要使用 TypeScript 编写,采用 MIT License 许可证,目前获得 1.3k 个 Star、97 次 Fork。

仓库全名
zmrlft/GreenWall
开源许可证
MIT License
Star 数
1.3k
Fork 数
97
未关闭 Issue
21

README 摘要

README (English) 中文: README (中文) Contents Project Milestones How to Use Image → Contribution Heatmap Quick Tips Platform Notes Rendering Examples Development Guide Star History Disclaimer Project Milestones In early November, this project was recommended by YiFeng Ruan(阮一峰), and officially featured in Tech Enthusiast Weekly Issue 372; in mid-November, it was recommended by the well-known influencer "it咖啡馆" and…

完整内容见 GitHub 原始 README 或本页 。

常见问题

GreenWall 用什么语言开发?

主要使用 TypeScript 编写,采用 MIT License 许可证,目前有 1.3k 个 Star。

GreenWall 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 GreenWall 的源码?

可以直接克隆仓库:git clone https://github.com/zmrlft/GreenWall.git,默认分支为 main;安装与运行步骤见仓库 README。

GreenWall 最近还在维护吗?

仓库最近一次更新为 5月12日,当前有 21 个未关闭 Issue;Star 数为 1.3k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

customizing the GitHub contribution graph, allowing you to draw various patterns on it.在你的GitHub贡献历史上画画!

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1519
价值分
819
活跃状态
活跃

语言占比

CSS
Go
HTML
JavaScript
NSIS
SCSS
Shell
TypeScript

Release

README

README (English)

中文: README (中文)

Contents

Project Milestones

In early November, this project was recommended by YiFeng Ruan(阮一峰), and officially featured in Tech Enthusiast Weekly Issue 372; in mid-November, it was recommended by the well-known influencer “it咖啡馆” and featured in GitHub Weekly Hotspots Issue 93; in December, it was successfully selected as an “interesting project” by the renowned open-source community HelloGitHub Featured|HelloGitHub

How to Use

Make sure Git is installed on your computer.

app screenshot

Download the app, open it, and first grab a Personal Access Token (PAT) so you can sign in to GitHub. You can follow this guide: how to get your PAT.

Image → Contribution Heatmap

  • Upload any image (PNG/JPG/SVG) and turn it into a contribution heatmap.
  • Choose rows (1–7) and columns (1–52) to fit your image’s shape.
  • Pick a mode:
    • Auto – works for most photos and grayscale images.
    • Binary – best for black‑on‑white text or line art.
  • Fine‑tune with brightness invert, threshold, scaling filter, and stroke recovery.
  • Hover on the calendar to place the pattern, click to apply, right‑click to cancel.
Quick guide
# What you have Recommended settings
1 Black text on white background Mode: Binary; Invert: on; Smoothing: Nearest; Threshold: 0–10; Recovery 1: 12–24; Dilation: 0–1
2 Low‑contrast photo or drawing Mode: Auto; Smoothing: Bilinear; Threshold: 0–15
3 Very thin lines (≤2px) Mode: Binary; Invert: on; Smoothing: Nearest; Recovery 1: 20–28; Dilation: 1–2
4 Bright/noisy photo Mode: Auto; Smoothing: Bilinear; Threshold: 5–20

Tips

  • Use “Target rows” to keep tall images from being flattened.
  • If Binary mode looks too empty, increase “Binary stroke recovery” or add “Stroke dilation”.
  • For sharp text, keep “Scaling filter” on “Nearest (preserve sharp edges)”.

Examples

  • success_example1 – Black text, Binary mode
  • success_example2 – Grayscale photo, Auto mode
  • success_example3 – Thin line art, Binary + dilation
  • success_example4 – Balanced photo, Auto mode
  • failure_example1 – Over‑exposed photo (try higher threshold or invert off)
  • failure_example2 – Low contrast (increase threshold or use Binary + recovery)
  • failure_example3 – Noisy background (crop or smooth, then raise threshold)

Once you’re logged in you’ll see your avatar and name in the upper-left corner. Drag across the calendar to paint your design. When you’re satisfied, click Create Remote Repo. You can edit the repo name and description, choose whether it’s public or private, and then press Generate & Push to let the app create and push the repository for you automatically.

Heads-up: GitHub may take anywhere from 5 minutes to 2 days to show the contributions on your profile. You can keep the repo private and enable “Include private contributions” in your profile settings so others can’t see the repo content but the contribution streak still counts.

private setting screenshot

Quick Tips

  • Right-click while painting to toggle between the brush and the eraser.
  • Use the brush intensity control to switch between different shades of green.
  • Copy and Paste Feature: Click the “Copy Mode” button to enter copy mode. Drag to select an area on the calendar and press Ctrl+C to copy. The app will show a “Copy successful” message. After copying, the selected pattern will follow the mouse as a preview. Left-click or press Ctrl+V to paste to the target location, right-click to cancel the paste preview. Press Ctrl+V to quickly restore the last copied pattern.

Platform Notes

Windows/Linux

Download and run the application directly.

macOS

Since this application is not yet signed, you may encounter security restrictions on first launch. Follow these steps to resolve:

cd the-directory-where-green-wall.app-is-located
sudo xattr -cr ./green-wall.app
sudo xattr -r -d com.apple.quarantine ./green-wall.app

Tip: You don’t need to execute all of these commands. Try them in order from top to bottom, and stop once one resolves the issue.

Warning: The commands will not automatically launch the application. You need to manually double-click the app to start it (the commands only modify file attributes).

Rendering Examples

text catfish
lovecat helloWorld
androidlife

Development Guide

Environment setup

  • Install Go 1.24+
  • Install Node.js (v22+)
  • Install Git

Install dependent tools

go install github.com/wailsapp/wails/v2/cmd/[email protected]

Project workflow

Clone the repository and enter the directory:

git clone https://github.com/zmrlft/GreenWall.git
cd GreenWall

Install front-end dependencies:

cd frontend && npm install

Start the development environment:

wails dev

Build:

wails build

Output path: build/bin/

Star History

Star History Chart

Disclaimer

This project is provided for educational, demonstration, and research purposes related to GitHub contribution mechanics. Misuse (for example to falsify job applications) is the user’s responsibility.

评论

暂无评论