feat: DEV-99 blog migration (#3870)

* feat: blog migration w/ fixes

Co-authored-by: Prospector <prospectordev@gmail.com>

* 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 <prospectordev@gmail.com>
This commit is contained in:
IMB11
2025-07-01 02:59:08 +01:00
committed by GitHub
parent fdb2b1195e
commit eef09e1ffe
220 changed files with 5094 additions and 681 deletions

23
packages/blog/README.md Normal file
View File

@@ -0,0 +1,23 @@
# Modrinth Blog Articles
This package contains the articles for the Modrinth blog. The articles are written in Markdown and are rendered on the Modrinth website.
## How to add a new article
Write your article in the `articles` directory. The filename should be the slug of the article, and the file should have a `.md` extension. The first line of the file should be the frontmatter, which contains metadata about the article such as the title, summary and date of writing.
### Example Frontmatter
```md
---
title: Quintupling Creator Revenue and Becoming Sustainable
short_title: Becoming Sustainable
summary: Announcing an update to our monetization program, creator split, and more!
short_summary: Announcing 5x creator revenue and updates to the monetization program.
date: 2024-09-13T12:00:00-08:00
---
```
You **can** link other articles in the frontmatter, but it's recommended you're explicit about it, for example: `https://modrinth.com/news/article/...` instead of `/news/article/...`. It's not a requirement though, you just have to be careful about it.
You can place images in the `public/{slug}/...` directory, the thumbnail must be a `.webp` file named `thumbnail.webp` in the same public directory.