Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Platane/snk
🟩⬜ Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif
https://github.com/Platane/snk
gif github-actions github-contribution-graph github-contributions github-profile-readme snake-game svg-animations
Last synced: about 1 month ago
JSON representation
🟩⬜ Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif
- Host: GitHub
- URL: https://github.com/Platane/snk
- Owner: Platane
- Created: 2020-07-15T22:34:58.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-06T09:49:25.000Z (5 months ago)
- Last Synced: 2024-11-03T11:33:47.889Z (about 1 month ago)
- Topics: gif, github-actions, github-contribution-graph, github-contributions, github-profile-readme, snake-game, svg-animations
- Language: TypeScript
- Homepage: https://platane.github.io/snk
- Size: 30.4 MB
- Stars: 4,365
- Watchers: 18
- Forks: 1,104
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - Platane/snk - 🟩⬜ Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif (TypeScript)
- awesome-bd-readme-profile - Snk - :green_square::white_large_square: Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif (Tools / Images Gifs:)
- awesome-bd-readme-profile - Snk - :green_square::white_large_square: Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif (Tools / Images Gifs:)
- awesome-starts - Platane/snk - 🟩⬜ Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif (others)
README
# snk
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/platane/platane/main.yml?label=action&style=flat-square)](https://github.com/Platane/Platane/actions/workflows/main.yml)
[![GitHub release](https://img.shields.io/github/release/platane/snk.svg?style=flat-square)](https://github.com/platane/snk/releases/latest)
[![GitHub marketplace](https://img.shields.io/badge/marketplace-snake-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/generate-snake-game-from-github-contribution-grid)
![type definitions](https://img.shields.io/npm/types/typescript?style=flat-square)
![code style](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)Generates a snake game from a github user contributions graph
Pull a github user's contribution graph.
Make it a snake Game, generate a snake path where the cells get eaten in an orderly fashion.Generate a [gif](https://github.com/Platane/snk/raw/output/github-contribution-grid-snake.gif) or [svg](https://github.com/Platane/snk/raw/output/github-contribution-grid-snake.svg) image.
Available as github action. It can automatically generate a new image each day. Which makes for great [github profile readme](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme)
## Usage
**github action**
```yaml
- uses: Platane/snk@v3
with:
# github user name to read the contribution graph from (**required**)
# using action context var `github.repository_owner` or specified user
github_user_name: ${{ github.repository_owner }}# list of files to generate.
# one file per line. Each output can be customized with options as query string.
#
# supported options:
# - palette: A preset of color, one of [github, github-dark, github-light]
# - color_snake: Color of the snake
# - color_dots: Coma separated list of dots color.
# The first one is 0 contribution, then it goes from the low contribution to the highest.
# Exactly 5 colors are expected.
outputs: |
dist/github-snake.svg
dist/github-snake-dark.svg?palette=github-dark
dist/ocean.gif?color_snake=orange&color_dots=#bfd6f6,#8dbdff,#64a1f4,#4b91f1,#3c7dd9
```[example with cron job](https://github.com/Platane/Platane/blob/master/.github/workflows/main.yml#L26-L33)
If you are only interested in generating a svg, consider using this faster action: `uses: Platane/snk/svg-only@v3`
**dark mode**
For **dark mode** support on github, use this [special syntax](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#specifying-the-theme-an-image-is-shown-to) in your readme.
```html
```
**interactive demo**
[platane.github.io/snk](https://platane.github.io/snk)
**local**
```
npm installnpm run dev:demo
```## Implementation
[solver algorithm](./packages/solver/README.md)