Split tests (#88)
This commit is contained in:
@@ -162,7 +162,6 @@ This section explain how metrics is structured.
|
|||||||
* `fonts.css` contains additional fonts used to render metrics
|
* `fonts.css` contains additional fonts used to render metrics
|
||||||
* `template.mjs` contains template source code
|
* `template.mjs` contains template source code
|
||||||
* `tests/` contains tests
|
* `tests/` contains tests
|
||||||
* `testscases.js` contains tests case
|
|
||||||
* `metrics.test.js` contains metrics testers
|
* `metrics.test.js` contains metrics testers
|
||||||
* `Dockerfile` contains docker instructions used to build metrics image
|
* `Dockerfile` contains docker instructions used to build metrics image
|
||||||
* `package.json` contains dependencies and command line aliases
|
* `package.json` contains dependencies and command line aliases
|
||||||
@@ -576,7 +575,7 @@ json:
|
|||||||
|
|
||||||
Creating tests for your plugin ensure that external changes don't break it.
|
Creating tests for your plugin ensure that external changes don't break it.
|
||||||
|
|
||||||
You can define your tests cases in [`testscases.js`](/tests/testscases.js), which will automatically test your plugin with:
|
You can define your tests cases in `tests.yml` in your plugin directory, which will automatically test your plugin with:
|
||||||
- Metrics action
|
- Metrics action
|
||||||
- Metrics web instance
|
- Metrics web instance
|
||||||
- Metrics web instance placeholder (rendered by browser)
|
- Metrics web instance placeholder (rendered by browser)
|
||||||
|
|||||||
@@ -43,5 +43,10 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"jest": "^26.6.3",
|
"jest": "^26.6.3",
|
||||||
"libxmljs": "^0.19.7"
|
"libxmljs": "^0.19.7"
|
||||||
|
},
|
||||||
|
"jest": {
|
||||||
|
"testEnvironment":"node",
|
||||||
|
"testTimeout":60000,
|
||||||
|
"transform":{}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
21
source/plugins/activity/tests.yml
Normal file
21
source/plugins/activity/tests.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
- name: Activity plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_activity: yes
|
||||||
|
|
||||||
|
- name: Activity plugin (filtered)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_activity: yes
|
||||||
|
plugin_activity_filter: pr, issue
|
||||||
|
|
||||||
|
- name: Activity plugin (complete)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_activity: yes
|
||||||
|
plugin_activity_limit: 100
|
||||||
|
plugin_activity_days: 14
|
||||||
|
plugin_activity_filter: all
|
||||||
60
source/plugins/anilist/tests.yml
Normal file
60
source/plugins/anilist/tests.yml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
- name: Anilist plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
|
||||||
|
- name: Anilist plugin (manga only)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_medias: manga
|
||||||
|
|
||||||
|
- name: Anilist plugin (anime only)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_medias: anime
|
||||||
|
|
||||||
|
- name: Anilist plugin (favorites section)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_sections: favorites
|
||||||
|
|
||||||
|
- name: Anilist plugin (watching/reading section)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_sections: watching, reading
|
||||||
|
|
||||||
|
- name: Anilist plugin (characters section)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_sections: characters
|
||||||
|
|
||||||
|
- name: Anilist plugin (additional options)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_limit: 0
|
||||||
|
plugin_anilist_shuffle: no
|
||||||
|
plugin_anilist_user: user
|
||||||
|
|
||||||
|
- name: Anilist plugin (complete)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_anilist: yes
|
||||||
|
plugin_anilist_medias: manga, anime
|
||||||
|
plugin_anilist_sections: favorites, watching, reading, characters
|
||||||
|
plugin_anilist_limit: 0
|
||||||
|
plugin_anilist_shuffle: no
|
||||||
|
plugin_anilist_user: user
|
||||||
45
source/plugins/base/tests.yml
Normal file
45
source/plugins/base/tests.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
- name: Base (header)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: header
|
||||||
|
base_header: yes # For web instance
|
||||||
|
|
||||||
|
- name: Base (activity)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: activity
|
||||||
|
base_activity: yes # For web instance
|
||||||
|
|
||||||
|
- name: Base (community)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: community
|
||||||
|
base_community: yes # For web instance
|
||||||
|
|
||||||
|
- name: Base (repositories)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: repositories
|
||||||
|
base_repositories: yes # For web instance
|
||||||
|
|
||||||
|
- name: Base (metadata)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: metadata
|
||||||
|
base_metadata: yes # For web instance
|
||||||
|
|
||||||
|
- name: Base (complete)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: header, activity, community, repositories, metadata
|
||||||
|
base_header: yes # For web instance
|
||||||
|
base_activity: yes # For web instance
|
||||||
|
base_community: yes # For web instance
|
||||||
|
base_repositories: yes # For web instance
|
||||||
|
base_metadata: yes # For web instance
|
||||||
26
source/plugins/core/tests.yml
Normal file
26
source/plugins/core/tests.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
- name: Image output (jpeg)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
config_output: jpeg
|
||||||
|
|
||||||
|
- name: Image output (png)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
config_output: png
|
||||||
|
|
||||||
|
- name: Disable animations
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
config_animations: no
|
||||||
|
|
||||||
|
- name: Community templates
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
template: "@classic"
|
||||||
|
setup_community_templates: "lowlighter/metrics@master:classic"
|
||||||
|
modes:
|
||||||
|
- action
|
||||||
5
source/plugins/followup/tests.yml
Normal file
5
source/plugins/followup/tests.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Follow-up plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_followup: yes
|
||||||
5
source/plugins/gists/tests.yml
Normal file
5
source/plugins/gists/tests.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Gists plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_gists: yes
|
||||||
30
source/plugins/habits/tests.yml
Normal file
30
source/plugins/habits/tests.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
- name: Habits plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_habits: yes
|
||||||
|
|
||||||
|
- name: Habits plugin (charts)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_habits: yes
|
||||||
|
plugin_habits_facts: no
|
||||||
|
plugin_habits_charts: yes
|
||||||
|
config_timezone: Europe/Paris
|
||||||
|
|
||||||
|
- name: Habits plugin (facts)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_habits: yes
|
||||||
|
plugin_habits_facts: yes
|
||||||
|
|
||||||
|
- name: Habits plugin (complete)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_habits: yes
|
||||||
|
plugin_habits_facts: yes
|
||||||
|
plugin_habits_charts: yes
|
||||||
|
config_timezone: Europe/Paris
|
||||||
20
source/plugins/isocalendar/tests.yml
Normal file
20
source/plugins/isocalendar/tests.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
- name: Isocalendar plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_isocalendar: yes
|
||||||
|
|
||||||
|
- name: Isocalendar plugin (half-year)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_isocalendar: yes
|
||||||
|
plugin_isocalendar_duration: half-year
|
||||||
|
|
||||||
|
|
||||||
|
- name: Isocalendar plugin (full-year)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_isocalendar: yes
|
||||||
|
plugin_isocalendar_duration: full-year
|
||||||
44
source/plugins/languages/tests.yml
Normal file
44
source/plugins/languages/tests.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
- name: Language plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_languages: yes
|
||||||
|
|
||||||
|
- name: Language plugin (ignored languages)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_languages: yes
|
||||||
|
plugin_languages_ignored: html, css, dockerfile
|
||||||
|
|
||||||
|
|
||||||
|
- name: Language plugin (skipped repositories)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_languages: yes
|
||||||
|
plugin_languages_skipped: metrics
|
||||||
|
|
||||||
|
- name: Language plugin (custom color set)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_languages: yes
|
||||||
|
plugin_languages_colors: complementary
|
||||||
|
|
||||||
|
- name: Language plugin (with details)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_languages: yes
|
||||||
|
plugin_languages_details: percentage
|
||||||
|
|
||||||
|
- name: Language plugin (complete)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_languages: yes
|
||||||
|
plugin_languages_ignored: html, css, dockerfile
|
||||||
|
plugin_languages_skipped: metrics
|
||||||
|
plugin_languages_colors: rainbow
|
||||||
|
plugin_languages_details: bytes-size, percentage
|
||||||
7
source/plugins/lines/tests.yml
Normal file
7
source/plugins/lines/tests.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
- name: Lines plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
base: repositories
|
||||||
|
plugin_lines: yes
|
||||||
|
|
||||||
30
source/plugins/music/tests.yml
Normal file
30
source/plugins/music/tests.yml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
- name: Music plugin (playlist - apple)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_music: yes
|
||||||
|
plugin_music_playlist: https://embed.music.apple.com/fr/playlist/usr-share/pl.u-V9D7m8Etjmjd0D
|
||||||
|
|
||||||
|
- name: Music plugin (playlist - spotify)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_music: yes
|
||||||
|
plugin_music_playlist: https://open.spotify.com/embed/playlist/3nfA87oeJw4LFVcUDjRcqi
|
||||||
|
|
||||||
|
- name: Music plugin (recent - spotify)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_music_token: MOCKED_CLIENT_ID, MOCKED_CLIENT_SECRET, MOCKED_REFRESH_TOKEN
|
||||||
|
plugin_music: yes
|
||||||
|
plugin_music_provider: spotify
|
||||||
|
|
||||||
|
- name: Music plugin (recent - lastfm)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_music_token: MOCKED_TOKEN
|
||||||
|
plugin_music: yes
|
||||||
|
plugin_music_provider: lastfm
|
||||||
|
plugin_music_user: RJ
|
||||||
39
source/plugins/pagespeed/tests.yml
Normal file
39
source/plugins/pagespeed/tests.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
- name: PageSpeed plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_pagespeed_token: MOCKED_TOKEN
|
||||||
|
plugin_pagespeed: yes
|
||||||
|
|
||||||
|
- name: PageSpeed plugin (different url)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_pagespeed_token: MOCKED_TOKEN
|
||||||
|
plugin_pagespeed: yes
|
||||||
|
plugin_pagespeed_url: github.com
|
||||||
|
|
||||||
|
- name: PageSpeed plugin (detailed)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_pagespeed_token: MOCKED_TOKEN
|
||||||
|
plugin_pagespeed: yes
|
||||||
|
plugin_pagespeed_detailed: yes
|
||||||
|
|
||||||
|
- name: PageSpeed plugin (screenshot)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_pagespeed_token: MOCKED_TOKEN
|
||||||
|
plugin_pagespeed: yes
|
||||||
|
plugin_pagespeed_screenshot: yes
|
||||||
|
|
||||||
|
- name: PageSpeed plugin (complete)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_pagespeed_token: MOCKED_TOKEN
|
||||||
|
plugin_pagespeed: yes
|
||||||
|
plugin_pagespeed_detailed: yes
|
||||||
|
plugin_pagespeed_screenshot: yes
|
||||||
63
source/plugins/people/tests.yml
Normal file
63
source/plugins/people/tests.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
- name: People plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
|
||||||
|
- name: People plugin (followers)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: followers
|
||||||
|
|
||||||
|
- name: People plugin (following)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: following
|
||||||
|
|
||||||
|
- name: People plugin (sponsoring)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: sponsoring
|
||||||
|
|
||||||
|
- name: People plugin (sponsors)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: sponsors
|
||||||
|
|
||||||
|
- name: People plugin (stargazers)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: stargazers
|
||||||
|
|
||||||
|
- name: People plugin (watchers)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: watchers
|
||||||
|
|
||||||
|
- name: People plugin (thanks)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_types: thanks
|
||||||
|
plugin_people_thanks: lowlighter
|
||||||
|
|
||||||
|
- name: People plugin (identicons)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOKEN
|
||||||
|
plugin_people: yes
|
||||||
|
plugin_people_identicons: yes
|
||||||
|
|
||||||
7
source/plugins/posts/tests.yml
Normal file
7
source/plugins/posts/tests.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
- name: Posts plugin (dev.to)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_posts: yes
|
||||||
|
plugin_posts_source: dev.to
|
||||||
|
plugin_posts_user: lowlighter
|
||||||
22
source/plugins/projects/tests.yml
Normal file
22
source/plugins/projects/tests.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
- name: Projects plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_projects: yes
|
||||||
|
|
||||||
|
- name: Projects plugin (repositories)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_projects: yes
|
||||||
|
plugin_projects_repositories: lowlighter/metrics/projects/1
|
||||||
|
plugin_projects_limit: 0
|
||||||
|
|
||||||
|
- name: Projects plugin (descriptions)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_projects: yes
|
||||||
|
plugin_projects_repositories: lowlighter/metrics/projects/1
|
||||||
|
plugin_projects_limit: 0
|
||||||
|
plugin_projects_descriptions: yes
|
||||||
5
source/plugins/stargazers/tests.yml
Normal file
5
source/plugins/stargazers/tests.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Stargazers plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_stargazers: yes
|
||||||
5
source/plugins/stars/tests.yml
Normal file
5
source/plugins/stars/tests.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Stars plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_stars: yes
|
||||||
69
source/plugins/topics/tests.yml
Normal file
69
source/plugins/topics/tests.yml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
- name: Topics plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
|
||||||
|
- name: Topics plugin (starred - starred sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: starred
|
||||||
|
plugin_topics_sort: starred
|
||||||
|
|
||||||
|
- name: Topics plugin (starred - activity sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: starred
|
||||||
|
plugin_topics_sort: activity
|
||||||
|
|
||||||
|
- name: Topics plugin (starred - stars sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: starred
|
||||||
|
plugin_topics_sort: stars
|
||||||
|
|
||||||
|
- name: Topics plugin (starred - random sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: starred
|
||||||
|
plugin_topics_sort: random
|
||||||
|
|
||||||
|
- name: Topics plugin (mastered - starred sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: mastered
|
||||||
|
plugin_topics_sort: starred
|
||||||
|
|
||||||
|
- name: Topics plugin (mastered - activity sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: mastered
|
||||||
|
plugin_topics_sort: activity
|
||||||
|
|
||||||
|
- name: Topics plugin (mastered - stars sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: mastered
|
||||||
|
plugin_topics_sort: stars
|
||||||
|
|
||||||
|
- name: Topics plugin (mastered - random sort)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
plugin_topics: yes
|
||||||
|
plugin_topics_mode: mastered
|
||||||
|
plugin_topics_sort: random
|
||||||
6
source/plugins/traffic/tests.yml
Normal file
6
source/plugins/traffic/tests.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
- name: Traffic plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: MOCKED_TOCKEN
|
||||||
|
base: repositories
|
||||||
|
plugin_traffic: yes
|
||||||
14
source/plugins/tweets/tests.yml
Normal file
14
source/plugins/tweets/tests.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
- name: Tweets plugin (default)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_tweets: yes
|
||||||
|
plugin_tweets_token: MOCKED_TOKEN
|
||||||
|
|
||||||
|
- name: Tweets plugin (different user)
|
||||||
|
uses: lowlighter/metrics@latest
|
||||||
|
with:
|
||||||
|
token: NOT_NEEDED
|
||||||
|
plugin_tweets: yes
|
||||||
|
plugin_tweets_user: twitterdev
|
||||||
|
plugin_tweets_token: MOCKED_TOKEN
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
//Retrieving single repository
|
//Retrieving single repository
|
||||||
console.debug(`metrics/compute/${login}/${repo} > retrieving single repository ${repo}`)
|
console.debug(`metrics/compute/${login}/${repo} > retrieving single repository ${repo}`)
|
||||||
const {[account]:{repository}} = await graphql(queries.base.repository({login, repo, account}))
|
const {[account === "bypass" ? "user" : account]:{repository}} = await graphql(queries.base.repository({login, repo, account}))
|
||||||
data.user.repositories.nodes = [repository]
|
data.user.repositories.nodes = [repository]
|
||||||
data.repo = repository
|
data.repo = repository
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
/**
|
|
||||||
* @jest-environment node
|
|
||||||
*/
|
|
||||||
|
|
||||||
//Imports
|
//Imports
|
||||||
const processes = require("child_process")
|
const processes = require("child_process")
|
||||||
const yaml = require("js-yaml")
|
const yaml = require("js-yaml")
|
||||||
@@ -33,21 +29,13 @@
|
|||||||
//Web instance
|
//Web instance
|
||||||
const web = {}
|
const web = {}
|
||||||
web.run = async (vars) => (await axios(`http://localhost:3000/lowlighter?${new url.URLSearchParams(Object.fromEntries(Object.entries(vars).map(([key, value]) => [key.replace(/^plugin_/, "").replace(/_/g, "."), value])))}`)).status === 200
|
web.run = async (vars) => (await axios(`http://localhost:3000/lowlighter?${new url.URLSearchParams(Object.fromEntries(Object.entries(vars).map(([key, value]) => [key.replace(/^plugin_/, "").replace(/_/g, "."), value])))}`)).status === 200
|
||||||
beforeAll(async done => {
|
web.start = async () => new Promise(solve => {
|
||||||
await fs.promises.rmdir(path.join(__dirname, "../source/templates/@classic"), {recursive:true})
|
|
||||||
await new Promise((solve, reject) => {
|
|
||||||
let stdout = ""
|
let stdout = ""
|
||||||
web.instance = processes.spawn("node", ["source/app/web/index.mjs"], {env:{...process.env, USE_MOCKED_DATA:true, NO_SETTINGS:true}})
|
web.instance = processes.spawn("node", ["source/app/web/index.mjs"], {env:{...process.env, USE_MOCKED_DATA:true, NO_SETTINGS:true}})
|
||||||
web.instance.stdout.on("data", data => (stdout += data, /Server ready !/.test(stdout) ? solve() : null))
|
web.instance.stdout.on("data", data => (stdout += data, /Server ready !/.test(stdout) ? solve() : null))
|
||||||
web.instance.stderr.on("data", data => console.error(`${data}`))
|
web.instance.stderr.on("data", data => console.error(`${data}`))
|
||||||
})
|
})
|
||||||
done()
|
web.stop = async () => await web.instance.kill("SIGKILL")
|
||||||
})
|
|
||||||
afterAll(async done => {
|
|
||||||
await web.instance.kill("SIGKILL")
|
|
||||||
await fs.promises.rmdir(path.join(__dirname, "../source/templates/@classic"), {recursive:true})
|
|
||||||
done()
|
|
||||||
})
|
|
||||||
|
|
||||||
//Web instance placeholder
|
//Web instance placeholder
|
||||||
require("./../source/app/web/statics/app.placeholder.js")
|
require("./../source/app/web/statics/app.placeholder.js")
|
||||||
@@ -69,8 +57,42 @@
|
|||||||
}) === "string"
|
}) === "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
//Test cases
|
//Setup
|
||||||
const tests = require("./testscases")()
|
beforeAll(async done => {
|
||||||
|
//Clean community template
|
||||||
|
await fs.promises.rmdir(path.join(__dirname, "../source/templates/@classic"), {recursive:true})
|
||||||
|
//Start web instance
|
||||||
|
await web.start()
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
//Teardown
|
||||||
|
afterAll(async done => {
|
||||||
|
//Stop web instance
|
||||||
|
await web.stop()
|
||||||
|
//Clean community template
|
||||||
|
await fs.promises.rmdir(path.join(__dirname, "../source/templates/@classic"), {recursive:true})
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
|
||||||
|
//Load metadata (as jest doesn't support ESM modules, we use this dirty hack)
|
||||||
|
const metadata = JSON.parse(`${processes.spawnSync("node", [
|
||||||
|
"--input-type", "module",
|
||||||
|
"--eval", 'import metadata from "./source/app/metrics/metadata.mjs";console.log(JSON.stringify(await metadata({log:false})))'
|
||||||
|
]).stdout}`)
|
||||||
|
|
||||||
|
//Build tests index
|
||||||
|
const tests = []
|
||||||
|
for (const name in metadata.plugins) {
|
||||||
|
const cases = yaml
|
||||||
|
.load(fs.readFileSync(path.join(__dirname, "../source/plugins", name, "tests.yml"), "utf8"))
|
||||||
|
.map(({name:test, with:inputs, modes = []}) => {
|
||||||
|
const skip = new Set(Object.entries(metadata.templates).filter(([_, {readme:{compatibility}}]) => !compatibility[name]).map(([template]) => template))
|
||||||
|
if (!(metadata.plugins[name].supports.includes("repository")))
|
||||||
|
skip.add("repository")
|
||||||
|
return [test, inputs, {skip:[...skip], modes}]
|
||||||
|
})
|
||||||
|
tests.push(...cases)
|
||||||
|
}
|
||||||
|
|
||||||
//Tests run
|
//Tests run
|
||||||
describe("GitHub Action", () =>
|
describe("GitHub Action", () =>
|
||||||
@@ -83,16 +105,7 @@
|
|||||||
if ((skip.includes(template))||((modes.length)&&(!modes.includes("action"))))
|
if ((skip.includes(template))||((modes.length)&&(!modes.includes("action"))))
|
||||||
test.skip(name, () => null)
|
test.skip(name, () => null)
|
||||||
else
|
else
|
||||||
test(name, async () => expect(await action.run({
|
test(name, async () => expect(await action.run({template, base:"", query:JSON.stringify(query), plugins_errors_fatal:true, dryrun:true, use_mocked_data:true, verify:true, ...input})).toBe(true))
|
||||||
token:"MOCKED_TOKEN",
|
|
||||||
plugin_pagespeed_token:"MOCKED_TOKEN",
|
|
||||||
plugin_tweets_token:"MOCKED_TOKEN",
|
|
||||||
plugin_music_token:"MOCKED_CLIENT_ID, MOCKED_CLIENT_SECRET, MOCKED_REFRESH_TOKEN",
|
|
||||||
template, base:"", query:JSON.stringify(query),
|
|
||||||
config_timezone:"Europe/Paris",
|
|
||||||
plugins_errors_fatal:true, dryrun:true, use_mocked_data:true, verify:true,
|
|
||||||
...input
|
|
||||||
})).toBe(true), 60*1e3)
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -106,12 +119,7 @@
|
|||||||
if ((skip.includes(template))||((modes.length)&&(!modes.includes("web"))))
|
if ((skip.includes(template))||((modes.length)&&(!modes.includes("web"))))
|
||||||
test.skip(name, () => null)
|
test.skip(name, () => null)
|
||||||
else
|
else
|
||||||
test(name, async () => expect(await web.run({
|
test(name, async () => expect(await web.run({template, base:0, ...query, plugins_errors_fatal:true, verify:true, ...input})).toBe(true))
|
||||||
template, base:0, ...query,
|
|
||||||
config_timezone:"Europe/Paris",
|
|
||||||
plugins_errors_fatal:true, verify:true,
|
|
||||||
...input
|
|
||||||
})).toBe(true), 60*1e3)
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -124,13 +132,6 @@
|
|||||||
if ((skip.includes(template))||((modes.length)&&(!modes.includes("placeholder"))))
|
if ((skip.includes(template))||((modes.length)&&(!modes.includes("placeholder"))))
|
||||||
test.skip(name, () => null)
|
test.skip(name, () => null)
|
||||||
else
|
else
|
||||||
test(name, async () => expect(await placeholder.run({
|
test(name, async () => expect(await placeholder.run({template, base:0, ...query, ...input})).toBe(true))
|
||||||
template, base:0, ...query,
|
|
||||||
config_timezone:"Europe/Paris",
|
|
||||||
plugins_errors_fatal:true, verify:true,
|
|
||||||
...input
|
|
||||||
})).toBe(true))
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,314 +0,0 @@
|
|||||||
/** Test cases */
|
|
||||||
module.exports = function () {
|
|
||||||
return [
|
|
||||||
["Base (header)", {
|
|
||||||
base:"header",
|
|
||||||
base_header:true,
|
|
||||||
}],
|
|
||||||
["Base (activity", {
|
|
||||||
base:"activity",
|
|
||||||
base_activity:true,
|
|
||||||
}],
|
|
||||||
["Base (community)", {
|
|
||||||
base:"community",
|
|
||||||
base_community:true,
|
|
||||||
}],
|
|
||||||
["Base (repositories)", {
|
|
||||||
base:"repositories",
|
|
||||||
base_repositories:true,
|
|
||||||
}],
|
|
||||||
["Base (metadata)", {
|
|
||||||
base:"metadata",
|
|
||||||
base_metadata:true,
|
|
||||||
}],
|
|
||||||
["Base (complete)", {
|
|
||||||
base:"header, activity, community, repositories, metadata",
|
|
||||||
base_header:true,
|
|
||||||
base_activity:true,
|
|
||||||
base_community:true,
|
|
||||||
base_repositories:true,
|
|
||||||
base_metadata:true,
|
|
||||||
}],
|
|
||||||
["Image output (jpeg)", {
|
|
||||||
config_output:"jpeg",
|
|
||||||
}],
|
|
||||||
["Image output (png)", {
|
|
||||||
config_output:"png",
|
|
||||||
}],
|
|
||||||
["Disable animations", {
|
|
||||||
config_animations:"no",
|
|
||||||
}],
|
|
||||||
["PageSpeed plugin (default)", {
|
|
||||||
plugin_pagespeed:true,
|
|
||||||
}],
|
|
||||||
["PageSpeed plugin (different url)", {
|
|
||||||
plugin_pagespeed:true,
|
|
||||||
plugin_pagespeed_url:"github.com",
|
|
||||||
}],
|
|
||||||
["PageSpeed plugin (detailed)", {
|
|
||||||
plugin_pagespeed:true,
|
|
||||||
plugin_pagespeed_detailed:true,
|
|
||||||
}],
|
|
||||||
["PageSpeed plugin (screenshot)", {
|
|
||||||
plugin_pagespeed:true,
|
|
||||||
plugin_pagespeed_screenshot:true,
|
|
||||||
}],
|
|
||||||
["PageSpeed plugin (complete)", {
|
|
||||||
plugin_pagespeed:true,
|
|
||||||
plugin_pagespeed_detailed:true,
|
|
||||||
plugin_pagespeed_screenshot:true,
|
|
||||||
}],
|
|
||||||
["Isocalendar plugin (default)", {
|
|
||||||
plugin_isocalendar: true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Isocalendar plugin (half-year)", {
|
|
||||||
plugin_isocalendar: true,
|
|
||||||
plugin_isocalendar_duration: "half-year",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Isocalendar plugin (full-year)", {
|
|
||||||
plugin_isocalendar: true,
|
|
||||||
plugin_isocalendar_duration: "full-year",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Music plugin (playlist - apple)", {
|
|
||||||
plugin_music:true,
|
|
||||||
plugin_music_playlist:"https://embed.music.apple.com/fr/playlist/usr-share/pl.u-V9D7m8Etjmjd0D",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Music plugin (playlist - spotify)", {
|
|
||||||
plugin_music:true,
|
|
||||||
plugin_music_playlist:"https://open.spotify.com/embed/playlist/3nfA87oeJw4LFVcUDjRcqi",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Music plugin (recent - spotify)", {
|
|
||||||
plugin_music:true,
|
|
||||||
plugin_music_provider: "spotify",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Music plugin (recent - lastfm)", {
|
|
||||||
plugin_music:true,
|
|
||||||
plugin_music_provider: "lastfm",
|
|
||||||
plugin_music_user: "RJ",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Language plugin (default)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
}],
|
|
||||||
["Language plugin (ignored languages)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
plugin_languages_ignored:"html, css, dockerfile",
|
|
||||||
}],
|
|
||||||
["Language plugin (skipped repositories)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
plugin_languages_skipped:"metrics",
|
|
||||||
}],
|
|
||||||
["Language plugin (custom color set)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
plugin_languages_colors:"0:ff0000,1:red",
|
|
||||||
}],
|
|
||||||
["Language plugin (custom color set)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
plugin_languages_colors:"complementary",
|
|
||||||
}],
|
|
||||||
["Language plugin (with details)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
plugin_languages_details:"percentage",
|
|
||||||
}],
|
|
||||||
["Language plugin (complete)", {
|
|
||||||
plugin_languages:true,
|
|
||||||
plugin_languages_ignored:"html, css, dockerfile",
|
|
||||||
plugin_languages_skipped:"metrics",
|
|
||||||
plugin_languages_colors:"rainbow",
|
|
||||||
plugin_languages_details:"bytes-size, percentage",
|
|
||||||
}],
|
|
||||||
["Follow-up plugin (default)", {
|
|
||||||
plugin_followup:true,
|
|
||||||
}],
|
|
||||||
["Topics plugin (default)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (starred - starred sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"starred",
|
|
||||||
plugin_topics_sort:"starred",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (starred - activity sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"starred",
|
|
||||||
plugin_topics_sort:"activity",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (starred - stars sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"starred",
|
|
||||||
plugin_topics_sort:"stars",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (starred - random sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"starred",
|
|
||||||
plugin_topics_sort:"random",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (mastered - starred sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"mastered",
|
|
||||||
plugin_topics_sort:"starred",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (mastered - activity sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"mastered",
|
|
||||||
plugin_topics_sort:"activity",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (mastered - stars sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"mastered",
|
|
||||||
plugin_topics_sort:"stars",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Topics plugin (mastered - random sort)", {
|
|
||||||
plugin_topics:true,
|
|
||||||
plugin_topics_mode:"mastered",
|
|
||||||
plugin_topics_sort:"random",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Projects plugin (default)", {
|
|
||||||
plugin_projects:true,
|
|
||||||
}, {skip:["terminal"]}],
|
|
||||||
["Projects plugin (repositories)", {
|
|
||||||
plugin_projects:true,
|
|
||||||
plugin_projects_repositories:"lowlighter/metrics/projects/1",
|
|
||||||
plugin_projects_limit:0,
|
|
||||||
}, {skip:["terminal"]}],
|
|
||||||
["Projects plugin (descriptions)", {
|
|
||||||
plugin_projects:true,
|
|
||||||
plugin_projects_repositories:"lowlighter/metrics/projects/1",
|
|
||||||
plugin_projects_limit:0,
|
|
||||||
plugin_projects_descriptions:true,
|
|
||||||
}, {skip:["terminal"]}],
|
|
||||||
["Lines plugin (default)", {
|
|
||||||
base:"repositories",
|
|
||||||
plugin_lines:true,
|
|
||||||
}],
|
|
||||||
["Traffic plugin (default)", {
|
|
||||||
base:"repositories",
|
|
||||||
plugin_traffic:true,
|
|
||||||
}],
|
|
||||||
["Tweets plugin (default)", {
|
|
||||||
plugin_tweets:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Tweets plugin (different user)", {
|
|
||||||
plugin_tweets:true,
|
|
||||||
plugin_tweets_user:"twitterdev",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Posts plugin (dev.to)", {
|
|
||||||
user:"lowlighter",
|
|
||||||
plugin_posts:true,
|
|
||||||
plugin_posts_source:"dev.to",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Habits plugin (default)", {
|
|
||||||
plugin_habits:true,
|
|
||||||
plugin_habits_from:5,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Habits plugin (charts)", {
|
|
||||||
plugin_habits:true,
|
|
||||||
plugin_habits_from:5,
|
|
||||||
plugin_habits_charts:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Habits plugin (facts)", {
|
|
||||||
plugin_habits:true,
|
|
||||||
plugin_habits_from:5,
|
|
||||||
plugin_habits_facts:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Habits plugin (complete)", {
|
|
||||||
plugin_habits:true,
|
|
||||||
plugin_habits_from:5,
|
|
||||||
plugin_habits_charts:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Activity plugin (default)", {
|
|
||||||
plugin_activity:true,
|
|
||||||
plugin_activity_limit:100,
|
|
||||||
plugin_activity_days:14,
|
|
||||||
plugin_activity_filter:"all",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Activity plugin (filtered)", {
|
|
||||||
plugin_activity:true,
|
|
||||||
plugin_activity_filter:"pr, issue",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Stars plugin (default)", {
|
|
||||||
plugin_stars:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Stargazers plugin (default)", {
|
|
||||||
plugin_stargazers:true,
|
|
||||||
}, {skip:["terminal"]}],
|
|
||||||
["Gists plugin (default)", {
|
|
||||||
plugin_gists:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["People plugin (default)", {
|
|
||||||
plugin_people:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["People plugin (followers)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"followers",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["People plugin (following)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"following",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["People plugin (sponsoring)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"sponsoring",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["People plugin (sponsors)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"sponsors",
|
|
||||||
}, {skip:["terminal"]}],
|
|
||||||
["People plugin (stargazers)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"stargazers",
|
|
||||||
}, {skip:["classic", "terminal"]}],
|
|
||||||
["People plugin (watchers)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"watchers",
|
|
||||||
}, {skip:["classic", "terminal"]}],
|
|
||||||
["People plugin (thanks)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_types:"thanks",
|
|
||||||
plugin_people_thanks:"lowlighter",
|
|
||||||
}, {skip:["classic", "terminal"]}],
|
|
||||||
["People plugin (identicons)", {
|
|
||||||
plugin_people:true,
|
|
||||||
plugin_people_identicons:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (default)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (manga only)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_medias:"manga",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (anime only)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_medias:"anime",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (favorites section)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_sections:"favorites",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (watching/reading section)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_sections:"watching, reading",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (characters section)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_sections:"characters",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (additional options)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_limit:0,
|
|
||||||
plugin_anilist_shuffle:false,
|
|
||||||
plugin_anilist_user:"anilist",
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Anilist plugin (complete)", {
|
|
||||||
plugin_anilist:true,
|
|
||||||
plugin_anilist_medias:"manga, anime",
|
|
||||||
plugin_anilist_sections:"favorites, watching, reading, characters",
|
|
||||||
plugin_anilist_limit:0,
|
|
||||||
plugin_anilist_shuffle:false,
|
|
||||||
}, {skip:["terminal", "repository"]}],
|
|
||||||
["Community templates", {
|
|
||||||
template:"@classic",
|
|
||||||
setup_community_templates:"lowlighter/metrics@master:classic",
|
|
||||||
}, {skip:["terminal", "repository"], modes:["action"]}]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user