avatarMartin Sidorov

Summary

The provided content is a guide on how to create an engaging GitHub profile README, including customization with a README generator, adding a contribution grid snake, and instructions on scheduling automatic updates using GitHub Actions.

Abstract

The article "How To Create An Impressive GitHub Profile README" offers a step-by-step approach to enhancing one's GitHub profile by creating a special repository that matches the user's GitHub username and populating it with a README file. It suggests using a generator like rahuldkjain/github-profile-readme-generator to easily add personal summaries, skills, and social media links. The guide also explains how to add a visually appealing contribution grid snake, which animates a snake moving through the user's contribution graph, using GitHub Actions to automate updates every 24 hours. The author provides a sample contribution-snake.yml workflow configuration and instructions on how to integrate the resulting animation into the README. The article concludes with a call to action for readers to engage with the content by clapping, following the author, and considering a Medium membership through the author's referral link.

Opinions

  • The author emphasizes the importance of a well-crafted GitHub profile README for personal branding and presentation within the GitHub community.
  • The use of a README generator is recommended for efficiency and aesthetic appeal in creating a profile README.
  • Adding a contribution grid snake is presented as a way to make a GitHub profile stand out and engage visitors.
  • The author provides a personal example of their GitHub profile README and encourages readers to customize their own profiles.
  • GitHub Actions is highlighted as a powerful tool for automating the process of updating the contribution snake grid.
  • The author acknowledges the updates and maintenance of the workflow file due to changes in the tools used (e.g., Platane/snk updates).
  • The article is written with the intent to be helpful and educational, encouraging community engagement and support for the author through Medium's clap and follow features, as well as a referral link for Medium membership.

How To Create An Impressive GitHub Profile README

Photo by Praveen Thirumurugan on Unsplash

What is GitHub profile README?

GitHub shows your profile README at the top of your profile page. You can share information about yourself with the community on GitHub by creating a profile README.

You decide what information to include in your profile README, so you have full control over how you present yourself on GitHub.

My GitHub profile looks this way:

https://github.com/Matrix278/Matrix278

My GitHub profile README

Let’s create your own GitHub profile

First of all, to create a special repository, you will need to have a new repository with the name that matches your GitHub username, so go ahead and create it if you still don’t have it.

GitHub secret repository alert

Then we will need to create a README file in it with the content you want. I have used some generator that helped me to fast get some readable casual style that looks good. Here it is https://github.com/rahuldkjain/github-profile-readme-generator.

With that, you can collect your summary, skills, social media easily. Add any of the add-ons you will love to have, like displaying top skills, visitors count, GitHub trophies, and other stats. Then, when you are ready, copy the generated content and push it into your README of the new repository.

Having this completed, you will have a new GitHub look.

Contribution grid snake

If you followed my profile to view README, you may have noticed how the snake crawls on my contribution grid. I will show you how to tune it. Thanks to https://github.com/Platane/snk.

Contribution grid snake

To create it, you will need to use GitHub Actions for that. Just head out to the Actions tab in your profile repository and create a new simple workflow file that will be suggested to you, we will change the content of it.

GitHub Actions tab

Take my workflow from yml file. This configuration will generate a contribution snake grid every 24 hours on a new branch called output, you can change it how you want it to generate for you. Don’t forget to change the github_user_name in the file as well to yours. Below you can see the yml file.

EDIT 29.03.2023: Updated yml file for new version as the maintainer provided comment that there is a new features.

EDIT 05.01.2024: Updated yml file to work with new changes.

# GitHub Action for generating a contribution graph with a snake eating your contributions.

name: Generate Snake

# Controls when the action will run. This action runs every 24 hours.

on:
  schedule:
    # every 24 hours
    - cron: "0 */24 * * *"

  # This command allows us to run the Action automatically from the Actions tab.
  workflow_dispatch:

# The sequence of runs in this workflow:
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    permissions:
      contents: write
    runs-on: ubuntu-latest
    timeout-minutes: 5

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks repo under $GITHUB_WORKSHOP, so your job can access it
      - uses: actions/checkout@v2

      # Generates a snake game from a github user (<github_user_name>) contributions graph, output a svg animation at <svg_out_path>
      - name: generate-snake-game-from-github-contribution-grid
        uses: Platane/snk@v3
        id: snake-gif
        with:
          github_user_name: {GITHUB_USER_NAME}
          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

      # show the status of the build. Makes it easier for debugging (if there's any issues).
      - run: git status

      # Push the changes
      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: master
          force: true

      - uses: crazy-max/[email protected]
        with:
          # the output branch we mentioned above
          target_branch: output
          build_dir: dist
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

After committing and pushing workflow to your branch, you can go to your README again and add your snake grid gif to any place you want it to be. As an example, by adding this piece of code and replacing {GITHUB_USER_NAME} with your GitHub username:

EDIT 29.03.2023: I am using the ocean.gif here from above yml destination folder. If you have the same yml file, you can use for example github-snake.svg or github-snake-dark.svg

<p align="center">
  <img src="https://github.com/Matrix278/Matrix278/raw/output/ocean.gif" alt="snake">
</p>

With all that completed, now you should have all configured and the snake will be updating by itself within your written schedule configuration (my 24h).

That’s all on that, if you got that far, and it helped you don’t forget to clap and follow me if you liked it, and share your opinion in the comments.

If you are not a Medium member and would like to gain unlimited access to the platform, consider supporting me by signing up with my referral link. It will help me to get a tiny amount from your fees. It’s $5 a month as a regular Medium subscription, but you will support me. Thank you :)

Github
Github Profile Readme
Software Development
Github Actions
Development
Recommended from ReadMedium