Compare commits
2 Commits
9b1090b614
...
0be268307e
| Author | SHA1 | Date | |
|---|---|---|---|
| 0be268307e | |||
| 0072716733 |
+40
-40
@@ -81,7 +81,7 @@
|
||||
"description": "e-commerce, SEO, content, performance, etc."
|
||||
},
|
||||
{
|
||||
"slug": "status",
|
||||
"slug": "parity_status",
|
||||
"label": "Migration status",
|
||||
"type": "select",
|
||||
"required": true,
|
||||
@@ -227,7 +227,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated",
|
||||
"parity_status": "gated",
|
||||
"source_repo_url": "https://wordpress.org/plugins/woocommerce/",
|
||||
"notes": [
|
||||
{
|
||||
@@ -252,7 +252,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated",
|
||||
"parity_status": "gated",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -276,7 +276,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated",
|
||||
"parity_status": "gated",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -300,7 +300,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -312,7 +312,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -324,7 +324,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -336,7 +336,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -360,7 +360,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "marketing",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -372,7 +372,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "i18n",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -396,7 +396,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "i18n",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -420,7 +420,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "page-builder",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -444,7 +444,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "theme",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -468,7 +468,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "performance",
|
||||
"status": "built-in",
|
||||
"parity_status": "built-in",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -492,7 +492,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "performance",
|
||||
"status": "built-in",
|
||||
"parity_status": "built-in",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -516,7 +516,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "performance",
|
||||
"status": "built-in",
|
||||
"parity_status": "built-in",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -540,7 +540,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "ops",
|
||||
"status": "saas",
|
||||
"parity_status": "saas",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -564,7 +564,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "performance",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -588,7 +588,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "mail",
|
||||
"status": "saas",
|
||||
"parity_status": "saas",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -612,7 +612,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "mail",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -636,7 +636,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "forms",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -660,7 +660,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "content",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -684,7 +684,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "content",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -708,7 +708,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "content",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -732,7 +732,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "editor",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -756,7 +756,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "analytics",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -780,7 +780,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "auth",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -804,7 +804,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "theme",
|
||||
"status": "drop"
|
||||
"parity_status": "drop"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -816,7 +816,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "ops",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -840,7 +840,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "ops",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -864,7 +864,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "ops",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -888,7 +888,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -900,7 +900,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -912,7 +912,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -924,7 +924,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -936,7 +936,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -948,7 +948,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "e-commerce",
|
||||
"status": "gated"
|
||||
"parity_status": "gated"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -960,7 +960,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "theme",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -984,7 +984,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "theme",
|
||||
"status": "drop",
|
||||
"parity_status": "drop",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
@@ -1008,7 +1008,7 @@
|
||||
"source_cms": "WordPress",
|
||||
"target_cms": "Emdash",
|
||||
"category": "security",
|
||||
"status": "port",
|
||||
"parity_status": "port",
|
||||
"notes": [
|
||||
{
|
||||
"_type": "block",
|
||||
|
||||
@@ -7,7 +7,7 @@ interface Props {
|
||||
data: {
|
||||
title: string;
|
||||
purpose?: string | null;
|
||||
status?: string | null;
|
||||
parity_status?: string | null;
|
||||
source_cms?: string | null;
|
||||
target_cms?: string | null;
|
||||
};
|
||||
@@ -19,7 +19,7 @@ const d = entry.data;
|
||||
<li class="plugin-card">
|
||||
<h3><a href={`/plugins/${entry.id}`}>{d.title}</a></h3>
|
||||
<div class="meta">
|
||||
<StatusBadge status={d.status} />
|
||||
<StatusBadge status={d.parity_status} />
|
||||
{d.source_cms && <span>{d.source_cms}{d.target_cms ? ` → ${d.target_cms}` : ""}</span>}
|
||||
</div>
|
||||
{d.purpose && <p>{d.purpose}</p>}
|
||||
|
||||
Vendored
+1
-1
@@ -28,7 +28,7 @@ declare module "emdash" {
|
||||
source_cms: string;
|
||||
target_cms?: string | null;
|
||||
category?: string | null;
|
||||
status: string;
|
||||
parity_status: string;
|
||||
source_repo_url?: string | null;
|
||||
target_repo_url?: string | null;
|
||||
notes?: import("emdash").PortableTextBlock[] | null;
|
||||
|
||||
@@ -20,13 +20,13 @@ const statusFilter = url.searchParams.get("status") ?? "";
|
||||
const sourceFilter = url.searchParams.get("source") ?? "";
|
||||
|
||||
const sources = Array.from(new Set(plugins.map((p) => p.data.source_cms).filter(Boolean))).sort();
|
||||
const present = new Set(plugins.map((p) => p.data.status).filter(Boolean));
|
||||
const present = new Set(plugins.map((p) => p.data.parity_status).filter(Boolean));
|
||||
const statuses = STATUSES.filter((s) => present.has(s.value));
|
||||
|
||||
const filtered = plugins.filter((p) => {
|
||||
const d = p.data;
|
||||
if (q && !(`${d.title} ${d.purpose ?? ""}`.toLowerCase().includes(q))) return false;
|
||||
if (statusFilter && d.status !== statusFilter) return false;
|
||||
if (statusFilter && d.parity_status !== statusFilter) return false;
|
||||
if (sourceFilter && d.source_cms !== sourceFilter) return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -50,7 +50,7 @@ const targetCmsSlug = resolveCmsSlug(d?.target_cms, cmsIndex);
|
||||
</p>
|
||||
<h1>{d.title}</h1>
|
||||
<p class="meta">
|
||||
<StatusBadge status={d.status} />
|
||||
<StatusBadge status={d.parity_status} />
|
||||
{d.source_cms && <span class="source-target">{d.source_cms}{d.target_cms ? ` → ${d.target_cms}` : ""}</span>}
|
||||
</p>
|
||||
{d.purpose && <p class="lead">{d.purpose}</p>}
|
||||
|
||||
Reference in New Issue
Block a user