Skip to content

😎 Github action to generate your own awesome list from project you've starred ordered by languages!

Notifications You must be signed in to change notification settings

simonecorsi/mawesome

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

My Awesome List

This action query the github api to get starred list of the user and then generates a list ordered by languages.

You can see an example of the output at my own simonecorsi/awesome

Table of Contents

Documentation

Requirements

  • An empty repository
  • A personal github api key

Configuration

The service can be configured setting the appropriate environment variables or writing an .env file.

Variable Description Default
api-token Personal Token is used to avoid rate limit, read more ${{ secrets.API_TOKEN }}
compact-by-topic Render another list in TOPICS.md compacted by github topics 'false'
github-name Name used for the commit Github Action
github-email email used for commit actions@users.noreply.github.com
template-path Custom README.md template, read more
output-filename Output filename README.md

api-token

The Personal API Access Token is mandatory to fetch stars from the API without incurring in Rate Limits.

You'll have to generate a personal api token and then add

compact-by-topic

If compact-by-topic is 'true' it will generate another markdown file TOPICS.md whith all stars compacted by their github topics, be aware that this list will be bigger since data is duplicated.

template-path

If you don't like the output (default example here ), you can provide your custom template that will be rendered using EJS template engine.

Path provided is relative to your current repository directory, if file is not found it will default.

Example workflow

name: Update awesome list

on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Awesome generator
        uses: simonecorsi/mawesome@latest
        with:
          api-token: ${{ secrets.API_TOKEN }}
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-email: ${{ secrets.USER_EMAIL }}
          github-name: ${{ github.repository_owner }}