Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
a13e2f6
feat: initial work on astro migration
darbyjack Aug 7, 2024
5c89abe
chore: import alias
kashike Aug 8, 2024
397967e
fix: don't always show dropdown
powercasgamer Aug 8, 2024
e715339
chore: sort
kashike Aug 8, 2024
69aab78
fix: lowercase
powercasgamer Aug 8, 2024
82ee189
feat: migrate to unocss
MiniDigger Aug 8, 2024
7f450ce
feat: start working on team page (refer to todo.md)
darbyjack Aug 8, 2024
b42af8f
feat: start working on sponsor page (refer to todo.md)
darbyjack Aug 8, 2024
dbe1bb3
feat: add in guidelines and community pages
darbyjack Aug 8, 2024
06391be
biome
kashike Aug 8, 2024
c134803
feat: implement a hacky remote image wrapper
darbyjack Aug 8, 2024
d12f37a
feat: main download page + compile fixups
darbyjack Aug 8, 2024
6edf29d
fix: avatar fallbacks, abstract out user images
MiniDigger Aug 8, 2024
69f1b92
feat: initial pass at adding in software pages with todos
darbyjack Aug 8, 2024
e2ce81e
feat: add in cloudflare adapter
darbyjack Aug 8, 2024
1eac824
feat: javadoc page + javadoc link on project pages
darbyjack Aug 8, 2024
de250ce
feat: started working on build explorer
darbyjack Aug 8, 2024
4c7b9f4
fix: include og:url as required by spec
kashike Aug 8, 2024
61a9460
chore: format
kashike Aug 9, 2024
b328e93
chore(deps): upgrade deps
darbyjack Aug 9, 2024
9751b8b
feat: readme and renovate
darbyjack Aug 9, 2024
1ea2e5c
feat: add in hangar project counts on software pages
darbyjack Aug 10, 2024
e1f6405
chore(deps): upgrade astro
darbyjack Aug 10, 2024
d62b52c
feat: speed up javadoc page loading
darbyjack Aug 10, 2024
a8f41da
work
notTamion Sep 4, 2024
73af951
chore(deps): upgrade deps
darbyjack Sep 4, 2024
ec480c8
chore(todo): clean up todo formatting
darbyjack Sep 4, 2024
309035d
feat: remove react, rewrite nav bar, start with software download
MiniDigger Oct 3, 2024
7ba834d
feat: add prettier, update deps, remove more react stuff
MiniDigger Oct 3, 2024
24036e4
chore: add more empty alt tags
MiniDigger Oct 3, 2024
5845da4
chore(deps): upgrade deps
darbyjack Oct 20, 2024
91403b4
fix: social icons, navbar default extended mobile, icon colors
darbyjack Oct 20, 2024
becef2b
feat(downloads): initial work, left a few todos
darbyjack Oct 21, 2024
20ba861
chore(biome): please biome and a few more todos for click handlers
darbyjack Oct 21, 2024
d3cd3bd
feat: added in non-reactive builds explorer, see todos.
darbyjack Oct 21, 2024
dac3c72
chore: add some comments to todo
darbyjack Oct 21, 2024
7798e84
chore: couple more items for the todo
darbyjack Oct 21, 2024
f67de17
feat: add in commit hash to footer
darbyjack Oct 21, 2024
b03a5bd
fix: cc by sa icons
darbyjack Oct 21, 2024
aa96926
fix extra spaces
powercasgamer Oct 21, 2024
611f70c
remove github ratelimit thing
powercasgamer Oct 21, 2024
2cc1b88
footer git commit fix
powercasgamer Oct 21, 2024
240020c
sitemap
powercasgamer Oct 21, 2024
cb4763b
t o d o
powercasgamer Oct 21, 2024
bec0390
disallow indexing for robots
powercasgamer Oct 21, 2024
a438492
change domain to dev
powercasgamer Oct 21, 2024
302a9bb
update pnpm to 9.12.2
powercasgamer Oct 21, 2024
1538bc6
implement interactivity for SoftwareDownloadButton
MiniDigger Nov 1, 2024
ac8fd05
feat: start working on astro v5 migration
darbyjack Nov 21, 2024
c88f125
chore(deps): upgrade astro beta and remove override fix
darbyjack Nov 27, 2024
620be7c
chore(deps): upgrade to astro v5
darbyjack Dec 5, 2024
cd9e1ea
Revive Astro feature branch (#132)
jacobsandersen Apr 2, 2025
eeca497
Allow indexing in robots.txt
jacobsandersen Apr 3, 2025
733a119
Update tasks in TODO.md
jacobsandersen Apr 3, 2025
53412c5
Use a web component in SoftwarePreview to change the anchor href as n…
jacobsandersen Apr 3, 2025
5041efe
Convert Terminal.astro to use Web Components and run entirely clients…
jacobsandersen Apr 3, 2025
56208f1
Remove debug log from SoftwarePreview
jacobsandersen Apr 4, 2025
0a0b288
Convert SoftwareHeader to use web components and perform its own clie…
jacobsandersen Apr 4, 2025
d7cd2a4
feat: initial work on astro v2
darbyjack Oct 9, 2025
2d23c87
feat: add hangar project count to platforms
darbyjack Oct 9, 2025
7d6022c
feat: javadocs started
darbyjack Oct 9, 2025
9395e38
feat: sitemap
darbyjack Oct 9, 2025
ec4c8ae
feat: lots of styling fixes for footer and download pages
darbyjack Oct 13, 2025
e99d74c
feat: upgrade to svelte 5 syntax
darbyjack Oct 14, 2025
f770706
fix: terminal output order
darbyjack Oct 14, 2025
0ae9682
fix: eol color codes, waterfall eol message
darbyjack Oct 14, 2025
e7c3a81
chore: rebase + fixups
darbyjack Oct 14, 2025
737ede5
chore: add back license and renovate
darbyjack Oct 14, 2025
c5072f5
feat: add in cloudflare adapter
darbyjack Oct 14, 2025
2e106f3
feat: add in older builds message and link to fill-ui
darbyjack Oct 14, 2025
af1c075
feat: update readme
darbyjack Oct 14, 2025
ca6ad75
chore(deps): upgrade deps
darbyjack Oct 17, 2025
dd2d972
chore: setup cloudflare workers support
darbyjack Oct 17, 2025
00c48b4
fix: terminal
darbyjack Oct 17, 2025
cb083d6
fix: terminal success message color
darbyjack Oct 17, 2025
9feb7a3
fix: velocity jd version handling
darbyjack Oct 17, 2025
5206bfd
fix: eol banner position for waterfall
darbyjack Oct 17, 2025
b7d2f2d
Enable previews in Wrangler config
jpenilla Oct 17, 2025
26df2f0
Use edge cached SSR for downloads pages (#167)
jpenilla Oct 17, 2025
f5f2bff
Fix some imports
jpenilla Oct 17, 2025
d16b76c
fix: wrangler for workers
darbyjack Oct 17, 2025
b6f415e
Symlink AGENTS.md to README.md
jpenilla Oct 17, 2025
a79a107
Setup prettier and eslint, format files
jpenilla Oct 17, 2025
3c3163d
Fix scripts and add workflow
jpenilla Oct 17, 2025
a34580b
gitignore eslint cache file
jpenilla Oct 17, 2025
a01795a
Prefer double quotes
jpenilla Oct 17, 2025
74e5dea
Don't add line breaks to @source inline lines
jpenilla Oct 17, 2025
009bbe8
Also fetch build list serverside for download pages
jpenilla Oct 17, 2025
be4429f
Add type checking with tsgo
jpenilla Oct 17, 2025
0cbc6be
Properly update tsconfig
jpenilla Oct 17, 2025
6c79e6d
Run all checks in actions
jpenilla Oct 17, 2025
ddb2049
feat: utilize edge-type fetching information for workers
darbyjack Oct 17, 2025
c39046f
Add bunfig.toml
jpenilla Oct 17, 2025
0b1b07e
feat: add in vscode settings
darbyjack Oct 17, 2025
de5b01e
fix: mobile navbar spacing
darbyjack Oct 17, 2025
9beedfa
chore: adjust home page image layout
darbyjack Oct 17, 2025
6a078ba
fix: extra spaces in build explorer message
darbyjack Oct 17, 2025
6f4f251
fix: extra spacing on navbar links
darbyjack Oct 17, 2025
dbfb68f
Use channel filter when possible for querying builds
jpenilla Oct 17, 2025
d3524ca
fix: styling for build download information
darbyjack Oct 17, 2025
e7acdcd
Update getVersionBuilds error message
jpenilla Oct 17, 2025
3cae084
fix: fallback image handling for sponsors
darbyjack Oct 17, 2025
a490aa8
fix: image layout for hangar on software pages
darbyjack Oct 17, 2025
aa10eb9
Add back loading state for build list, for experimental toggling
jpenilla Oct 17, 2025
810243e
Fix potential race issue when spamming experimental toggle
jpenilla Oct 17, 2025
948136e
Improve experimental toggle spam fix
jpenilla Oct 17, 2025
4d045c3
fix: software page slot nesting
darbyjack Oct 17, 2025
b80e10d
Add fade transition when swapping to experimental without cache
jpenilla Oct 17, 2025
5bcc448
Disable SoftwareDownloadButton while buildsLoading again
jpenilla Oct 17, 2025
02903e2
chore: turn on observability in wrangler
darbyjack Oct 17, 2025
e46ed53
fix: white outline around contributors
darbyjack Oct 18, 2025
916cffc
fix: bake in commit hash to support ssr
darbyjack Oct 18, 2025
d90baf1
chore: update wrangler config name
darbyjack Oct 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .editorconfig

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.json

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Checks

on:
push:
branches: ["**"]
pull_request:

jobs:
lint:
# Only run on PRs if the source branch is on someone else's repo
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun install

- name: Run linter
run: bun run check:all
45 changes: 16 additions & 29 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,39 +1,26 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# build output
dist/

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build
# generated types
.astro/

# misc
.DS_Store
*.pem
# dependencies
node_modules/

# debug
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
pnpm-debug.log*

# local env files
.env*.local
# environment variables
.env
.env.production

# typescript
*.tsbuildinfo
# macOS-specific files
.DS_Store

# intellij
/.idea
*.iml
# jetbrains setting folder
.idea/

# open-next
.open-next
.eslintcache
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

31 changes: 31 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Dependencies
node_modules/
bun.lock

# Build outputs
dist/
.astro/
.wrangler/

# Cache
.cache/

# Logs
*.log

# Environment files
.env
.env.*

# OS files
.DS_Store
Thumbs.db

# IDE files
.vscode/
.idea/

# Lock files
package-lock.json
yarn.lock
pnpm-lock.yaml
25 changes: 25 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"useTabs": false,
"trailingComma": "es5",
"printWidth": 140,
"arrowParens": "always",
"endOfLine": "lf",
"plugins": ["prettier-plugin-astro", "prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.astro",
"options": {
"parser": "astro"
}
},
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
4 changes: 4 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}
11 changes: 11 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}
23 changes: 23 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",

"eslint.enable": true,
"eslint.run": "onSave",
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"astro",
"svelte"
],

"editor.codeActionsOnSave": {
"source.fixAll": "always",
"source.fixAll.eslint": "always"
},

"prettier.requireConfig": true,
"prettier.useEditorConfig": true,
}
1 change: 1 addition & 0 deletions AGENTS.md
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
117 changes: 104 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,118 @@
# papermc.io
# papermc.io [![Discord](https://img.shields.io/discord/289587909051416579.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/papermc) ![License](https://img.shields.io/github/license/PaperMC/website)

## Development
The official [PaperMC](https://papermc.io) website — built with **Astro 5**, powered by **Bun**, and styled using **Tailwind CSS v4**. Content in this repository is published to [papermc.io](https://papermc.io) for viewing.

### Getting started
---

First, install the dependencies. We use [bun](https://bun.sh/) as the package manager.
## 🚀 Getting Started

How to get the project running on your local machine for development.

### Prerequisites

- [Bun](https://bun.com/)

### Local Development

1. Clone the repository. If you plan to make changes, create a fork first!

```bash
git clone --branch feat/astro https://github.com/PaperMC/website.git
cd website
```

2. Install all required dependencies.

```bash
bun install
```

3. Start the development server.

```bash
bun run dev
```

The site will be available at:
👉 http://localhost:4321

### Building

```bash
bun run build
```

This command builds a production-ready deployment into the `dist` directory. These files are ready to be deployed on Cloudflare Pages.

### Preview the production build

```bash
bun run preview
```

## 🧱 Project Structure

```
website/
├─ src/
│ ├─ pages/ # Astro route files
│ ├─ components/ # Astro & Svelte components (islands)
│ ├─ layouts/ # Shared layout templates
│ ├─ styles/ # Tailwind v4 theme tokens
│ └─ content/ # Markdown or MDX content
├─ public/ # Static assets (favicon, icons, etc.)
├─ astro.config.mjs # Astro configuration
├─ tailwind.config.ts
├─ bun.lockb
└─ package.json
```

## 💡 Development Notes

This project uses Astro 5, which introduces faster rebuilds, partial hydration improvements, and first-class hybrid rendering.

Svelte is used for dynamic islands and component interactivity.

Tailwind v4 leverages the new @theme token system for consistent color and typography design.

Bun handles dependency management and script execution, replacing Node for faster dev cycles.

Pages are statically generated by default, with selective SSR where necessary.

## 📚 Learn More

🌌 [Astro 5 Documentation](https://docs.astro.build)

🎨 [Tailwind CSS v4 Docs](https://tailwindcss.com/docs)

⚡ [Bun Docs](https://bun.sh/docs)

## 🛠️ Contributing

Fork the repository and create a new branch:

```bash
git checkout -b feat/my-change
```

Make your edits and run locally:

```bash
bun install
bun run dev
```

Then, run the development server:
Ensure the build passes:

```bash
bun dev
bun run build
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
Submit a pull request targeting the main branch.

### Learn More
## License

To learn more about technologies used in this project, take a look at the following resources:
The supporting code is
[MIT](https://github.com/PaperMC/website/blob/main/LICENSE) licensed.

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
- [Tailwind CSS Documentation](https://tailwindcss.com/plus/ui-blocks/documentation) - learn about Tailwind CSS utilities.
The PaperMC logomark is subject to its [own terms](https://docs.papermc.io/misc/assets) and does not
inherit a license from any of the projects it represents.
Loading