From 206813b74c4302b81752e4c929c7dc0abb939fd2 Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Fri, 29 May 2026 20:47:44 +0100 Subject: [PATCH] feat: analytics 2.0 blogpost (#6235) * feat: analytics 2.0 blogpost * update blog post * performance: compress mp4s * date --------- Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com> Co-authored-by: tdgao --- apps/frontend/nuxt.config.ts | 11 -- apps/frontend/src/pages/user/[user].vue | 6 +- .../analytics-dashboard.png | Bin 0 -> 1182184 bytes .../analytics-overhaul/analytics-demo.mp4 | Bin 0 -> 9771747 bytes .../analytics-overhaul/breakdown-table.png | Bin 0 -> 274270 bytes .../analytics-overhaul/graph-views.mp4 | Bin 0 -> 3949695 bytes .../analytics-overhaul/metrics-overview.png | Bin 0 -> 106254 bytes .../analytics-overhaul/query-builder.mp4 | Bin 0 -> 1971924 bytes .../article/analytics-overhaul/thumbnail.webp | Bin 0 -> 142536 bytes .../src/public/news/feed/articles.json | 7 + apps/frontend/src/public/news/feed/rss.xml | 16 ++- packages/blog/articles/analytics-overhaul.md | 124 ++++++++++++++++++ .../compiled/analytics_overhaul.content.ts | 8 ++ packages/blog/compiled/analytics_overhaul.ts | 12 ++ packages/blog/compiled/index.ts | 2 + .../compiled/project_analytics_2_0.content.ts | 8 ++ .../blog/compiled/project_analytics_2_0.ts | 12 ++ .../analytics-dashboard.png | Bin 0 -> 1182184 bytes .../analytics-overhaul/analytics-demo.mp4 | Bin 0 -> 9771747 bytes .../analytics-overhaul/breakdown-table.png | Bin 0 -> 274270 bytes .../public/analytics-overhaul/graph-views.mp4 | Bin 0 -> 3949695 bytes .../analytics-overhaul/metrics-overview.png | Bin 0 -> 106254 bytes .../analytics-overhaul/query-builder.mp4 | Bin 0 -> 1971924 bytes .../public/analytics-overhaul/thumbnail.webp | Bin 0 -> 142536 bytes 24 files changed, 191 insertions(+), 15 deletions(-) create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/analytics-dashboard.png create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/analytics-demo.mp4 create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/breakdown-table.png create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/graph-views.mp4 create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/metrics-overview.png create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/query-builder.mp4 create mode 100644 apps/frontend/src/public/news/article/analytics-overhaul/thumbnail.webp create mode 100644 packages/blog/articles/analytics-overhaul.md create mode 100644 packages/blog/compiled/analytics_overhaul.content.ts create mode 100644 packages/blog/compiled/analytics_overhaul.ts create mode 100644 packages/blog/compiled/project_analytics_2_0.content.ts create mode 100644 packages/blog/compiled/project_analytics_2_0.ts create mode 100644 packages/blog/public/analytics-overhaul/analytics-dashboard.png create mode 100644 packages/blog/public/analytics-overhaul/analytics-demo.mp4 create mode 100644 packages/blog/public/analytics-overhaul/breakdown-table.png create mode 100644 packages/blog/public/analytics-overhaul/graph-views.mp4 create mode 100644 packages/blog/public/analytics-overhaul/metrics-overview.png create mode 100644 packages/blog/public/analytics-overhaul/query-builder.mp4 create mode 100644 packages/blog/public/analytics-overhaul/thumbnail.webp diff --git a/apps/frontend/nuxt.config.ts b/apps/frontend/nuxt.config.ts index f85abec67..6a05ce659 100644 --- a/apps/frontend/nuxt.config.ts +++ b/apps/frontend/nuxt.config.ts @@ -125,8 +125,6 @@ export default defineNuxtConfig({ const docTemplates = Object.keys( await import('./src/templates/docs/index.ts').then((m) => m.default), ) - const blogArticles = await import('@modrinth/blog').then((m) => m.articles) - const { getChangelog } = await import('@modrinth/blog') nitroConfig.prerender = nitroConfig.prerender || {} nitroConfig.prerender.routes = nitroConfig.prerender.routes || [] @@ -136,15 +134,6 @@ export default defineNuxtConfig({ for (const template of docTemplates) { nitroConfig.prerender.routes.push(`/_internal/templates/doc/${template}`) } - nitroConfig.prerender.routes.push('/news') - for (const article of blogArticles) { - nitroConfig.prerender.routes.push(`/news/article/${article.slug}`) - } - nitroConfig.prerender.routes.push('/news/changelog') - for (const entry of getChangelog()) { - const id = entry.version ?? entry.date.unix() - nitroConfig.prerender.routes.push(`/news/changelog/${entry.product}/${id}`) - } }, async 'build:before'() { // 30 minutes diff --git a/apps/frontend/src/pages/user/[user].vue b/apps/frontend/src/pages/user/[user].vue index 8a097e9b1..e563043b0 100644 --- a/apps/frontend/src/pages/user/[user].vue +++ b/apps/frontend/src/pages/user/[user].vue @@ -177,9 +177,9 @@ {{ user.bio ? user.bio - : projects.length === 0 - ? formatMessage(messages.bioFallbackUser) - : formatMessage(messages.bioFallbackCreator) + : projects?.length > 0 + ? formatMessage(messages.bioFallbackCreator) + : formatMessage(messages.bioFallbackUser) }}