# THIS WORKFLOW IS AUTO-GENERATED
name: Publish examples
on:
  schedule:
    - cron: "0 8 1/2 * *"
  workflow_dispatch:
  workflow_call:
    secrets:
      METRICS_TOKEN:
        required: true
      METRICS_TOKEN_WITH_SCOPES:
        required: true
      METRICS_TOKEN_PERSONAL:
        required: true
      PAGESPEED_TOKEN:
        required: true
      SPOTIFY_TOKENS:
        required: true
      STOCK_TOKEN:
        required: true
      TWITTER_TOKEN:
        required: true
      WAKATIME_TOKEN:
        required: true
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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 🧱 Core - Large display
        uses: lowlighter/metrics@master
        with:
          filename: metrics.large.svg
          token: ${{ secrets.METRICS_TOKEN }}
          config_display: large
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
      - name: 🧱 Core - PNG metrics
        if: ${{ success() || failure() }}
        uses: lowlighter/metrics@master
        with:
          filename: metrics.example.png
          token: ${{ secrets.METRICS_TOKEN }}
          config_output: png
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
      - name: 🧱 Core - Metrics insights
        if: ${{ success() || failure() }}
        uses: lowlighter/metrics@master
        with:
          filename: metrics.insights.html
          token: ${{ secrets.METRICS_TOKEN }}
          config_output: insights
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
      - 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: no
          output_action: none
          delay: 120
          user: lowlighter
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📌 Starred topics - Labels
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.topics.svg
          token: NOT_NEEDED
          base: ""
          plugin_topics: yes
          plugin_topics_limit: 12
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📌 Starred topics - Icons
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.topics.icons.svg
          token: NOT_NEEDED
          base: ""
          plugin_topics: yes
          plugin_topics_limit: 0
          plugin_topics_mode: icons
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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"]
            }
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: ✨ Stargazers over last weeks - Using classic charts
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.stargazers.svg
          token: ${{ secrets.METRICS_TOKEN }}
          base: ""
          plugin_stargazers: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: ✨ Stargazers over last weeks - Using chartist charts
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.stargazers.chartist.svg
          token: ${{ secrets.METRICS_TOKEN }}
          base: ""
          plugin_stargazers: yes
          plugin_stargazers_charts_type: chartist
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📓 Repositories - Pinned repositories
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.repositories.pinned.svg
          token: ${{ secrets.METRICS_TOKEN }}
          base: ""
          plugin_repositories: yes
          plugin_repositories_pinned: 2
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 🎫 Gists - Gists
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.gists.svg
          token: ${{ secrets.METRICS_TOKEN }}
          base: ""
          plugin_gists: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 💕 GitHub Sponsors - Sponsors goal
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.sponsors.svg
          token: ${{ secrets.METRICS_TOKEN_PERSONAL }}
          base: ""
          plugin_sponsors: yes
          plugin_sponsors_sections: goal, list
          plugin_sponsors_past: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 💕 GitHub Sponsors - Sponsors introduction
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.sponsors.full.svg
          token: ${{ secrets.METRICS_TOKEN_WITH_SCOPES }}
          base: ""
          plugin_sponsors: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 💫 Starlists - Featured star list
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.starlists.svg
          token: NOT_NEEDED
          base: ""
          plugin_starlists: yes
          plugin_starlists_limit_repositories: 2
          plugin_starlists_only: TC39
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 💫 Starlists - Featured star list languages
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.starlists.languages.svg
          token: NOT_NEEDED
          base: ""
          plugin_starlists: yes
          plugin_starlists_languages: yes
          plugin_starlists_limit_languages: 8
          plugin_starlists_limit_repositories: 0
          plugin_starlists_only: Awesome
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📆 Calendar - Current year calendar
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.calendar.svg
          token: ${{ secrets.METRICS_TOKEN }}
          base: ""
          plugin_calendar: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📆 Calendar - Full history calendar
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.calendar.full.svg
          token: ${{ secrets.METRICS_TOKEN }}
          base: ""
          plugin_calendar: yes
          plugin_calendar_limit: 0
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 🗨️ StackOverflow plugin - Top answers from stackoverflow
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.stackoverflow.svg
          token: NOT_NEEDED
          base: ""
          plugin_stackoverflow: yes
          plugin_stackoverflow_user: 1
          plugin_stackoverflow_sections: answers-top
          plugin_stackoverflow_limit: 2
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          plugin_tweets_limit: 1
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: ✒️ Recent posts - Recent posts
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.posts.svg
          token: NOT_NEEDED
          base: ""
          plugin_posts: yes
          plugin_posts_source: dev.to
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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: NOT_NEEDED
          base: ""
          plugin_posts: yes
          plugin_posts_source: dev.to
          plugin_posts_limit: 2
          plugin_posts_descriptions: yes
          plugin_posts_covers: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 🥠 Fortune - Fortune
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.fortune.svg
          token: NOT_NEEDED
          base: ""
          plugin_fortune: yes
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📸 Website screenshot - XKCD of the day
        uses: lowlighter/metrics@master
        with:
          filename: metrics.plugin.screenshot.svg
          token: NOT_NEEDED
          base: ""
          plugin_screenshot: yes
          plugin_screenshot_title: XKCD of the day
          plugin_screenshot_url: https://xkcd.com
          plugin_screenshot_selector: "#comic img"
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}
      - name: 📒 Markdown template - Example
        uses: lowlighter/metrics@master
        with:
          template: markdown
          filename: metrics.markdown.md
          markdown: >-
            https://raw.githubusercontent.com/lowlighter/metrics/examples/metrics.markdown.template.md
          config_output: markdown
          token: ${{ secrets.METRICS_TOKEN }}
          output_action: commit
          committer_branch: examples
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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 }}
          output_action: commit
          committer_branch: examples
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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 }}
          output_action: commit
          committer_branch: examples
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        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
          output_action: none
          delay: 120
          user: lowlighter
          plugins_errors_fatal: yes
        if: ${{ success() || failure() }}


      - name: Screenshot markdown example
        if: ${{ success() || failure() }}
        run: |
          docker run --rm --entrypoint="" --volume=/tmp:/tmp ghcr.io/lowlighter/metrics:master node /metrics/.github/scripts/markdown_example.mjs
          sudo mv /tmp/metrics.markdown.png /metrics_renders/
      - name: Publish examples
        if: ${{ success() || failure() }}
        run: |
          set +e
          rm -rf /metrics_renders/metrics.markdown*.{md,pdf}
          sudo mv /metrics_renders/* ./
          git config user.name github-actions[bot]
          git config user.email 41898282+github-actions[bot]@users.noreply.github.com
          git pull
          git reset --soft c8d364ee752ad090945b7e104873d24d011b521e
          git add --all
          git commit -m "chore: update examples"
          git push --force

# ======================================================================================
# 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_PERSONAL }}
          base: ""
          user: lowlighter
          plugin_sponsors: yes
          plugin_sponsors_past: yes
          plugin_sponsors_sections: list
          plugin_sponsors_size: 32
          plugins_errors_fatal: yes
          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
          user: lowlighter
          repo: metrics
          plugin_licenses: yes
          plugin_licenses_setup: npm ci
          plugin_licenses_legal: yes
          plugin_licenses_ratio: yes
          plugins_errors_fatal: yes
          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 pull
          git add --all
          git commit -m "chore: update examples"
          git push --force
