GitArt is a tool that allows users to customize their GitHub contribution graph by generating Git commit commands. With this tool, users can customize their contribution graph to display their name, messages, symbols, logos, or any other desired patterns.
- Select a year (choosing a year before joining GitHub is better).
- Left click on the squares to activate and right click to deactivate them.
- Or type a word into the text box to draw it on the graph, then adjust squares by hand if you like.
- Pick a font for the text, or make your own in the Font Editor.
- Click on one of the
Generatebuttons and follow the rest of the instructions.
Generate git commit commands
- Create a new GitHub repository.
- Clone the repository into your local machine.
- Ensure your git username and email are configured correctly.
- Copy the generated code into your terminal.
- Push the changes to the remote repository.
- Easily create Git commits to modify the contribution graph on GitHub.
- Customize the contribution graph for artistic, personal, or branding purposes.
Fonts live in public/fonts, one JSON file per font. Each glyph is a list of rows where # is a filled square and . is empty. A font can be 1 to 7 rows tall and each glyph can be its own width.
{
"name": "Classic",
"author": "sameemul-haque",
"height": 5,
"glyphs": {
"A": [".#.", "#.#", "###", "#.#", "#.#"]
}
}- Draw it in the Font Editor. It needs at least A to Z.
- Click Share on GitHub and fork the repo from the link it shows (skip this if you already have a fork).
- Click Continue to GitHub. Your font file opens already filled in.
- Click Commit changesβ¦, then Propose changes, then Create pull request.
Prefer git? Export the file from the editor, add it to public/fonts in your fork as your-font-name.json and open a pull request. A check runs on the pull request, and public/fonts/index.json is updated automatically after merging.
Plain HTML, CSS and JavaScript with no build step. Serve the public folder with any static server (for example the VS Code Live Server extension).
public/
βββ index.html main page
βββ examples.html examples page
βββ font-editor.html font editor page
βββ css/ one stylesheet per section of the page
β βββ base.css variables, body, shared link styles
β βββ header.css logo, title, description
β βββ instructions.css
β βββ text-input.css word input, hint and clear button
β βββ graph.css contribution graph and year picker
β βββ generate.css generate button
β βββ code-editor.css generated commands panel
β βββ faq.css faq section
β βββ examples.css examples page
β βββ font-editor.css font editor page
βββ js/ ES modules, loaded from main.js
β βββ main.js wires up the page
β βββ calendar.js builds the graph for a year, square click handling
β βββ dates.js date formatting helpers
β βββ font-format.js font format, validation and json output
β βββ fonts.js loads built-in fonts and saved custom fonts
β βββ font-picker.js searchable font picker
β βββ font-editor.js font editor page
β βββ text-draw.js draws typed text onto the graph
β βββ commands.js builds, copies and downloads the git commands
β βββ github.js GitHub join date lookup
β βββ icons.js svg icon paths
βββ fonts/ one json file per font, plus index.json
βββ assets/ logo and example images
βββ sitemap.xml
βββ robots.txt
βββ llms.txt site summary for ai crawlers




