From 150f50d3599002ff6b43eee7cb08b0700fd19f75 Mon Sep 17 00:00:00 2001 From: lowlighter <22963968+lowlighter@users.noreply.github.com> Date: Thu, 17 Sep 2020 23:27:08 +0200 Subject: [PATCH] Update README.md --- README.md | 121 +++++++++++++++++++++++++++++--- docs/imgs/plugin_lines.jpg | Bin 0 -> 7693 bytes docs/imgs/plugin_pagespeed.jpg | Bin 0 -> 17748 bytes docs/imgs/plugin_traffic.jpg | Bin 0 -> 7588 bytes docs/imgs/token_repo_rights.png | Bin 0 -> 10072 bytes 5 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 docs/imgs/plugin_lines.jpg create mode 100644 docs/imgs/plugin_pagespeed.jpg create mode 100644 docs/imgs/plugin_traffic.jpg create mode 100644 docs/imgs/token_repo_rights.png diff --git a/README.md b/README.md index b2fbe9b8..ebf49cec 100644 --- a/README.md +++ b/README.md @@ -60,14 +60,35 @@ jobs: # This line will prevent this GitHub action from running when it is updated by itself if you enabled trigger on master branch if: "!contains(github.event.head_commit.message, '[Skip GitHub Action]')" with: + # Your GitHub token ("public_repo" is required to allow this action to update the metrics SVG image) token: ${{ secrets.METRICS_TOKEN }} + # Your GitHub user name user: my-github-user + + # Additional options + # ========================================== + + # Path/filename to use to store generated SVG + filename: github-metrics.svg + # If you own a website and you added it to your GitHub profile, # You can provide a PageSpeed token to add your site's performance results on the metrics SVG image # See https://developers.google.com/speed/docs/insights/v5/get-started to obtain a key - # pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }} + plugin_pagespeed: no + pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }} + + # Enable repositories lines added/removed count + plugin_lines: no + + # Enable repositories traffic (pages views) count + # The provided GitHub token will require "repo" permissions + plugin_traffic: no + + # Enable debug logs + debug: no + ``` On each run, a new SVG image will be generated and committed to your repository. @@ -75,7 +96,7 @@ Note that this will virtually increase your commits stats, so you could use a bo ![Action update](https://github.com/lowlighter/metrics/blob/master/docs/imgs/action_update.png) -# 4. Embed the link into your README.md +### 4. Embed the link into your README.md Edit your README.md on your repository and link it your image : @@ -283,7 +304,7 @@ Check if your service is up and running : systemctl status github_metrics ``` -# 6. Embed the link into your README.md +### 6. Embed the link into your README.md Edit your README.md on your repository and link it your image : @@ -293,7 +314,89 @@ Edit your README.md on your repository and link it your image : -## 🗂️ Project structure +## 📚 Documentations + +### 🧩 Plugins + +Plugins are additional bits of . + +#### ⏱️ Pagespeed + +The *pagespeed* plugin allows you to add your website performances. + +![Pagespeed plugin](https://github.com/lowlighter/metrics/blob/master/docs/imgs/plugin_pagespeed.jpg) + +These are computed through [Google's pagespeed API](https://developers.google.com/speed/docs/insights/v5/get-started), which returns the same results as [web.dev](https://web.dev). + +To setup this plugin, you'll need an API key that you can generated in the [pagespeed API presentation](https://developers.google.com/speed/docs/insights/v5/get-started). + +The website attached to your GitHub profile will be the one to be audited. + +
+💬 Setup with GitHub actions + +Add the following to your workflow : + +```yaml +- uses: lowlighter/metrics@latest + with: + # ... other options + plugin_pagespeed: yes + pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }} +``` + +
+ +#### 👨‍💻 Lines + +The *lines* plugin allows you to add the number of lines of code you added and removed across your repositories. + +![Lines plugin](https://github.com/lowlighter/metrics/blob/master/docs/imgs/plugin_lines.jpg) + +It will consume an additional GitHub request per repository. + +
+💬 Setup with GitHub actions + +Add the following to your workflow : + +```yaml +- uses: lowlighter/metrics@latest + with: + # ... other options + plugin_lines: yes +``` + +
+ +#### 🧮 Traffic + +The *traffic* plugin allows you to add the number of pages views across your repositories. + +![Traffic plugin](https://github.com/lowlighter/metrics/blob/master/docs/imgs/plugin_traffic.jpg) + +It will consume an additional GitHub request per repository. + +Due to GitHub Rest API limitation, the GitHub token you provide will requires "repo" permissions instead of "public_repo" to allow this plugin accessing traffic informations. + +![Token with repo permissions](https://github.com/lowlighter/metrics/blob/master/docs/imgs/token_repo_rights.png) + +
+💬 Setup with GitHub actions + +Add the following to your workflow : + +```yaml +- uses: lowlighter/metrics@latest + with: + # ... other options + token: ${{ secrets.METRICS_TOKEN }} # Remember, this must have "repo" permissions for this plugin to work ! + plugin_traffic: yes +``` + +
+ +### 🗂️ Project structure * `index.mjs` contains the entry points and the settings instance * `src/app.mjs` contains the server code which serves renders and apply rate limiting, restrictions, etc. @@ -306,7 +409,7 @@ Edit your README.md on your repository and link it your image : * `action/dist/index.js` contains compiled the GitHub action code * `utils/*` contains various utilitaries for build -## ⚠️ HTTP errors code +### ⚠️ HTTP errors code The following errors code can be encountered if your using a server instance : @@ -316,15 +419,15 @@ The following errors code can be encountered if your using a server instance : * 500 Internal error : An error ocurred while generating metrics images (logs can be seen if you're the owner of the instance) * 503 Service unavailable : Maximum user capacity reached, only already cached images can be accessed for now -## 📚 Documentations +### 📖 Useful references -Below is a list of useful documentations links : +Below is a list of useful links : * [GitHub GraphQL API](https://docs.github.com/en/graphql) * [GitHub GraphQL Explorer](https://developer.github.com/v4/explorer/) * [GitHub Rest API](https://docs.github.com/en/rest) -## 📦 Used packages +### 📦 Used packages Below is a list of primary dependencies : @@ -342,7 +445,7 @@ Below is a list of primary dependencies : All icons were ripped across GitHub's site, but still remains the intellectual property of GitHub. See [GitHub Logos and Usage](https://github.com/logos) for more information. -## ✨ Inspirations +### ✨ Inspirations This project was inspired by the following projects : diff --git a/docs/imgs/plugin_lines.jpg b/docs/imgs/plugin_lines.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f792ae60fb67e2283d882f83e9e1abdb53febcd1 GIT binary patch literal 7693 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 literal 0 HcmV?d00001 diff --git a/docs/imgs/plugin_pagespeed.jpg b/docs/imgs/plugin_pagespeed.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f57224835a2d3a8d27711797951238f26de503d7 GIT binary patch literal 17748 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 literal 0 HcmV?d00001 diff --git a/docs/imgs/token_repo_rights.png b/docs/imgs/token_repo_rights.png new file mode 100644 index 0000000000000000000000000000000000000000..849938c617f5234ddd7950f5087b49ff650d32a1 GIT binary patch literal 10072 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 literal 0 HcmV?d00001