Files
metrics/.github/workflows/examples.yml
2022-01-15 14:43:31 -05:00

1159 lines
42 KiB
YAML

# THIS WORKFLOW IS AUTO-GENERATED
name: Publish examples
on:
schedule:
- cron: "0 8 1/2 * *"
workflow_dispatch:
workflow_call:
jobs:
# ======================================================================================
# Examples renders
# ======================================================================================
examples:
runs-on: ubuntu-latest
if: "github.repository == 'lowlighter/metrics'"
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Checkout examples
run: git checkout examples
- name: 🗃️ Base content - Default metrics
uses: lowlighter/metrics@master
with:
filename: metrics.base.svg
token: ${{ secrets.METRICS_TOKEN }}
base: header, activity, community, repositories, metadata
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🧱 Core - Organization
uses: lowlighter/metrics@master
with:
filename: metrics.organization.svg
user: github
token: ${{ secrets.METRICS_TOKEN_WITH_SCOPES }}
base: header, repositories
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🧱 Core - Large display
uses: lowlighter/metrics@master
with:
filename: metrics.large.svg
token: ${{ secrets.METRICS_TOKEN }}
config_display: large
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🧱 Core - JSON metrics
if: ${{ success() || failure() }}
uses: lowlighter/metrics@master
with:
filename: metrics.example.json
token: ${{ secrets.METRICS_TOKEN }}
config_output: json
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
- name: 🧱 Core - PNG metrics
if: ${{ success() || failure() }}
uses: lowlighter/metrics@master
with:
filename: metrics.example.png
token: ${{ secrets.METRICS_TOKEN }}
config_output: png
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
- name: 🧱 Core - Plugin error example
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.error.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_projects: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📅 Isometric commit calendar - Half-year calendar
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.isocalendar.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_isocalendar: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📅 Isometric commit calendar - Full-year calendar
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.isocalendar.fullyear.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_isocalendar: 'yes'
plugin_isocalendar_duration: full-year
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🈷️ Most used languages - Most used
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.languages.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_languages: 'yes'
plugin_languages_ignored: >-
html, css, tex, less, dockerfile, makefile, qmake, lex, cmake, shell,
gnuplot
plugin_languages_limit: 4
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🈷️ Most used languages - Most used (with details)
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.languages.details.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_languages: 'yes'
plugin_languages_ignored: >-
html, css, tex, less, dockerfile, makefile, qmake, lex, cmake, shell,
gnuplot
plugin_languages_details: bytes-size, percentage
plugin_languages_limit: 4
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🈷️ Most used languages - Recently used
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.languages.recent.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_languages: 'yes'
plugin_languages_ignored: >-
html, css, tex, less, dockerfile, makefile, qmake, lex, cmake, shell,
gnuplot
plugin_languages_sections: recently-used
plugin_languages_details: bytes-size, percentage
plugin_languages_limit: 4
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🈷️ Most used languages - Indepth analysis
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.languages.indepth.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_languages: 'yes'
plugin_languages_ignored: >-
html, css, tex, less, dockerfile, makefile, qmake, lex, cmake, shell,
gnuplot
plugin_languages_indepth: 'yes'
plugin_languages_details: lines, bytes-size
plugin_languages_limit: 4
plugin_languages_analysis_timeout: 15
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📌 Starred topics - Labels
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.topics.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_topics: 'yes'
plugin_topics_limit: 12
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📌 Starred topics - Icons
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.topics.icons.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_topics: 'yes'
plugin_topics_limit: 0
plugin_topics_mode: icons
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🌟 Recently starred repositories - Recently starred
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.stars.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_stars: 'yes'
plugin_stars_limit: 3
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📜 Repository licenses - Licenses and permissions
with:
filename: metrics.plugin.licenses.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
template: repository
repo: metrics
plugin_licenses: 'yes'
plugin_licenses_setup: npm ci
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
uses: lowlighter/metrics@master
- name: 📜 Repository licenses - Licenses with open-source ratio graphs
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.licenses.ratio.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
template: repository
repo: metrics
plugin_licenses: 'yes'
plugin_licenses_setup: npm ci
plugin_licenses_legal: 'no'
plugin_licenses_ratio: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💡 Coding habits - Midly interesting facts
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.habits.facts.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_habits: 'yes'
plugin_habits_facts: 'yes'
plugin_habits_charts: 'no'
config_timezone: Europe/Paris
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💡 Coding habits - Recent activity charts
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.habits.charts.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_habits: 'yes'
plugin_habits_facts: 'no'
plugin_habits_charts: 'yes'
config_timezone: Europe/Paris
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🏅 Repository contributors - Contributors with contributions count
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.contributors.contributions.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
template: repository
repo: metrics
plugin_contributors: 'yes'
plugin_contributors_contributions: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🏅 Repository contributors - Contributors by categories
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.contributors.categories.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
template: repository
repo: metrics
plugin_contributors: 'yes'
plugin_contributors_sections: categories
plugin_contributors_categories: |
{
"🧩 Plugins / 🖼️ templates":["source/plugins/**", "source/templates/**"],
"📚 Documentation":["README.md", "**/README.md", "**/metadata.yml"],
"💻 Code (other)":["source/**", "Dockerfile"]
}
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎟️ Follow-up of issues and pull requests - Opened on user's repositories
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.followup.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_followup: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎟️ Follow-up of issues and pull requests - Opened by user
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.followup.user.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_followup: 'yes'
plugin_followup_sections: user
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎟️ Follow-up of issues and pull requests - Indepth analysis
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.followup.indepth.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_followup: 'yes'
plugin_followup_indepth: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎭 Comment reactions - Comment reactions
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.reactions.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_reactions: 'yes'
plugin_reactions_limit: 100
plugin_reactions_details: percentage
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🧑‍🤝‍🧑 People plugin - Followers
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.people.followers.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_people: 'yes'
plugin_people_types: followers
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🧑‍🤝‍🧑 People plugin - Contributors and sponsors
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.people.repository.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
template: repository
repo: metrics
plugin_people: 'yes'
plugin_people_types: contributors, stargazers, watchers, sponsors
plugin_people_sponsors_custom: >-
iamsainikhil, yutkat, KasparJohannesSchneider, ktnkk, tfSheol, haribo-io,
marcreichel
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ✨ Stargazers over last weeks - Last weeks stargazers
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.stargazers.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_stargazers: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🗂️ Active projects - Project from a repository
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.projects.svg
token: ${{ secrets.METRICS_TOKEN_WITH_SCOPES }}
base: ''
plugin_projects: 'yes'
plugin_projects_repositories: lowlighter/metrics/projects/1
plugin_projects_descriptions: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ♐ Code snippet of the day - JavaScript or TypeScript snippet of the day
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.code.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_code: 'yes'
plugin_code_languages: javascript, typescript
plugin_code_load: 400
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📰 Recent activity - Recent activity
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.activity.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_activity: 'yes'
plugin_activity_limit: 5
plugin_activity_days: 0
plugin_activity_filter: issue, pr, release, fork, review, ref/create
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🏆 Achievements - Detailed display
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.achievements.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_achievements: 'yes'
plugin_achievements_only: sponsor, maintainer, octonaut
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🏆 Achievements - Compact display
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.achievements.compact.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_achievements: 'yes'
plugin_achievements_only: >-
polyglot, stargazer, sponsor, deployer, member, maintainer, developer,
scripter, packager, explorer, infographile, manager
plugin_achievements_display: compact
plugin_achievements_threshold: X
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎩 Notable contributions - Contributions
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.notable.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_notable: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎩 Notable contributions - Indepth analysis
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.notable.indepth.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_notable: 'yes'
plugin_notable_indepth: 'yes'
plugin_notable_repositories: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💬 Discussions - GitHub Discussions
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.discussions.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_discussions: 'yes'
plugin_discussions_categories_limit: 8
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💭 GitHub Community Support - GitHub Community Support
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.support.svg
token: NOT_NEEDED
base: ''
plugin_support: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 👨‍💻 Lines of code changed - Lines of code changed
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.lines.svg
token: ${{ secrets.METRICS_TOKEN }}
base: repositories
plugin_lines: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🧮 Repositories traffic - Repositories traffic
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.traffic.svg
token: ${{ secrets.METRICS_TOKEN_WITH_SCOPES }}
base: repositories
plugin_traffic: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📓 Repositories - Featured repositories
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.repositories.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_repositories: 'yes'
plugin_repositories_featured: lowlighter/metrics
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎫 Gists - Gists
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.gists.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_gists: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🙋 Introduction - Organization introduction
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.introduction.svg
token: ${{ secrets.METRICS_TOKEN_WITH_SCOPES }}
user: github
base: header
plugin_introduction: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🙋 Introduction - Repository introduction
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.introduction.repository.svg
token: ${{ secrets.METRICS_TOKEN }}
template: repository
repo: metrics
base: header
plugin_introduction: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💕 GitHub Sponsors - Sponsors goal
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.sponsors.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_sponsors: 'yes'
plugin_sponsors_sections: goal
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💕 GitHub Sponsors - Sponsors introduction
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.sponsors.full.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_sponsors: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💫 Starlists - Featured star list
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.starlists.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_starlists: 'yes'
plugin_starlists_limit_repositories: 2
plugin_starlists_only: 🤘 TC39
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🌇 GitHub Skyline 3D calendar - GitHub Skyline
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.skyline.svg
token: NOT_NEEDED
base: ''
plugin_skyline: 'yes'
plugin_skyline_year: 2020
plugin_skyline_frames: 6
plugin_skyline_quality: 1
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ⏱️ Website performances - Succint report
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.pagespeed.svg
token: NOT_NEEDED
base: ''
plugin_pagespeed: 'yes'
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
plugin_pagespeed_url: https://lecoq.io
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ⏱️ Website performances - Detailed report
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.pagespeed.detailed.svg
token: NOT_NEEDED
base: ''
plugin_pagespeed: 'yes'
plugin_pagespeed_detailed: 'yes'
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
plugin_pagespeed_url: https://lecoq.io
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ⏱️ Website performances - Screenshot
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.pagespeed.screenshot.svg
token: NOT_NEEDED
base: ''
plugin_pagespeed: 'yes'
plugin_pagespeed_screenshot: 'yes'
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
plugin_pagespeed_url: https://lecoq.io
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎼 Music plugin - Apple Music - Random track from playlist
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.music.playlist.svg
token: NOT_NEEDED
base: ''
plugin_music: 'yes'
plugin_music_playlist: https://embed.music.apple.com/fr/playlist/usr-share/pl.u-V9D7m8Etjmjd0D
plugin_music_limit: 2
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎼 Music plugin - Spotify - Random track from playlist
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.music.playlist.spotify.svg
token: NOT_NEEDED
base: ''
plugin_music: 'yes'
plugin_music_playlist: https://open.spotify.com/embed/playlist/3nfA87oeJw4LFVcUDjRcqi
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎼 Music plugin - Spotify - Recently listed
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.music.recent.svg
token: NOT_NEEDED
base: ''
plugin_music: 'yes'
plugin_music_provider: spotify
plugin_music_mode: recent
plugin_music_token: ${{ secrets.SPOTIFY_TOKENS }}
plugin_music_limit: 2
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎼 Music plugin - Spotify - Top tracks
uses: lowlighter/metrics@master
with:
token: NOT_NEEDED
base: ''
plugin_music: 'yes'
plugin_music_mode: top
plugin_music_provider: spotify
plugin_music_token: ${{ secrets.SPOTIFY_TOKENS }}
plugin_music_time_range: short
plugin_music_top_type: tracks
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎼 Music plugin - Spotify - Top artists
uses: lowlighter/metrics@master
with:
token: NOT_NEEDED
base: ''
plugin_music: 'yes'
plugin_music_mode: top
plugin_music_provider: spotify
plugin_music_token: ${{ secrets.SPOTIFY_TOKENS }}
plugin_music_time_range: long
plugin_music_top_type: artists
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🎼 Music plugin - Youtube Music - Random track from playlist
uses: lowlighter/metrics@master
with:
token: NOT_NEEDED
base: ''
plugin_music: 'yes'
plugin_music_playlist: >-
https://music.youtube.com/playlist?list=OLAK5uy_kU_uxp9TUOl9zVdw77xith8o9AknVwz9U
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🗨️ Stackoverflow plugin - Top answers from stackoverflow
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.stackoverflow.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_stackoverflow: 'yes'
plugin_stackoverflow_user: 1
plugin_stackoverflow_sections: answers-top
plugin_stackoverflow_limit: 2
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: >-
🌸 Anilist watch list and reading list - Favorites anime and currently
watching
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.anilist.svg
token: NOT_NEEDED
base: ''
plugin_anilist: 'yes'
plugin_anilist_medias: anime
plugin_anilist_sections: favorites, watching
plugin_anilist_limit: 1
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: >-
🌸 Anilist watch list and reading list - Favorites manga and currently
reading
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.anilist.manga.svg
token: NOT_NEEDED
base: ''
plugin_anilist: 'yes'
plugin_anilist_medias: manga
plugin_anilist_sections: favorites, reading
plugin_anilist_limit: 1
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🌸 Anilist watch list and reading list - Favorites characters
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.anilist.characters.svg
token: NOT_NEEDED
base: ''
plugin_anilist: 'yes'
plugin_anilist_sections: characters
plugin_anilist_limit_characters: 22
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🐤 Latest tweets - Latest tweets
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.tweets.svg
token: NOT_NEEDED
base: ''
plugin_tweets: 'yes'
plugin_tweets_token: ${{ secrets.TWITTER_TOKEN }}
plugin_tweets_user: github
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🐤 Latest tweets - Latest tweets including attachments
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.tweets.attachments.svg
token: NOT_NEEDED
base: ''
plugin_tweets: 'yes'
plugin_tweets_token: ${{ secrets.TWITTER_TOKEN }}
plugin_tweets_attachments: 'yes'
plugin_tweets_user: github
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ✒️ Recent posts - Recent posts
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.posts.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_posts: 'yes'
plugin_posts_source: dev.to
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ✒️ Recent posts - Recent posts with descriptions and cover images
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.posts.full.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_posts: 'yes'
plugin_posts_source: dev.to
plugin_posts_descriptions: 'yes'
plugin_posts_covers: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 🗼 Rss feed - News from hackernews
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.rss.svg
token: NOT_NEEDED
base: ''
plugin_rss: 'yes'
plugin_rss_source: https://news.ycombinator.com/rss
plugin_rss_limit: 4
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: ⏰ WakaTime plugin - WakaTime
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.wakatime.svg
token: NOT_NEEDED
base: ''
plugin_wakatime: 'yes'
plugin_wakatime_sections: time, projects, projects-graphs, languages, languages-graphs, editors, os
plugin_wakatime_token: MOCKED_TOKEN
use_mocked_data: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 💹 Stock prices - Stock prices from Tesla
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.stock.svg
token: NOT_NEEDED
base: ''
plugin_stock: 'yes'
plugin_stock_token: ${{ secrets.STOCK_TOKEN }}
plugin_stock_symbol: TSLA
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📸 Website screenshot - XKCD of the day
uses: lowlighter/metrics@master
with:
filename: metrics.plugin.screenshot.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ''
plugin_screenshot: 'yes'
plugin_screenshot_title: XKCD of the day
plugin_screenshot_url: https://xkcd.com
plugin_screenshot_selector: '#comic img'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📗 Classic template - Example
uses: lowlighter/metrics@master
with:
filename: metrics.classic.svg
token: ${{ secrets.METRICS_TOKEN }}
base: header, repositories
plugin_lines: 'yes'
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📘 Repository template - Example
uses: lowlighter/metrics@master
with:
template: repository
filename: metrics.repository.svg
token: ${{ secrets.METRICS_TOKEN_WITH_SCOPES }}
user: lowlighter
repo: metrics
plugin_lines: 'yes'
plugin_followup: 'yes'
plugin_projects: 'yes'
plugin_projects_repositories: lowlighter/metrics/projects/1
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📙 Terminal template - Example
uses: lowlighter/metrics@master
with:
template: terminal
filename: metrics.terminal.svg
token: ${{ secrets.METRICS_TOKEN }}
base: header, metadata
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📒 Markdown template - Example
uses: lowlighter/metrics@master
with:
template: markdown
filename: metrics.markdown.md
markdown: metrics.markdown.template.md
config_output: markdown
token: ${{ secrets.METRICS_TOKEN }}
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📒 Markdown template - Example with plugins configuration for embed use
uses: lowlighter/metrics@master
with:
template: markdown
filename: metrics.markdown.full.md
markdown: >-
https://raw.githubusercontent.com/lowlighter/metrics/master/source/templates/markdown/example.md
config_output: markdown
plugin_activity: 'yes'
plugin_activity_limit: 7
plugin_activity_days: 0
plugin_activity_filter: issue, pr, release, fork, review, ref/create
plugin_posts: 'yes'
plugin_posts_source: dev.to
plugin_posts_descriptions: 'yes'
plugin_posts_covers: 'yes'
plugin_posts_limit: 2
plugin_rss: 'yes'
plugin_rss_source: https://news.ycombinator.com/rss
plugin_rss_limit: 4
plugin_tweets: 'yes'
plugin_tweets_token: ${{ secrets.TWITTER_TOKEN }}
plugin_tweets_user: github
plugin_tweets_attachments: 'yes'
plugin_tweets_limit: 2
plugin_topics: 'yes'
plugin_topics_limit: 24
plugin_isocalendar: 'yes'
plugin_languages: 'yes'
token: ${{ secrets.METRICS_TOKEN }}
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📒 Markdown template - Example (pdf output)
uses: lowlighter/metrics@master
with:
template: markdown
filename: metrics.markdown.pdf
markdown: >-
https://raw.githubusercontent.com/lowlighter/metrics/master/source/templates/markdown/example.pdf.md
config_output: markdown-pdf
plugin_rss: 'yes'
plugin_rss_source: https://news.ycombinator.com/rss
plugin_rss_limit: 4
plugin_isocalendar: 'yes'
config_twemoji: 'yes'
config_padding: 5%
token: ${{ secrets.METRICS_TOKEN }}
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📕 Community templates - Using a community template
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
template: '@classic'
setup_community_templates: lowlighter/metrics@master:classic
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: 📕 Community templates - Using a trusted community template
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
template: '@terminal'
setup_community_templates: lowlighter/metrics@master:terminal+trust
plugins_errors_fatal: 'yes'
output_action: none
delay: 120
if: ${{ success() || failure() }}
- name: Publish examples
if: ${{ success() || failure() }}
run: |
set +e
sudo mv /metrics_renders/* ./
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git add --all
git commit -m "chore: update examples"
git push
# ======================================================================================
# Markdown as png (for readme updates)
# ======================================================================================
examples-markdown:
runs-on: ubuntu-latest
if: "github.repository == 'lowlighter/metrics'"
container: ghcr.io/lowlighter/metrics:master
needs: [examples]
steps:
- name: Screenshot markdown example
run: |
node /metrics/.github/scripts/markdown_example.mjs
echo "METRICS_MARKDOWN_EXAMPLE=$(base64 --wrap=0 metrics.markdown.png)" >> $GITHUB_ENV
- name: Update markdown example
uses: actions/github-script@v5
env:
METRICS_MARKDOWN_EXAMPLE: "${{ env.METRICS_MARKDOWN_EXAMPLE }}"
with:
script: |
try {
const {data:{sha}} = await github.rest.repos.getContent({...context.repo, path:"metrics.markdown.png"})
console.log(`current sha: ${sha}`)
github.rest.repos.createOrUpdateFileContents({
...context.repo,
path:"metrics.markdown.png",
message:`Auto-generated metrics for run #${github.context ? github.context.runId : "0000000000"}`,
content:process.env.METRICS_MARKDOWN_EXAMPLE,
sha,
})
} catch (error) { console.log(error) }
# ======================================================================================
# Special job used to render lowlighter/metrics repository assets
# ======================================================================================
repository:
runs-on: ubuntu-latest
if: "github.repository == 'lowlighter/metrics'"
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Checkout examples
run: git checkout examples
- name: Contributors
if: ${{ success() || failure() }}
uses: lowlighter/metrics@master
with:
filename: metrics.contributors.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ""
template: repository
user: lowlighter
repo: metrics
plugin_people: yes
plugin_people_types: contributors
plugins_errors_fatal: yes
config_display: large
output_action: none
delay: 120
- name: Sponsors
if: ${{ success() || failure() }}
uses: lowlighter/metrics@master
with:
filename: metrics.sponsors.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ""
plugin_people: yes
plugin_people_types: sponsors
plugin_people_sponsors_custom: yutkat, ktnkk, iamsainikhil, tfSheol
plugin_people_size: 48
plugins_errors_fatal: ${{ github.repository == 'lowlighter/lowlighter' }}
config_display: large
output_action: none
delay: 120
- name: Licenses
if: ${{ success() || failure() }}
uses: lowlighter/metrics@master
with:
filename: metrics.licenses.svg
token: ${{ secrets.METRICS_TOKEN }}
base: ""
template: repository
repo: metrics
plugin_licenses: yes
plugin_licenses_setup: npm ci
plugin_licenses_legal: yes
plugin_licenses_ratio: yes
plugins_errors_fatal: ${{ github.repository == 'lowlighter/lowlighter' }}
output_action: none
delay: 120
- name: Publish examples
if: ${{ success() || failure() }}
run: |
set +e
sudo mv /metrics_renders/* ./
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git add --all
git commit -m "chore: update examples"
git push