diff --git a/README.md b/README.md index 829d26c..b2a38b8 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ You can see an example of the output at my own [simonecorsi/awesome](https://git -- [Table of Contents](#table-of-contents) - [Documentation](#documentation) - [Requirements](#requirements) - [Configuration](#configuration) @@ -21,32 +20,34 @@ You can see an example of the output at my own [simonecorsi/awesome](https://git ### Requirements -- An empty repository -- A personal github api key +- 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 github api token. | `${{ secrets.API_TOKEN }}` | -| `github-token` | Action Token | `${{ secrets.GITHUB_TOKEN }}` | -| `github-name` | Name used for the commit, default to action | Github Action | -| `github-email` | email used for commit, default to action | actions@users.noreply.github.com | +| Variable | Description | Default | +| ----------------- | -------------------------------------------------------------------- | -------------------------------- | +| `api-token` | Personal github api token. | `${{ secrets.API_TOKEN }}` | +| `github-token` | Action Token | `${{ secrets.GITHUB_TOKEN }}` | +| `github-name` | Name used for the commit, default to action | Github Action | +| `github-email` | email used for commit, default to action | actions@users.noreply.github.com | +| `template-path` | Custom output template file ([EJS](https://ejs.co/) template engine) | [TEMPLATE.ejs](./TEMPLATE.ejs) | +| `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 +You'll have to generate a [personal api token](https://github.com/settings/tokens/new) and then add ## Example workflow ```yml name: Update awesome list -on: +on: workflow_dispatch: schedule: - cron: '0 0 * * *' @@ -63,5 +64,4 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} github-email: ${{ secrets.USER_EMAIL }} github-name: ${{ github.repository_owner }} - ``` diff --git a/src/template.ts b/TEMPLATE.ejs similarity index 60% rename from src/template.ts rename to TEMPLATE.ejs index 6b709a9..821ce10 100644 --- a/src/template.ts +++ b/TEMPLATE.ejs @@ -1,4 +1,4 @@ -export default `# <%= username %> Awesome List [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +# <%= username %> Awesome List [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) > :star: generated with [simonecorsi/mawesome](https://github.com/simonecorsi/mawesome) @@ -11,4 +11,3 @@ export default `# <%= username %> Awesome List [![Awesome](https://cdn.rawgit.co <% } %> <% } %> -`; diff --git a/src/index.ts b/src/index.ts index 5fde684..650cf16 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,6 @@ +import path from 'path'; import * as core from '@actions/core'; -import { readdir, readFile } from 'fs/promises'; +import { readFile } from 'fs/promises'; import ghStarFetch from 'gh-star-fetch'; import { @@ -9,11 +10,13 @@ import { pushNewFiles, MARKDOWN_FILENAME, } from './helpers'; -import MD_TEMPLATE from './template'; export async function main() { // set default template - let template = MD_TEMPLATE; + let template = await readFile( + path.resolve(__dirname, './TEMPLATE.md'), + 'utf8' + ); // get template if found in the repo const customTemplatePath = core.getInput('template-path');