From eef09e1ffecd81943e2523cb1208b0d997b94849 Mon Sep 17 00:00:00 2001
From: IMB11
Date: Tue, 1 Jul 2025 02:59:08 +0100
Subject: [PATCH] feat: DEV-99 blog migration (#3870)
* feat: blog migration w/ fixes
Co-authored-by: Prospector
* feat: add changelog button to news page
* fix: lint issues
* refactor: replace nuxt content with `@modrinth/blog`
* feat: shared public folder
* feat: try lazy loading html content
* feat: rss + hide newsletter btn + blog.config.ts
* feat: add new chapter modrinth servers post
* fix: lint issues
* fix: only generate RSS feed if changes detected
* fix: utils dep
* fix: lockfile dep
* feat: GET /email/subscribe + subscription button
* fix: lint issues
* feat: articles.json for app
* Made grid more responsive
* fix: changes
* Make margin slightly smaller in lists
* Fix footer link
* feat: latest news
* Fix responsiveness
* Remove old utm link
* Update changelog
* Lint
---------
Co-authored-by: Prospector
---
apps/app-frontend/src/App.vue | 2 +-
apps/docs/public/welcome-channel.yaml | 2 +-
apps/frontend/package.json | 3 +-
.../src/components/ui/NewsletterButton.vue | 51 +
.../src/components/ui/ShareArticleButtons.vue | 86 +
.../src/components/ui/news/LatestNewsRow.vue | 50 +
.../components/ui/news/NewsArticleCard.vue | 40 +
apps/frontend/src/layouts/default.vue | 4 +-
apps/frontend/src/locales/en-US/index.json | 4 +-
.../pages/[type]/[id]/settings/license.vue | 6 +-
apps/frontend/src/pages/app.vue | 98 +-
apps/frontend/src/pages/index.vue | 108 +-
apps/frontend/src/pages/legal/privacy.vue | 4 +-
.../src/pages/news/article/[slug].vue | 263 ++++
apps/frontend/src/pages/news/index.vue | 158 ++
.../thumbnail.webp | Bin 0 -> 29226 bytes
.../abnormally-high-revenue.webp | Bin 0 -> 75892 bytes
.../article/becoming-sustainable/revenue.webp | Bin 0 -> 25106 bytes
.../becoming-sustainable/thumbnail.webp | Bin 0 -> 82080 bytes
.../news/article/carbon-ads/thumbnail.webp | Bin 0 -> 65686 bytes
.../creator-monetization/thumbnail.webp | Bin 0 -> 46760 bytes
.../article/creator-update/collections.jpg | Bin 0 -> 76793 bytes
.../news/article/creator-update/oauth.jpg | Bin 0 -> 116425 bytes
.../article/creator-update/organizations.jpg | Bin 0 -> 17704 bytes
.../article/creator-update/payout-methods.jpg | Bin 0 -> 43592 bytes
.../creator-update/project-analytics.jpg | Bin 0 -> 58386 bytes
.../article/creator-update/thumbnail.webp | Bin 0 -> 43578 bytes
.../article/creator-update/user-analytics.jpg | Bin 0 -> 58029 bytes
.../news/article/creator-update/user-orgs.jpg | Bin 0 -> 19469 bytes
.../article/design-refresh/project-page.webp | Bin 0 -> 426734 bytes
.../article/design-refresh/thumbnail.webp | Bin 0 -> 162808 bytes
.../country-download-counts.jpg | Bin 0 -> 70129 bytes
.../country-page-views.jpg | Bin 0 -> 68445 bytes
.../download-adjustment/downloads-table.jpg | Bin 0 -> 121246 bytes
.../download-adjustment/new-sisyphus.jpg | Bin 0 -> 7199 bytes
.../article/knossos-v2.1.0/download-icon.jpg | Bin 0 -> 7587 bytes
.../article/knossos-v2.1.0/dropdown-caret.jpg | Bin 0 -> 2042 bytes
.../article/knossos-v2.1.0/expand-gallery.jpg | Bin 0 -> 65412 bytes
.../news/article/knossos-v2.1.0/following.jpg | Bin 0 -> 31973 bytes
.../news/article/knossos-v2.1.0/styling.jpg | Bin 0 -> 15713 bytes
.../article/knossos-v2.1.0/thumbnail.webp | Bin 0 -> 76868 bytes
.../knossos-v2.1.0/version-filters.jpg | Bin 0 -> 21643 bytes
.../article/licensing-guide/thumbnail.webp | Bin 0 -> 60812 bytes
.../article/modpack-changes/thumbnail.webp | Bin 0 -> 78252 bytes
.../article/modpacks-alpha/thumbnail.webp | Bin 0 -> 67004 bytes
.../news/article/modrinth-app-beta/app.jpg | Bin 0 -> 81867 bytes
.../news/article/modrinth-app-beta/auth.jpg | Bin 0 -> 40652 bytes
.../news/article/modrinth-beta/new-design.jpg | Bin 0 -> 43552 bytes
.../news/article/modrinth-beta/thumbnail.webp | Bin 0 -> 13078 bytes
.../article/modrinth-servers-beta/panel.jpg | Bin 0 -> 83341 bytes
.../modrinth-servers-beta/thumbnail.webp | Bin 0 -> 27014 bytes
.../news/article/new-site-beta/thumbnail.webp | Bin 0 -> 20976 bytes
.../plugins-resource-packs/thumbnail.webp | Bin 0 -> 68162 bytes
.../public/news/article/redesign/adorn.jpg | Bin 0 -> 94674 bytes
.../news/article/redesign/consistency.jpg | Bin 0 -> 120896 bytes
.../src/public/news/article/redesign/iris.jpg | Bin 0 -> 79584 bytes
.../news/article/redesign/jellysquid.jpg | Bin 0 -> 70180 bytes
.../news/article/redesign/notifications.jpg | Bin 0 -> 53032 bytes
.../article/redesign/profile-settings.jpg | Bin 0 -> 78641 bytes
.../news/article/redesign/thumbnail.webp | Bin 0 -> 44104 bytes
.../article/redesign/version-creation.jpg | Bin 0 -> 33285 bytes
.../two-years-of-modrinth/bulk-edit.jpg | Bin 0 -> 24087 bytes
.../two-years-of-modrinth/gallery-ui.jpg | Bin 0 -> 33022 bytes
.../two-years-of-modrinth/landing-page.jpg | Bin 0 -> 56292 bytes
.../project-settings.jpg | Bin 0 -> 29175 bytes
.../two-years-of-modrinth/project-webhook.jpg | Bin 0 -> 26783 bytes
.../projects-dashboard.jpg | Bin 0 -> 27077 bytes
.../publishing-checklist.jpg | Bin 0 -> 44823 bytes
.../search-gallery-view.jpg | Bin 0 -> 65989 bytes
.../two-years-of-modrinth/thumbnail.webp | Bin 0 -> 35488 bytes
.../two-years-of-modrinth/version-page.jpg | Bin 0 -> 44153 bytes
.../thumbnail.webp | Bin 0 -> 27120 bytes
apps/frontend/src/public/news/changelog.jpg | Bin 0 -> 49811 bytes
apps/frontend/src/public/news/default.jpg | Bin 0 -> 38389 bytes
.../src/public/news/feed/articles.json | 165 ++
apps/frontend/src/public/news/feed/rss.xml | 223 +++
apps/frontend/src/public/news/thumbnail.jpg | Bin 0 -> 65181 bytes
apps/labrinth/src/routes/internal/flows.rs | 63 +-
packages/assets/icons/git-graph.svg | 10 +
packages/assets/icons/rss.svg | 1 +
packages/assets/index.ts | 4 +
packages/blog/.eslintrc.js | 7 +
packages/blog/LICENSE | 674 ++++++++
packages/blog/README.md | 23 +
.../a-new-chapter-for-modrinth-servers.md | 35 +
.../blog/articles/accelerating-development.md | 60 +
.../blog/articles/becoming-sustainable.md | 37 +
packages/blog/articles/capital-return.md | 48 +
packages/blog/articles/carbon-ads.md | 69 +
.../blog/articles/creator-monetization.md | 61 +
packages/blog/articles/creator-update.md | 98 ++
packages/blog/articles/design-refresh.md | 77 +
packages/blog/articles/download-adjustment.md | 42 +
packages/blog/articles/knossos-v2.1.0.md | 63 +
packages/blog/articles/licensing-guide.md | 67 +
packages/blog/articles/modpack-changes.md | 52 +
packages/blog/articles/modpacks-alpha.md | 53 +
packages/blog/articles/modrinth-app-beta.md | 40 +
packages/blog/articles/modrinth-beta.md | 30 +
.../blog/articles/modrinth-servers-beta.md | 56 +
packages/blog/articles/new-site-beta.md | 25 +
.../blog/articles/plugins-resource-packs.md | 94 ++
packages/blog/articles/redesign.md | 140 ++
.../articles/two-years-of-modrinth-history.md | 89 ++
.../blog/articles/two-years-of-modrinth.md | 127 ++
packages/blog/articles/whats-modrinth.md | 61 +
.../windows-borderless-malware-disclosure.md | 83 +
packages/blog/blog.config.ts | 34 +
packages/blog/check.ts | 85 +
packages/blog/compile.ts | 253 +++
...ew_chapter_for_modrinth_servers.content.ts | 3 +
.../a_new_chapter_for_modrinth_servers.ts | 9 +
.../accelerating_development.content.ts | 3 +
.../blog/compiled/accelerating_development.ts | 9 +
.../compiled/becoming_sustainable.content.ts | 3 +
.../blog/compiled/becoming_sustainable.ts | 11 +
.../blog/compiled/capital_return.content.ts | 3 +
packages/blog/compiled/capital_return.ts | 9 +
packages/blog/compiled/carbon_ads.content.ts | 3 +
packages/blog/compiled/carbon_ads.ts | 10 +
.../compiled/creator_monetization.content.ts | 3 +
.../blog/compiled/creator_monetization.ts | 10 +
.../blog/compiled/creator_update.content.ts | 3 +
packages/blog/compiled/creator_update.ts | 11 +
.../blog/compiled/design_refresh.content.ts | 3 +
packages/blog/compiled/design_refresh.ts | 12 +
.../compiled/download_adjustment.content.ts | 3 +
packages/blog/compiled/download_adjustment.ts | 10 +
packages/blog/compiled/index.ts | 50 +
.../blog/compiled/knossos_v2_1_0.content.ts | 3 +
packages/blog/compiled/knossos_v2_1_0.ts | 10 +
.../blog/compiled/licensing_guide.content.ts | 3 +
packages/blog/compiled/licensing_guide.ts | 10 +
.../blog/compiled/modpack_changes.content.ts | 3 +
packages/blog/compiled/modpack_changes.ts | 9 +
.../blog/compiled/modpacks_alpha.content.ts | 3 +
packages/blog/compiled/modpacks_alpha.ts | 10 +
.../compiled/modrinth_app_beta.content.ts | 3 +
packages/blog/compiled/modrinth_app_beta.ts | 12 +
.../blog/compiled/modrinth_beta.content.ts | 3 +
packages/blog/compiled/modrinth_beta.ts | 10 +
.../compiled/modrinth_servers_beta.content.ts | 3 +
.../blog/compiled/modrinth_servers_beta.ts | 11 +
.../blog/compiled/new_site_beta.content.ts | 3 +
packages/blog/compiled/new_site_beta.ts | 11 +
.../plugins_resource_packs.content.ts | 3 +
.../blog/compiled/plugins_resource_packs.ts | 10 +
packages/blog/compiled/redesign.content.ts | 3 +
packages/blog/compiled/redesign.ts | 10 +
.../compiled/two_years_of_modrinth.content.ts | 3 +
.../blog/compiled/two_years_of_modrinth.ts | 9 +
.../two_years_of_modrinth_history.content.ts | 3 +
.../compiled/two_years_of_modrinth_history.ts | 9 +
.../blog/compiled/whats_modrinth.content.ts | 3 +
packages/blog/compiled/whats_modrinth.ts | 10 +
...s_borderless_malware_disclosure.content.ts | 3 +
.../windows_borderless_malware_disclosure.ts | 9 +
packages/blog/index.ts | 1 +
packages/blog/package.json | 28 +
.../thumbnail.webp | Bin 0 -> 29226 bytes
.../abnormally-high-revenue.webp | Bin 0 -> 75892 bytes
.../public/becoming-sustainable/revenue.webp | Bin 0 -> 25106 bytes
.../becoming-sustainable/thumbnail.webp | Bin 0 -> 82080 bytes
.../blog/public/carbon-ads/thumbnail.webp | Bin 0 -> 65686 bytes
.../creator-monetization/thumbnail.webp | Bin 0 -> 46760 bytes
.../public/creator-update/collections.jpg | Bin 0 -> 76793 bytes
packages/blog/public/creator-update/oauth.jpg | Bin 0 -> 116425 bytes
.../public/creator-update/organizations.jpg | Bin 0 -> 17704 bytes
.../public/creator-update/payout-methods.jpg | Bin 0 -> 43592 bytes
.../creator-update/project-analytics.jpg | Bin 0 -> 58386 bytes
.../blog/public/creator-update/thumbnail.webp | Bin 0 -> 43578 bytes
.../public/creator-update/user-analytics.jpg | Bin 0 -> 58029 bytes
.../blog/public/creator-update/user-orgs.jpg | Bin 0 -> 19469 bytes
.../public/design-refresh/project-page.webp | Bin 0 -> 426734 bytes
.../blog/public/design-refresh/thumbnail.webp | Bin 0 -> 162808 bytes
.../country-download-counts.jpg | Bin 0 -> 70129 bytes
.../country-page-views.jpg | Bin 0 -> 68445 bytes
.../download-adjustment/downloads-table.jpg | Bin 0 -> 121246 bytes
.../download-adjustment/new-sisyphus.jpg | Bin 0 -> 7199 bytes
.../public/knossos-v2.1.0/download-icon.jpg | Bin 0 -> 7587 bytes
.../public/knossos-v2.1.0/dropdown-caret.jpg | Bin 0 -> 2042 bytes
.../public/knossos-v2.1.0/expand-gallery.jpg | Bin 0 -> 65412 bytes
.../blog/public/knossos-v2.1.0/following.jpg | Bin 0 -> 31973 bytes
.../blog/public/knossos-v2.1.0/styling.jpg | Bin 0 -> 15713 bytes
.../blog/public/knossos-v2.1.0/thumbnail.webp | Bin 0 -> 76868 bytes
.../public/knossos-v2.1.0/version-filters.jpg | Bin 0 -> 21643 bytes
.../public/licensing-guide/thumbnail.webp | Bin 0 -> 60812 bytes
.../public/modpack-changes/thumbnail.webp | Bin 0 -> 78252 bytes
.../blog/public/modpacks-alpha/thumbnail.webp | Bin 0 -> 67004 bytes
.../blog/public/modrinth-app-beta/app.jpg | Bin 0 -> 81867 bytes
.../blog/public/modrinth-app-beta/auth.jpg | Bin 0 -> 40652 bytes
.../blog/public/modrinth-beta/new-design.jpg | Bin 0 -> 43552 bytes
.../blog/public/modrinth-beta/thumbnail.webp | Bin 0 -> 13078 bytes
.../public/modrinth-servers-beta/panel.jpg | Bin 0 -> 83341 bytes
.../modrinth-servers-beta/thumbnail.webp | Bin 0 -> 27014 bytes
.../blog/public/new-site-beta/thumbnail.webp | Bin 0 -> 20976 bytes
.../plugins-resource-packs/thumbnail.webp | Bin 0 -> 68162 bytes
packages/blog/public/redesign/adorn.jpg | Bin 0 -> 94674 bytes
packages/blog/public/redesign/consistency.jpg | Bin 0 -> 120896 bytes
packages/blog/public/redesign/iris.jpg | Bin 0 -> 79584 bytes
packages/blog/public/redesign/jellysquid.jpg | Bin 0 -> 70180 bytes
.../blog/public/redesign/notifications.jpg | Bin 0 -> 53032 bytes
.../blog/public/redesign/profile-settings.jpg | Bin 0 -> 78641 bytes
packages/blog/public/redesign/thumbnail.webp | Bin 0 -> 44104 bytes
.../blog/public/redesign/version-creation.jpg | Bin 0 -> 33285 bytes
.../two-years-of-modrinth/bulk-edit.jpg | Bin 0 -> 24087 bytes
.../two-years-of-modrinth/gallery-ui.jpg | Bin 0 -> 33022 bytes
.../two-years-of-modrinth/landing-page.jpg | Bin 0 -> 56292 bytes
.../project-settings.jpg | Bin 0 -> 29175 bytes
.../two-years-of-modrinth/project-webhook.jpg | Bin 0 -> 26783 bytes
.../projects-dashboard.jpg | Bin 0 -> 27077 bytes
.../publishing-checklist.jpg | Bin 0 -> 44823 bytes
.../search-gallery-view.jpg | Bin 0 -> 65989 bytes
.../two-years-of-modrinth/thumbnail.webp | Bin 0 -> 35488 bytes
.../two-years-of-modrinth/version-page.jpg | Bin 0 -> 44153 bytes
.../thumbnail.webp | Bin 0 -> 27120 bytes
packages/blog/tsconfig.json | 9 +
packages/blog/utils.ts | 40 +
packages/utils/changelog.ts | 25 +
pnpm-lock.yaml | 1394 +++++++++++------
220 files changed, 5094 insertions(+), 681 deletions(-)
create mode 100644 apps/frontend/src/components/ui/NewsletterButton.vue
create mode 100644 apps/frontend/src/components/ui/ShareArticleButtons.vue
create mode 100644 apps/frontend/src/components/ui/news/LatestNewsRow.vue
create mode 100644 apps/frontend/src/components/ui/news/NewsArticleCard.vue
create mode 100644 apps/frontend/src/pages/news/article/[slug].vue
create mode 100644 apps/frontend/src/pages/news/index.vue
create mode 100644 apps/frontend/src/public/news/article/a-new-chapter-for-modrinth-servers/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/becoming-sustainable/abnormally-high-revenue.webp
create mode 100644 apps/frontend/src/public/news/article/becoming-sustainable/revenue.webp
create mode 100644 apps/frontend/src/public/news/article/becoming-sustainable/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/carbon-ads/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/creator-monetization/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/creator-update/collections.jpg
create mode 100644 apps/frontend/src/public/news/article/creator-update/oauth.jpg
create mode 100644 apps/frontend/src/public/news/article/creator-update/organizations.jpg
create mode 100644 apps/frontend/src/public/news/article/creator-update/payout-methods.jpg
create mode 100644 apps/frontend/src/public/news/article/creator-update/project-analytics.jpg
create mode 100644 apps/frontend/src/public/news/article/creator-update/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/creator-update/user-analytics.jpg
create mode 100644 apps/frontend/src/public/news/article/creator-update/user-orgs.jpg
create mode 100644 apps/frontend/src/public/news/article/design-refresh/project-page.webp
create mode 100644 apps/frontend/src/public/news/article/design-refresh/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/download-adjustment/country-download-counts.jpg
create mode 100644 apps/frontend/src/public/news/article/download-adjustment/country-page-views.jpg
create mode 100644 apps/frontend/src/public/news/article/download-adjustment/downloads-table.jpg
create mode 100644 apps/frontend/src/public/news/article/download-adjustment/new-sisyphus.jpg
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/download-icon.jpg
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/dropdown-caret.jpg
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/expand-gallery.jpg
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/following.jpg
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/styling.jpg
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/knossos-v2.1.0/version-filters.jpg
create mode 100644 apps/frontend/src/public/news/article/licensing-guide/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/modpack-changes/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/modpacks-alpha/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/modrinth-app-beta/app.jpg
create mode 100644 apps/frontend/src/public/news/article/modrinth-app-beta/auth.jpg
create mode 100644 apps/frontend/src/public/news/article/modrinth-beta/new-design.jpg
create mode 100644 apps/frontend/src/public/news/article/modrinth-beta/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/modrinth-servers-beta/panel.jpg
create mode 100644 apps/frontend/src/public/news/article/modrinth-servers-beta/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/new-site-beta/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/plugins-resource-packs/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/redesign/adorn.jpg
create mode 100644 apps/frontend/src/public/news/article/redesign/consistency.jpg
create mode 100644 apps/frontend/src/public/news/article/redesign/iris.jpg
create mode 100644 apps/frontend/src/public/news/article/redesign/jellysquid.jpg
create mode 100644 apps/frontend/src/public/news/article/redesign/notifications.jpg
create mode 100644 apps/frontend/src/public/news/article/redesign/profile-settings.jpg
create mode 100644 apps/frontend/src/public/news/article/redesign/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/redesign/version-creation.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/bulk-edit.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/gallery-ui.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/landing-page.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/project-settings.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/project-webhook.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/projects-dashboard.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/publishing-checklist.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/search-gallery-view.jpg
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/article/two-years-of-modrinth/version-page.jpg
create mode 100644 apps/frontend/src/public/news/article/windows-borderless-malware-disclosure/thumbnail.webp
create mode 100644 apps/frontend/src/public/news/changelog.jpg
create mode 100644 apps/frontend/src/public/news/default.jpg
create mode 100644 apps/frontend/src/public/news/feed/articles.json
create mode 100644 apps/frontend/src/public/news/feed/rss.xml
create mode 100644 apps/frontend/src/public/news/thumbnail.jpg
create mode 100644 packages/assets/icons/git-graph.svg
create mode 100644 packages/assets/icons/rss.svg
create mode 100644 packages/blog/.eslintrc.js
create mode 100644 packages/blog/LICENSE
create mode 100644 packages/blog/README.md
create mode 100644 packages/blog/articles/a-new-chapter-for-modrinth-servers.md
create mode 100644 packages/blog/articles/accelerating-development.md
create mode 100644 packages/blog/articles/becoming-sustainable.md
create mode 100644 packages/blog/articles/capital-return.md
create mode 100644 packages/blog/articles/carbon-ads.md
create mode 100644 packages/blog/articles/creator-monetization.md
create mode 100644 packages/blog/articles/creator-update.md
create mode 100644 packages/blog/articles/design-refresh.md
create mode 100644 packages/blog/articles/download-adjustment.md
create mode 100644 packages/blog/articles/knossos-v2.1.0.md
create mode 100644 packages/blog/articles/licensing-guide.md
create mode 100644 packages/blog/articles/modpack-changes.md
create mode 100644 packages/blog/articles/modpacks-alpha.md
create mode 100644 packages/blog/articles/modrinth-app-beta.md
create mode 100644 packages/blog/articles/modrinth-beta.md
create mode 100644 packages/blog/articles/modrinth-servers-beta.md
create mode 100644 packages/blog/articles/new-site-beta.md
create mode 100644 packages/blog/articles/plugins-resource-packs.md
create mode 100644 packages/blog/articles/redesign.md
create mode 100644 packages/blog/articles/two-years-of-modrinth-history.md
create mode 100644 packages/blog/articles/two-years-of-modrinth.md
create mode 100644 packages/blog/articles/whats-modrinth.md
create mode 100644 packages/blog/articles/windows-borderless-malware-disclosure.md
create mode 100644 packages/blog/blog.config.ts
create mode 100644 packages/blog/check.ts
create mode 100644 packages/blog/compile.ts
create mode 100644 packages/blog/compiled/a_new_chapter_for_modrinth_servers.content.ts
create mode 100644 packages/blog/compiled/a_new_chapter_for_modrinth_servers.ts
create mode 100644 packages/blog/compiled/accelerating_development.content.ts
create mode 100644 packages/blog/compiled/accelerating_development.ts
create mode 100644 packages/blog/compiled/becoming_sustainable.content.ts
create mode 100644 packages/blog/compiled/becoming_sustainable.ts
create mode 100644 packages/blog/compiled/capital_return.content.ts
create mode 100644 packages/blog/compiled/capital_return.ts
create mode 100644 packages/blog/compiled/carbon_ads.content.ts
create mode 100644 packages/blog/compiled/carbon_ads.ts
create mode 100644 packages/blog/compiled/creator_monetization.content.ts
create mode 100644 packages/blog/compiled/creator_monetization.ts
create mode 100644 packages/blog/compiled/creator_update.content.ts
create mode 100644 packages/blog/compiled/creator_update.ts
create mode 100644 packages/blog/compiled/design_refresh.content.ts
create mode 100644 packages/blog/compiled/design_refresh.ts
create mode 100644 packages/blog/compiled/download_adjustment.content.ts
create mode 100644 packages/blog/compiled/download_adjustment.ts
create mode 100644 packages/blog/compiled/index.ts
create mode 100644 packages/blog/compiled/knossos_v2_1_0.content.ts
create mode 100644 packages/blog/compiled/knossos_v2_1_0.ts
create mode 100644 packages/blog/compiled/licensing_guide.content.ts
create mode 100644 packages/blog/compiled/licensing_guide.ts
create mode 100644 packages/blog/compiled/modpack_changes.content.ts
create mode 100644 packages/blog/compiled/modpack_changes.ts
create mode 100644 packages/blog/compiled/modpacks_alpha.content.ts
create mode 100644 packages/blog/compiled/modpacks_alpha.ts
create mode 100644 packages/blog/compiled/modrinth_app_beta.content.ts
create mode 100644 packages/blog/compiled/modrinth_app_beta.ts
create mode 100644 packages/blog/compiled/modrinth_beta.content.ts
create mode 100644 packages/blog/compiled/modrinth_beta.ts
create mode 100644 packages/blog/compiled/modrinth_servers_beta.content.ts
create mode 100644 packages/blog/compiled/modrinth_servers_beta.ts
create mode 100644 packages/blog/compiled/new_site_beta.content.ts
create mode 100644 packages/blog/compiled/new_site_beta.ts
create mode 100644 packages/blog/compiled/plugins_resource_packs.content.ts
create mode 100644 packages/blog/compiled/plugins_resource_packs.ts
create mode 100644 packages/blog/compiled/redesign.content.ts
create mode 100644 packages/blog/compiled/redesign.ts
create mode 100644 packages/blog/compiled/two_years_of_modrinth.content.ts
create mode 100644 packages/blog/compiled/two_years_of_modrinth.ts
create mode 100644 packages/blog/compiled/two_years_of_modrinth_history.content.ts
create mode 100644 packages/blog/compiled/two_years_of_modrinth_history.ts
create mode 100644 packages/blog/compiled/whats_modrinth.content.ts
create mode 100644 packages/blog/compiled/whats_modrinth.ts
create mode 100644 packages/blog/compiled/windows_borderless_malware_disclosure.content.ts
create mode 100644 packages/blog/compiled/windows_borderless_malware_disclosure.ts
create mode 100644 packages/blog/index.ts
create mode 100644 packages/blog/package.json
create mode 100644 packages/blog/public/a-new-chapter-for-modrinth-servers/thumbnail.webp
create mode 100644 packages/blog/public/becoming-sustainable/abnormally-high-revenue.webp
create mode 100644 packages/blog/public/becoming-sustainable/revenue.webp
create mode 100644 packages/blog/public/becoming-sustainable/thumbnail.webp
create mode 100644 packages/blog/public/carbon-ads/thumbnail.webp
create mode 100644 packages/blog/public/creator-monetization/thumbnail.webp
create mode 100644 packages/blog/public/creator-update/collections.jpg
create mode 100644 packages/blog/public/creator-update/oauth.jpg
create mode 100644 packages/blog/public/creator-update/organizations.jpg
create mode 100644 packages/blog/public/creator-update/payout-methods.jpg
create mode 100644 packages/blog/public/creator-update/project-analytics.jpg
create mode 100644 packages/blog/public/creator-update/thumbnail.webp
create mode 100644 packages/blog/public/creator-update/user-analytics.jpg
create mode 100644 packages/blog/public/creator-update/user-orgs.jpg
create mode 100644 packages/blog/public/design-refresh/project-page.webp
create mode 100644 packages/blog/public/design-refresh/thumbnail.webp
create mode 100644 packages/blog/public/download-adjustment/country-download-counts.jpg
create mode 100644 packages/blog/public/download-adjustment/country-page-views.jpg
create mode 100644 packages/blog/public/download-adjustment/downloads-table.jpg
create mode 100644 packages/blog/public/download-adjustment/new-sisyphus.jpg
create mode 100644 packages/blog/public/knossos-v2.1.0/download-icon.jpg
create mode 100644 packages/blog/public/knossos-v2.1.0/dropdown-caret.jpg
create mode 100644 packages/blog/public/knossos-v2.1.0/expand-gallery.jpg
create mode 100644 packages/blog/public/knossos-v2.1.0/following.jpg
create mode 100644 packages/blog/public/knossos-v2.1.0/styling.jpg
create mode 100644 packages/blog/public/knossos-v2.1.0/thumbnail.webp
create mode 100644 packages/blog/public/knossos-v2.1.0/version-filters.jpg
create mode 100644 packages/blog/public/licensing-guide/thumbnail.webp
create mode 100644 packages/blog/public/modpack-changes/thumbnail.webp
create mode 100644 packages/blog/public/modpacks-alpha/thumbnail.webp
create mode 100644 packages/blog/public/modrinth-app-beta/app.jpg
create mode 100644 packages/blog/public/modrinth-app-beta/auth.jpg
create mode 100644 packages/blog/public/modrinth-beta/new-design.jpg
create mode 100644 packages/blog/public/modrinth-beta/thumbnail.webp
create mode 100644 packages/blog/public/modrinth-servers-beta/panel.jpg
create mode 100644 packages/blog/public/modrinth-servers-beta/thumbnail.webp
create mode 100644 packages/blog/public/new-site-beta/thumbnail.webp
create mode 100644 packages/blog/public/plugins-resource-packs/thumbnail.webp
create mode 100644 packages/blog/public/redesign/adorn.jpg
create mode 100644 packages/blog/public/redesign/consistency.jpg
create mode 100644 packages/blog/public/redesign/iris.jpg
create mode 100644 packages/blog/public/redesign/jellysquid.jpg
create mode 100644 packages/blog/public/redesign/notifications.jpg
create mode 100644 packages/blog/public/redesign/profile-settings.jpg
create mode 100644 packages/blog/public/redesign/thumbnail.webp
create mode 100644 packages/blog/public/redesign/version-creation.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/bulk-edit.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/gallery-ui.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/landing-page.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/project-settings.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/project-webhook.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/projects-dashboard.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/publishing-checklist.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/search-gallery-view.jpg
create mode 100644 packages/blog/public/two-years-of-modrinth/thumbnail.webp
create mode 100644 packages/blog/public/two-years-of-modrinth/version-page.jpg
create mode 100644 packages/blog/public/windows-borderless-malware-disclosure/thumbnail.webp
create mode 100644 packages/blog/tsconfig.json
create mode 100644 packages/blog/utils.ts
diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue
index 760c8d47e..462edcdd4 100644
--- a/apps/app-frontend/src/App.vue
+++ b/apps/app-frontend/src/App.vue
@@ -188,7 +188,7 @@ async function setupApp() {
)
})
- useFetch(`https://modrinth.com/blog/news.json`, 'news', true).then((res) => {
+ useFetch(`https://modrinth.com/news/feed/articles.json`, 'news', true).then((res) => {
if (res && res.articles) {
news.value = res.articles
}
diff --git a/apps/docs/public/welcome-channel.yaml b/apps/docs/public/welcome-channel.yaml
index f5893ba2b..21728ff2d 100644
--- a/apps/docs/public/welcome-channel.yaml
+++ b/apps/docs/public/welcome-channel.yaml
@@ -68,7 +68,7 @@
Support: https://support.modrinth.com
Status page: https://status.modrinth.com
Roadmap: https://roadmap.modrinth.com
- Blog and newsletter: https://blog.modrinth.com/subscribe?utm_medium=social&utm_source=discord&utm_campaign=welcome
+ Blog and newsletter: https://modrinth.com/news
API documentation: https://docs.modrinth.com
Modrinth source code: https://github.com/modrinth
Help translate Modrinth: https://crowdin.com/project/modrinth
diff --git a/apps/frontend/package.json b/apps/frontend/package.json
index c3b53219a..3c395e55c 100644
--- a/apps/frontend/package.json
+++ b/apps/frontend/package.json
@@ -40,7 +40,9 @@
"@modrinth/assets": "workspace:*",
"@modrinth/ui": "workspace:*",
"@modrinth/utils": "workspace:*",
+ "@modrinth/blog": "workspace:*",
"@pinia/nuxt": "^0.5.1",
+ "@types/three": "^0.172.0",
"@vintl/vintl": "^4.4.1",
"@vueuse/core": "^11.1.0",
"ace-builds": "^1.36.2",
@@ -59,7 +61,6 @@
"qrcode.vue": "^3.4.0",
"semver": "^7.5.4",
"three": "^0.172.0",
- "@types/three": "^0.172.0",
"vue-multiselect": "3.0.0-alpha.2",
"vue-typed-virtual-list": "^1.0.10",
"vue3-ace-editor": "^2.2.4",
diff --git a/apps/frontend/src/components/ui/NewsletterButton.vue b/apps/frontend/src/components/ui/NewsletterButton.vue
new file mode 100644
index 000000000..61778eaa0
--- /dev/null
+++ b/apps/frontend/src/components/ui/NewsletterButton.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/components/ui/ShareArticleButtons.vue b/apps/frontend/src/components/ui/ShareArticleButtons.vue
new file mode 100644
index 000000000..8813a7caf
--- /dev/null
+++ b/apps/frontend/src/components/ui/ShareArticleButtons.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
diff --git a/apps/frontend/src/components/ui/news/LatestNewsRow.vue b/apps/frontend/src/components/ui/news/LatestNewsRow.vue
new file mode 100644
index 000000000..cb8e3aea7
--- /dev/null
+++ b/apps/frontend/src/components/ui/news/LatestNewsRow.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+ View all news
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/components/ui/news/NewsArticleCard.vue b/apps/frontend/src/components/ui/news/NewsArticleCard.vue
new file mode 100644
index 000000000..75b1db111
--- /dev/null
+++ b/apps/frontend/src/components/ui/news/NewsArticleCard.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+ {{ article.title }}
+
+
+ {{ article.summary }}
+
+
+ {{ dayjs(article.date).format("MMMM D, YYYY") }}
+
+
+
+
+
diff --git a/apps/frontend/src/layouts/default.vue b/apps/frontend/src/layouts/default.vue
index e33542af0..4e772769b 100644
--- a/apps/frontend/src/layouts/default.vue
+++ b/apps/frontend/src/layouts/default.vue
@@ -1211,9 +1211,9 @@ const footerLinks = [
label: formatMessage(defineMessage({ id: "layout.footer.about", defaultMessage: "About" })),
links: [
{
- href: "https://blog.modrinth.com",
+ href: "/news",
label: formatMessage(
- defineMessage({ id: "layout.footer.about.blog", defaultMessage: "Blog" }),
+ defineMessage({ id: "layout.footer.about.news", defaultMessage: "News" }),
),
},
{
diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json
index d36b6b4c3..21580977d 100644
--- a/apps/frontend/src/locales/en-US/index.json
+++ b/apps/frontend/src/locales/en-US/index.json
@@ -383,8 +383,8 @@
"layout.footer.about": {
"message": "About"
},
- "layout.footer.about.blog": {
- "message": "Blog"
+ "layout.footer.about.news": {
+ "message": "News"
},
"layout.footer.about.careers": {
"message": "Careers"
diff --git a/apps/frontend/src/pages/[type]/[id]/settings/license.vue b/apps/frontend/src/pages/[type]/[id]/settings/license.vue
index c4a64e9ab..18b9eea7e 100644
--- a/apps/frontend/src/pages/[type]/[id]/settings/license.vue
+++ b/apps/frontend/src/pages/[type]/[id]/settings/license.vue
@@ -7,14 +7,14 @@
{{ formatProjectType(project.project_type).toLowerCase() }}. You may choose one from our
list or provide a custom license. You may also provide a custom URL to your chosen license;
otherwise, the license text will be displayed. See our
-
licensing guide
-
+
for more information.
diff --git a/apps/frontend/src/pages/app.vue b/apps/frontend/src/pages/app.vue
index 6e311d187..6e062a8ab 100644
--- a/apps/frontend/src/pages/app.vue
+++ b/apps/frontend/src/pages/app.vue
@@ -13,6 +13,7 @@ import LogoAnimated from "~/components/brand/LogoAnimated.vue";
import PrismIcon from "~/assets/images/external/prism.svg?component";
import ATLauncher from "~/assets/images/external/atlauncher.svg?component";
import CurseForge from "~/assets/images/external/curseforge.svg?component";
+import LatestNewsRow from "~/components/ui/news/LatestNewsRow.vue";
import { homePageProjects } from "~/generated/state.json";
@@ -873,101 +874,8 @@ useSeoMeta({
Privacy Policy.
-
-
-
-
+
+
diff --git a/apps/frontend/src/pages/index.vue b/apps/frontend/src/pages/index.vue
index b3bdeb4d1..6261d35b6 100644
--- a/apps/frontend/src/pages/index.vue
+++ b/apps/frontend/src/pages/index.vue
@@ -419,109 +419,8 @@
-
-
-
-
+
+
@@ -532,14 +431,15 @@ import {
CompassIcon,
LogInIcon,
DashboardIcon,
- NewspaperIcon,
SearchIcon,
CalendarIcon,
ModrinthIcon,
} from "@modrinth/assets";
+import { ref } from "vue";
import PrismLauncherLogo from "~/assets/images/external/prism.svg?component";
import ATLauncherLogo from "~/assets/images/external/atlauncher.svg?component";
import ProjectCard from "~/components/ui/ProjectCard.vue";
+import LatestNewsRow from "~/components/ui/news/LatestNewsRow.vue";
import { homePageProjects, homePageSearch, homePageNotifs } from "~/generated/state.json";
diff --git a/apps/frontend/src/pages/legal/privacy.vue b/apps/frontend/src/pages/legal/privacy.vue
index 82214716d..aa6dcd0b5 100644
--- a/apps/frontend/src/pages/legal/privacy.vue
+++ b/apps/frontend/src/pages/legal/privacy.vue
@@ -122,8 +122,8 @@
Creator Monetization Program data
When you sign up for our
-
- Creator Monetization Program
+ Creator Monetization Program
(the "CMP"), we collect:
diff --git a/apps/frontend/src/pages/news/article/[slug].vue b/apps/frontend/src/pages/news/article/[slug].vue
new file mode 100644
index 000000000..10e380538
--- /dev/null
+++ b/apps/frontend/src/pages/news/article/[slug].vue
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+
+ {{ article.summary }}
+
+ Posted on {{ dayjsDate.format("MMMM D, YYYY") }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/pages/news/index.vue b/apps/frontend/src/pages/news/index.vue
new file mode 100644
index 000000000..b8e1c0e86
--- /dev/null
+++ b/apps/frontend/src/pages/news/index.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
Featured article
+
+ {{ featuredArticle?.title }}
+
+
{{ featuredArticle?.summary }}
+
+ {{ dayjs(featuredArticle?.date).format("MMMM D, YYYY") }}
+
+
+
+
+
+
+
+
+
+
Error: Articles could not be loaded.
+
+
+
+
diff --git a/apps/frontend/src/public/news/article/a-new-chapter-for-modrinth-servers/thumbnail.webp b/apps/frontend/src/public/news/article/a-new-chapter-for-modrinth-servers/thumbnail.webp
new file mode 100644
index 0000000000000000000000000000000000000000..a54d8c13c891bbc4cec262e8fa7b7cec29e4fa98
GIT binary patch
literal 29226
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 m8@-8s%@`^gH>2w|m-!
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