Lowlighter Metrics Versions Save

📊 An infographics generator with 30+ plugins and 300+ options to display stats about your GitHub account and render them as SVG, Markdown, PDF or JSON!

v3.34

7 months ago

ðŸ“Ķ New features

  • ðŸ‘Ļ‍ðŸ’ŧ Lines of code changed
    • Add plugin_lines_delay option to mitigate empty results on first query #1530
      • (Use this option to automatically perform a second request if you encounter zeroed-diffs values)

🧰 Fixes and documentation

chore: upgrade dependencies docs(steam): correct plugin_steam_user example (#1413, @CCXXXI) fix(community/template): quickstart fix(plugins/achievements): update total data acquisition method (#1487, @TonyCrane) fix(plugins/achievements): find pre-2007 activity (#1493, @LucasLarson) fix(plugins/achievements): fix progress of rank A (#1430, @TonyCrane) fix(app/utils): don't die on undefined file type buffer fix(app/utils): pie graph when less than 3 values fix(plugin/achievements): use graphql first for initial setup and fix regex

ðŸŠĶ Deprecations

ðŸĪ Latest tweetstweets has been deprecated as Twitter removed the ability to fetch tweets from their free API as part of their new pricing policy. This plugin will no longer maintained.

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.33

1 year ago

ðŸ“Ķ New features

  • ðŸ•đïļ SteamâœĻ new!
    • Use plugin_steam, plugin_steam_token and plugin_steam_user to display data about your Steam account and games ! (#1400)
    • Use plugin_steam_sections to select which section should be displayed between your player profile, most-played games and recently-played games
    • Use plugin_steam_games_ignored, plugin_steam_games_limit, plugin_steam_recent_games_limit and plugin_steam_playtime_threshold to control which games should be displayed
    • Use plugin_steam_achievements_limit to control how many achievements should be displayed per game entry
    • Example: Recently played games
    • Example: Profile and detailed game history
  • ðŸ—ģïļ Leetcode
    • Use plugin_leetcode_ignored_skills to filter out skills or entire skills categories
  • âœĻ Stargazers
    • Use plugin_stargazers_days to select the displayed time range rather than being limited to 14 days
      • Set plugin_stargazers_days: 0 to cover entire account or repository history
    • Changed charts renderer from chartist to D3
      • ðŸŠĶ Deprecated plugin_stargazers_charts_type: chartist by plugin_stargazers_charts_type: graph
  • ðŸ’Ą Coding habits and activity
    • Changed charts renderer from chartist to D3
      • ðŸŠĶ Deprecated plugin_habits_charts_type: chartist by plugin_habits_charts_type: graph

ðŸŽē Community plugins

  • 🧠 16personalitiesâœĻ new!
    • Use plugin_16personalities and plugin_16personalities_url to display a 16personalities profile (#1402)
    • Use plugin_16personalities_sections to select which section should be displayed between your personality, profile and traits report
    • Use plugin_16personalities_scores to control whether to display score for each trait
  • ðŸĶ‘ Splatoon
    • Upgrade s3si to v2
    • Add icons from weapons, specials and stages from Fresh season
  • ðŸ’đ Stock prices

🧰 Fixes and documentation

fix(app/metrics/utils): support base64 svg chore(deps): bump minimatch from 6.0.4 to 6.1.6 (#1389, @RJid) fix(ci): missing cache path and code formatter fix(plugins/traffic): display scope errors chore(deps): migrate from chartist to d3

🎉 Celebrating 10000 stars!

Thanks again for all of your feedbacks, support and contributions, and I hope you'll continue using Metrics in the future 😎 !

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.32

1 year ago

ðŸ“Ķ New features

  • 💝 GitHub sponsorshipsâœĻ new!
    • Use plugin_sponsorships, plugin_sponsorships_sections and plugin_sponsorships_size to display the amount you funded into open source software through GitHub sponsors ! (#1358)
    • Also display people and organization you're sponsoring or sponsored in the past !
  • ðŸĶ‘ Miscelleanous
    • Add support for --winter debug flag to force winter mode on calendars (#1341)

🧰 Fixes and documentation

fix(plugins/stargazers): bad scale on worldmap when not enough values docs: add an example for preventing GitHub from auto linking to the image (#1339, @xxchan) fix(deps): remove dependency on d3-node since it is unmaintained (#1329) fix(deps): switch from twemoji-parser to @twemoji/parser fork since main repo is unmaintained (#1355) fix(plugins/lines): add support for organization history (#1356)

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.31

1 year ago

ðŸ“Ķ New features

  • ðŸĶ‘ Miscelleanous
    • Add new debug_flags debug flags for puppeteer (#1317)
  • 🌐 Web instances
    • If insights is used with missing extras features permissions, warnings will be displayed on resulting page

ðŸŽē Community plugins

  • ðŸ“ļ Website screenshot
    • Add plugin_screenshot_mode to choose between image or text output (#1324)

🧰 Fixes and documentation

fix(app/metrics): SVGs broken on markdown templates (#1315) fix(plugins/music): spotify playlist mode due to UI changes fix(plugins/community/stock): undefined quoteType

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.30

1 year ago

ðŸ“Ķ New features

  • ðŸĶ‘ Miscelleanous
    • The action will throw an error when trying to use GitHub fine-grained personal access tokens as token as it's not possible to use them to authenticate to GitHub GraphQL API yet
      • If fine-grained PATs can be used for authenticating to GraphQL API in the future, support for them will be considered

ðŸŽē Community plugins

  • ðŸĶ‘ Splatoon âœĻ new!
    • Configure plugin_splatoon_token to display your Splatnet 3 data ! (#1287, #1303)
    • Enable plugin_splatoon_statink and set plugin_splatoon_statink_token for stat.ink integration
    • Display your player nameplate, last versus matches and last salmon-run shifts using plugin_splatoon_sections !
      • Use plugin_splatoon_versus_limit or plugin_splatoon_salmon_limit to configure the number of matches displayed
  • ♟ïļ Chess
    • fix: black pawn represented as emoji instead of unicode
  • ðŸ“ļ Website screenshot
    • Add plugin_screenshot_viewport to configure screenshot viewport (#1288)
    • Add plugin_screenshot_wait to delay screenshot (#1288)
    • fix: wait for idle network and dom loaded

🧰 Fixes and documentation

docs: improve community plugins docs: improve references fix(app/action): mishandled config_output (#1293, #1295) fix(app/web): unsupported plugins display notice

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.29

1 year ago

ðŸ“Ķ New features

  • ðŸ’Ŧ Star lists
    • Add plugin_starlists_languages_ignored to ignore specified languages (#1224, @TonyCrane)
    • Add plugin_starlists_languages_aliases to alias specified languages with other names (#1224, @TonyCrane)
  • 🈷ïļ Languages activity
    • Refactor of indepth mode for better maintainability, performances and accuracy (#1118)
      • See #1258 for more informations
    • Add plugin_languages_indepth_custom to specify custom repositories, branches or git rev-list expressions (#1118)
      • External repositories outside of github.com are now supported too (#1118)
    • Add plugin_languages_analysis_timeout_repositories to limit analysis timeout on a per-repository basis (#1118)
    • Repository templates now support the recently used section (#1118)
  • ðŸĶ‘ Miscelleanous
  • 🌐 Web instances
    • Add a button to copy markdown directly to clipboard (#1246, @sercanuste)

🧰 Fixes and documentation

fix(plugins/starlist): unbroken loop for star lists with a single page (#1224, @TonyCrane) docs(plugins/core): fix output_action description (#1225, @tobealive) fix(app/metrics): irrevelant warnings for embed function (#1244) fix(templates/repositories): set repositoriesContributedTo to empty fix(plugins/languages): EISDIR: illegal operation on a directory chore(deps): make specialized deps optional (#1259) fix(docs): example for github_api_graphql fix(docs): license setup command clarification fix(metrics/insights): bad GitHub Linguist link (#1277, @mastondzn) fix(metrics/insights): link from GitHub Linguist to LinguistJS (#1282, @Nixinova)

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.28

1 year ago

ðŸ“Ķ New features

  • ðŸ—ģïļ Leetcode âœĻ new!
    • Display your stats from your LeetCode account ! #1213
    • Use plugin_leetcode_user to link it to your username
    • Use plugin_leetcode_sections to display number of solved problems, tagged skills and recent submissions
      • Use plugin_leetcode_limit_skills and plugin_leetcode_limit_recent to limit displayed content
  • 📓 Featured repositories
    • Add plugin_repositories_forks to choose whether to display forked repositories in starred/random repositories sections
  • ðŸŽĐ Notable contributions
    • Add plugin_notable_self to choose whether to include own repositories or not
  • ðŸ’Ą Coding habits and activity
    • Add plugin_habits_skipped to support skipping repositories (this inherits from repositories_skipped)
  • ðŸĶ‘ Miscelleanous
    • embed function now displays warnings for possible misconfigurations
  • 🌐 Web instances
    • Passed options can be prefixed by plugin. to disambiguate some options with name collision
    • Improved errors messages when a plugin or an option is disabled on a web instance

ðŸŽē Community plugins

  • ♟ïļ Chess âœĻ new!
    • Showcase your last chess game with this plugin ! #1215
      • Chessboard is animated and will replay the whole match !
      • (Support currently limited to lichess.org as plugin_chess_platform)

🧰 Fixes and documentation

  • fix(app/web): oauth color for light mode
  • fix(app/web): remove debug log
  • fix(app/web): add disclaimer about using localstorage
  • feat(ci): add check-spelling (@jsoref, #1189)
  • fix(tests): faker deprecations
  • fix(app/insights): display issues for small screen
  • fix(app/web): clean session token when expired
  • fix(plugins/tweets): handle non text/html attachments

🎉 Celebrating 2 years of metrics!

Thanks to all past contributors!
  • @Nixinova
  • @spenserblack
  • @JayantGoel001
  • @Milo123459
  • @jayvdb
  • @matievisthekat
  • @bokub
  • @Zenoo
  • @DalpatRathore
  • @cherryblossom000
  • @aleen42
  • @jsoref
  • @ArdaGurcan
  • @joe733
  • @raftario
  • @crazyuploader
  • @MatteoGheza
  • @s-takehana
  • @TheNetAdmin
  • @MeerBiene
  • @PeterNjeim
  • @rhld16
  • @billpwchan
  • @legoandmars
  • @lhvy
  • @kimlimjustin
  • @qinyihao
  • @Penguinlay
  • @yutkat
  • @Infiniticity
  • @funkypenguin
  • @RSickenberg
  • @aw1cks
  • @Lissy93
  • @PeterDaveHello
  • @renbaoshuo
  • @L-Clem
  • @RisingSunLight42
  • @jopemachine
  • @b3z
  • @ferferga
  • @0xflotus

Thanks again for your feedbacks and support, and I hope you'll continue using Metrics in the future 😎 !

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.27

1 year ago

ðŸ“Ģ You can now use beta-metrics.lecoq.io to test upcoming releases of metrics.lecoq.io!

ðŸ“Ģ You can now login through GitHub OAuth on metrics.lecoq.io to use your own read-only token (revokable anytime) and access more API intensive features that aren't enabled on the web instance by default!

ðŸ“Ķ New features

  • 💕 GitHub Sponsors
    • Add plugin_sponsors_title to set a custom sponsors section title (#1128, @Lissy93)
  • ðŸ’Ą Coding habits
    • Add plugin_habits_languages_threshold to hide languages below a certain usage threshold (#1138)
  • âœĻ Stargazers
    • (This plugin was renamed from "Stargazers over last weeks" to "Stargazers" in the documentation)
    • Add plugin_stargazers_worldmap to display a worldmap of stargazers's origins! (#1137)
      • Add plugin_stargazers_charts to toggle charts display
      • Add plugin_stargazers_worldmap_token to set Google Maps Geocoding API
        • (other Geocoding services may be supported at a later date #1162)
      • Add plugin_stargazers_worldmap_sample to set how many stargazers should be sampled
  • 🌇 GitHub Skyline 3D calendar
    • Add plugin_skyline_settings to support alternate skylines, like Github City (#1139)
  • ðŸ‘Ļ‍ðŸ’ŧ Lines of code changed
    • Add plugin_lines_sections to choose whether to display a single line in base plugin, or display repositories with most lines added/removed, or a diff history
    • Add plugin_lines_repositories_limit to limit displayed repositories for repositories section
    • Add plugin_lines_history_limit to limit the number of years displayed by diff history graph
  • 🗂ïļ GitHub projects
  • 📓 Featured repositories
    • Add plugin_repositories_starred to display your most starred repositories #1179
    • Add plugin_repositories_random to randomly display some of your repositories #1179
    • Add plugin_repositories_order to choose how to display featured, pinned, starred and random repositories #1179
    • Add plugin_repositories_affiliations to control which repositories are fetched by plugin_repositories_starred and plugin_repositories_random #1179
  • ðŸĶ‘ Miscelleanous
  • 🌐 Web instances
    • UI changes (#1171)
      • Clicking in the header bar now redirect to web instance root rather than this repository
      • Display more clearly deprecated plugins, unsupported options and overall plugin options
      • Display remaining search requests
    • Add support for signing in with GitHub OAuth (#1171)
      • Signing in lets users use their own GitHub token rather than the configured shared token
        • Users can also customize which scopes they'd like to provide
      • Additional extras features permissions can be granted to logged users through conf.settings.extras.logged
    • New permissions were added for each external API
      • metrics.api.music.any
      • metrics.api.google.pagespeed
      • metrics.api.twitter.tweets
      • metrics.api.yahoo.finance
    • New permission added for D3 support
      • metrics.npm.optional.d3
    • ⚠ïļ If you deployed a web server with a previous version, you may need to reconfigure extras.features with some of the permissions listed above to keep some plugins working

🧰 Fixes and documentation

fix(app/web): lookbehind replace to support Safari for metrics insights fix(app): allow missing setting 'includes' (#1156, @jayvdb) fix(docs): expandable json default option value fix(docs): all plugins now display a non-affiliation disclaimer in their documentation fix(app/web): improved 404 error handling due to collision with :login and :login/:repository routes fix(docs): lot of misspelling (#1180, @jsoref) fix(plugins/wakatime): plugin_wakatime_days not correctly supported

ðŸŠĶ Deprecations

💭 GitHub Community Support support has been deprecated since the platform has been decomissioned and migrated to GitHub Discussions

🎉 Celebrating 8000 stars!

Thanks a lot for support ðŸĨģ ! Stay tuned for even more features and stats!

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.26

1 year ago

â„đïļ This release is mostly focused on Web instances. If you only use metrics through GitHub Actions, you can ignore this version.

🎉 Thanks to all my sponsors, metrics.lecoq.io has been migrated on a more powerful server and should be able to handle more requests!

ðŸ“Ķ New features

  • 🌐 Web instances
    • Home page has been redesigned to better guide users through the different features of metrics
      • 📊 Metrics embed is now accessible through /embed/
        • Action and markdown tabs can now be displayed without entering an username
      • âœĻ Metrics insights is now accessible through /insights/
      • Backwards compatibility with previous endpoints has been kept
        • /:login and /:login/:repository will still generate embed metrics
        • /about/ will redirect towards /insights/
    • Add support for new options in settings.json
      • outputs can be used to restrict which output formats can be used with config.output
      • modes can be used to separately enable or disable embed and insights modes
      • control.token can be used to configure a token which can be used by external services to perform action on instance
        • /.control/stop can be used to stop instance (useful to redeploy or restart it)
      • Add more granularity to extras.features to enable advanced plugin features
        • The following permissions are currently supported:
          • metrics.setup.community.templates: Allow community templates download
          • metrics.setup.community.presets: Allow community presets usage
          • metrics.api.github.overuse: Allow GitHub API intensive requests
          • metrics.cpu.overuse: Allow CPU intensive requests
          • metrics.run.tempdir: Allow access to temporary directory (including I/O)
          • metrics.run.git: Allow to run git
          • metrics.run.licensed: Allow to run licensed
          • metrics.run.user.cmd: Allow to run ANY command by user (USE WITH CAUTION! May result in token leaks by malicious users)
          • metrics.run.puppeteer.scrapping: Allow to run puppeteer to scrape data
          • metrics.run.puppeteer.user.css: Allow to run CSS by user during puppeteer render
          • metrics.run.puppeteer.user.js: Allow to run JavaScript by user during puppeteer render
          • metrics.npm.optional.chartist: Allow use of chartist
          • metrics.npm.optional.gifencoder: Allow use of gifencoder
          • metrics.npm.optional.libxmljs2: Allow use of libxmljs2
        • ⚠ïļ If you deployed a web server with a previous version, you may need to reconfigure extras.features with some of the permissions listed above to keep some plugins working

        • The following settings has been deprecated:
          • extras.presets should now use extras.features with metrics.setup.community.presets
          • extras.js should now use extras.features with metrics.run.puppeteer.user.js
          • extras.css should now use extras.features with metrics.run.puppeteer.user.css
      • Settings display on startup has been improved

🧰 Fixes and documentation

  • fix(app/web): force faker to be uncached for users who used a previous version of web instance
  • fix(deps): libxmljs2 is now an optional dependency
  • docs(plugins,templates): clarification, fix typos and style
  • fix(plugins): improved error handling and messages

🔐 Security fixes

The following editions fix security issues that were reported by dependabot from unmaintained or outdated dependencies:

  • fix(deps): migrated from jimp to sharp
  • fix(deps): node-chartist is now an optional dependency
    • ⚠ïļ This dependency is still subject to CVE-2021-20066, but there are currently no replacement for this one which is why it now requires metrics.npm.optional.chartist permissions and is optional

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter

v3.25

1 year ago

ðŸ“Ķ New features

  • 📆 Repositories
    • Add plugin_repositories_pinned to display pinned repositories (#1100)
  • ⏱ïļ Website performances
    • Add plugin_pagespeed_pwa to display PWA (Progressive Web App) badge (#1101, @JayantGoel001)
  • 🎟ïļ Follow-up of issues and pull requests
    • Add plugin_followup_archived to toggle archived repositories issues and pull request count (#1101, @JayantGoel001)
  • ðŸ’Ą Coding habits
    • Add plugin_habits_languages_limit to limit number of displayed languages
  • âœĻ Metrics insights
    • Results are now responsively displayed once a plugin is completed rather than waiting for complete metrics data (#1098)
    • Updated configuration to include new data from calendar, topics, stars, reactions, sponsors and repositories plugins (#1098)
    • Improved formatting from activity comments to support blockquotes, code blocks and additional references (#1098)

🧰 Fixes and documentation

  • fix(deps): dynamically import gifencoder
  • fix(plugins/topics): don't filter iconless topics when limit is disabled
  • fix(plugins/posts): "dev.to" lowercase username (#1101, @JayantGoel001)
  • fix(plugins/base): repositories count (#1101, @JayantGoel001)
  • fix(plugins/pagespeed): improved performances (#1101, @JayantGoel001)
  • fix(metrics/insights): insight output always erroring (#1098)
  • fix(plugins/achievements): remove relative position which is resetting flexbox container position in Safari (#1111, @Penguinlay)
  • fix(plugins/pagespeed): add placeholder for PWA (#1113, @JayantGoel001)

💕 Sponsors

â™Ĩïļ Become a sponsor

project maintained by @lowlighter