diff --git a/source/plugins/stargazers/index.mjs b/source/plugins/stargazers/index.mjs index 88240b8d..ee713b05 100644 --- a/source/plugins/stargazers/index.mjs +++ b/source/plugins/stargazers/index.mjs @@ -7,7 +7,7 @@ export default async function({login, graphql, data, imports, q, queries, accoun return null //Load inputs - let {"charts.type": _charts, worldmap: _worldmap, "worldmap.sample": _worldmap_sample} = imports.metadata.plugins.stargazers.inputs({data, account, q}) + let {charts: _charts, "charts.type": _charts_type, worldmap: _worldmap, "worldmap.sample": _worldmap_sample} = imports.metadata.plugins.stargazers.inputs({data, account, q}) //Retrieve stargazers from graphql api console.debug(`metrics/compute/${login}/plugins > stargazers > querying api`) @@ -60,8 +60,8 @@ export default async function({login, graphql, data, imports, q, queries, accoun const months = ["", "Jan.", "Feb.", "Mar.", "Apr.", "May", "June", "July", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."] //Generating charts - let charts = null - if ((_charts === "chartist") && (imports.metadata.plugins.stargazers.extras("charts.type", {extras}))) { + let charts = _charts ? true : null + if ((_charts_type === "chartist") && (imports.metadata.plugins.stargazers.extras("charts.type", {extras}))) { console.debug(`metrics/compute/${login}/plugins > stargazers > generating charts`) charts = await Promise.all([{data: total, low: total.min, high: total.max}, {data: increments, ref: 0, low: increments.min, high: increments.max, sign: true}].map(({data: {dates: set}, high, low, ref, sign = false}) => imports.chartist("line", { diff --git a/source/plugins/stargazers/metadata.yml b/source/plugins/stargazers/metadata.yml index f58f58cb..27c1e683 100644 --- a/source/plugins/stargazers/metadata.yml +++ b/source/plugins/stargazers/metadata.yml @@ -21,6 +21,14 @@ inputs: type: boolean default: no + plugin_stargazers_charts: + description: | + Charts + + It includes total number of stargazers evolution, along with the number of new stars per day over the last two weeks. + type: boolean + default: yes + plugin_stargazers_charts_type: description: | Charts display type diff --git a/source/templates/classic/partials/stargazers.ejs b/source/templates/classic/partials/stargazers.ejs index b9771252..e5414ee2 100644 --- a/source/templates/classic/partials/stargazers.ejs +++ b/source/templates/classic/partials/stargazers.ejs @@ -10,46 +10,48 @@ <%= plugins.stargazers.error.message %> <% } else { %> -
-
-

Total stargazers

- <% if (plugins.stargazers.charts) { %> - <%- plugins.stargazers.charts[0] %> - <% } else { %> -
- <% { let previous = null; for (const [date, value] of Object.entries(plugins.stargazers.total.dates)) { const p = 0.05+0.95*(value-plugins.stargazers.total.min)/(plugins.stargazers.total.max-plugins.stargazers.total.min || 1); const [y, m, d] = date.split("-").map(Number) %> -
- <%= (value-(previous ?? 0)) ? f(value) : "" %> -
- <%= d %> - <% if ((previous === null)||(d === 1)) { %> + <% if (plugins.stargazers.charts) { %> +
+
+

Total stargazers

+ <% if (Array.isArray(plugins.stargazers.charts)) { %> + <%- plugins.stargazers.charts[0] %> + <% } else { %> +
+ <% { let previous = null; for (const [date, value] of Object.entries(plugins.stargazers.total.dates)) { const p = 0.05+0.95*(value-plugins.stargazers.total.min)/(plugins.stargazers.total.max-plugins.stargazers.total.min || 1); const [y, m, d] = date.split("-").map(Number) %> +
+ <%= (value-(previous ?? 0)) ? f(value) : "" %> +
+ <%= d %> + <% if ((previous === null)||(d === 1)) { %> +
<%= plugins.stargazers.months[m] %>
+ <% } %> +
+ <% previous = value } } %> +
+ <% } %> +
+
+

New stargazers per day

+ <% if (Array.isArray(plugins.stargazers.charts)) { %> + <%- plugins.stargazers.charts[1] %> + <% } else { %> +
+ <% { let previous = null; for (const [date, value] of Object.entries(plugins.stargazers.increments.dates)) { const p = value/(plugins.stargazers.increments.max || 1); const [y, m, d] = date.split("-").map(Number) %> +
+ <%= value != 0 ? f(value, {sign:true}) : "" %> +
+ <%= d %> + <% if ((previous === null)||(d === 1)) { %>
<%= plugins.stargazers.months[m] %>
- <% } %> -
- <% previous = value } } %> -
- <% } %> -
-
-

New stargazers per day

- <% if (plugins.stargazers.charts) { %> - <%- plugins.stargazers.charts[1] %> - <% } else { %> -
- <% { let previous = null; for (const [date, value] of Object.entries(plugins.stargazers.increments.dates)) { const p = value/(plugins.stargazers.increments.max || 1); const [y, m, d] = date.split("-").map(Number) %> -
- <%= value != 0 ? f(value, {sign:true}) : "" %> -
- <%= d %> - <% if ((previous === null)||(d === 1)) { %> -
<%= plugins.stargazers.months[m] %>
- <% } %> -
- <% previous = value } } %> -
- <% } %> -
-
+ <% } %> +
+ <% previous = value } } %> +
+ <% } %> +
+
+ <% } %> <% if (plugins.stargazers.worldmap) { %>

Stargazers origins