Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonecorsi/mawesome
😎 Github action to generate your own awesome list from project you've starred ordered by languages!
https://github.com/simonecorsi/mawesome
List: mawesome
actions awesome awesome-list awesome-lists github github-actions starred starred-repositories typescript
Last synced: 1 day ago
JSON representation
😎 Github action to generate your own awesome list from project you've starred ordered by languages!
- Host: GitHub
- URL: https://github.com/simonecorsi/mawesome
- Owner: simonecorsi
- Created: 2021-01-15T09:39:18.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-01T05:16:13.000Z (4 months ago)
- Last Synced: 2024-12-20T00:34:07.723Z (about 1 month ago)
- Topics: actions, awesome, awesome-list, awesome-lists, github, github-actions, starred, starred-repositories, typescript
- Language: JavaScript
- Homepage:
- Size: 4.22 MB
- Stars: 92
- Watchers: 3
- Forks: 5
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome - simonecorsi/mawesome - 😎 Github action to generate your own awesome list from project you've starred ordered by languages! (JavaScript)
README
# 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](https://github.com/simonecorsi/awesome)
## Table of Contents
- [Documentation](#documentation)
- [Requirements](#requirements)
- [Configuration](#configuration)
- [`api-token`](#api-token)
- [`compact-by-topic`](#compact-by-topic)
- [`template-path`](#template-path)
- [Example workflow](#example-workflow)## 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](#api-token) | `${{ 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 | [email protected] |
| `template-path` | Custom `README.md` template, [read more](#template-path) |
| `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](https://github.com/settings/tokens/new) 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](./TEMPLATE.ejs) ), you can provide your custom template that will be rendered using [EJS](https://ejs.co/) template engine.
**Path provided is relative to your current repository directory, if file is not found it will default.**
## Example workflow
```yml
name: Update awesome liston:
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 }}
```