docs: split community plugins from core maintained ones

This commit is contained in:
lowlighter
2021-11-25 21:41:08 -05:00
parent 681ac3bf4d
commit 91cc3c0795
7 changed files with 24 additions and 21 deletions

View File

@@ -1,9 +1,9 @@
name: "🧩 <%= `${name.charAt(0).toLocaleUpperCase()}${name.substring(1)}` %>"
category: other # Set plugin category ("github", "social" or "other")
category: community # Leave as it
supports:
- user # Support users account
- organization # Support organizations account
- repository # Support repositories metrics
- user # Support users account
- organization # Support organizations account
- repository # Support repositories metrics
inputs:
# Enable or disable plugin

View File

@@ -3,13 +3,13 @@
<table>
<tr>
<th nowrap="nowrap">Template/Plugin</th><%# -%>
<% for (const [plugin, {name, icon}] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key)))) { %>
<% for (const [plugin, {name, icon}] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key))&&(value.category !== "community"))) { %>
<th nowrap="nowrap" align="center" title="<%= name %>"><%= icon %></th><% } %>
</tr><%# -%>
<% for (const [template, {name, readme}] of Object.entries(templates).filter(([key, value]) => (value)&&(!["community"].includes(key)))) { %>
<tr>
<td nowrap="nowrap"><%- name %></td><%# -%>
<% for (const [plugin] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key)))) { %>
<% for (const [plugin] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key))&&(value.category !== "community"))) { %>
<td nowrap="nowrap" align="center" data-plugin="<%= plugin %>"><%= {true:"✔️", false:"❌", embed:"✓"}[readme.compatibility[plugin]] %></td><% } %>
</tr><% } %>
<tr>
@@ -17,13 +17,13 @@
</tr>
<tr>
<th nowrap="nowrap">Mode/Plugin</th><%# -%>
<% for (const [plugin, {name, icon}] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key)))) { %>
<% for (const [plugin, {name, icon}] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key))&&(value.category !== "community"))) { %>
<th nowrap="nowrap" align="center" title="<%= name %>"><%= icon %></th><% } %>
</tr><%# -%>
<% for (const {mode, icon} of [{mode:"user", icon:"👤"}, {mode:"organization", icon:"👥"}, {mode:"repository", icon:"📓"}]) { %>
<tr>
<td nowrap="nowrap"><%= icon %> <%- `${mode.charAt(0).toLocaleUpperCase()}${mode.substring(1)}` %></td><%# -%>
<% for (const [plugin, {supports}] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key)))) {%>
<% for (const [plugin, {supports}] of Object.entries(plugins).filter(([key, value]) => (value)&&(!["core"].includes(key))&&(value.category !== "community"))) {%>
<td nowrap="nowrap" align="center" data-plugin="<%= plugin %>"><%= supports.includes(mode) ? "✔️" : "❌" %></td><% } %>
</tr><% } %>
</table>

View File

@@ -1,10 +1,11 @@
## 🧩 Plugins
Plugins are features which provide additional content and lets you customize your rendered metrics.
See their respective documentation for more informations about how to setup them:
<% { let previous = null; for (const [plugin, {name, category}] of Object.entries(plugins).filter(([key, value]) => value).sort(([an, a], [bn, b]) => a.category === b.category ? an.localeCompare(bn) : 0)) { %>
<% { let previous = null; for (const [plugin, {name, category, authors = []}] of Object.entries(plugins).filter(([key, value]) => value).sort(([an, a], [bn, b]) => a.category === b.category ? an.localeCompare(bn) : 0)) { %>
<% if (previous !== category) { previous = category -%>
* **<%= `${category.charAt(0).toLocaleUpperCase()}${category.substring(1)}` %>**
* **<%= `${category.charAt(0).toLocaleUpperCase()}${category.substring(1)}` %>**<% if (category === "community") { %> *(provided and maintained by contributors)*<% } %>
<% } -%>
* [<%- name %>](/source/plugins/<%= plugin %>/README.md)<%# -%>
* [<%- name %>](/source/plugins/<%= plugin %>/README.md)<% if (category === "community") { %> <%- authors.map(author => `[@${author}](https://github.com/${author})`).join(" ") %><% } %><%# -%>
<% }} %>

View File

@@ -15,7 +15,7 @@ Generate your metrics that you can embed everywhere, including your GitHub profi
</table>
<% {
let cell = 0
const elements = Object.entries(plugins).filter(([key, value]) => (value)&&(!["base", "core"].includes(key)))
const elements = Object.entries(plugins).filter(([key, value]) => (value)&&(!["base", "core"].includes(key)&&(!value.community)))
%>
And you can customize these heavily with plugins, templates and hundreds of options!
@@ -34,7 +34,7 @@ And you can customize these heavily with plugins, templates and hundreds of opti
if (cell === "even") {
-%>
<tr>
<% } %> <th><a href="source/plugins/<%= plugin %>/README.md"><%= name -%></a></th>
<% } %> <th><% if (plugin) { %><a href="source/plugins/<%= plugin %>/README.md"><%= name -%></a><% } %></th>
<% if (cell === "odd") {
-%> </tr>
<% }}

View File

@@ -26,7 +26,7 @@ Review below which contributions are accepted:
<td>✔️</td>
<td>
<ul>
<li>New plugins are welcomed provided they're not redundant with existing plugins</li>
<li>New plugins are welcomed provided they're functional and not redundant with existing plugins</li>
<li>New features for existing plugins are allowed but must be optional</li>
</ul>
</td>
@@ -423,12 +423,12 @@ For example:
Here's an example:
```yaml
name: "🧩 Plugin name (with emoji icon)"
category: github # Plugin category ("github", "social" or "other")
index: ~ # Leave as it (this is used to order plugins on metrics README.md)
category: community # Leave as it
index: ~ # Leave as it
supports:
- user # Support users account
- organization # Support organizations account
- repository # Support repositories metrics
- user # Support users account
- organization # Support organizations account
- repository # Support repositories metrics
inputs:
# A comment detailing input purposes

View File

@@ -5,7 +5,7 @@ import path from "path"
import url from "url"
//Defined categories
const categories = ["core", "github", "social", "other"]
const categories = ["core", "github", "social", "other", "community"]
/**Metadata descriptor parser */
export default async function metadata({log = true} = {}) {

View File

@@ -1,5 +1,7 @@
name: "💉 Nightscout"
category: other
category: community
authors:
- legoandmars
index: 3
supports:
- user