Skip to content

Commit 1087b68

Browse files
committed
feat: migrate docs to Astro framework
- Replace static HTML with Astro components - Preserve all original design, animations, and styling - Add proper SEO metadata (Open Graph, Twitter Cards, JSON-LD) - Configure GitHub Actions workflow for Astro build - Move static assets to public/ directory - Maintain responsive design and particle effects Design preserved: - Industrial/rust orange theme (#ce4a00) - Animated cog decorations - Floating particle effects - Stats dashboard layout - IBM Plex Mono font family
1 parent ea72f23 commit 1087b68

60 files changed

Lines changed: 858 additions & 2076 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,24 @@ jobs:
2222
url: ${{ steps.deployment.outputs.page_url }}
2323
steps:
2424
- uses: actions/checkout@v6
25-
- uses: actions/configure-pages@v6
25+
26+
- uses: actions/setup-node@v6
27+
with:
28+
node-version: '22'
29+
cache: 'npm'
30+
cache-dependency-path: docs/package-lock.json
31+
32+
- name: Install dependencies
33+
run: npm ci
34+
working-directory: docs
35+
36+
- name: Build
37+
run: npm run build
38+
working-directory: docs
39+
2640
- uses: actions/upload-pages-artifact@v4
2741
with:
28-
path: docs/
42+
path: docs/out/
43+
2944
- id: deployment
3045
uses: actions/deploy-pages@v5

docs/.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
node_modules/
2+
dist/
3+
.astro/
4+
out/
5+
.env
6+
.env.production
7+
npm-debug.log*
8+
yarn-debug.log*
9+
yarn-error.log*
10+
pnpm-debug.log*
11+
.DS_Store
12+
.idea/

docs/.vscode/extensions.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"recommendations": ["astro-build.astro-vscode"],
3+
"unwantedRecommendations": []
4+
}

docs/.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"command": "./node_modules/.bin/astro dev",
6+
"name": "Development server",
7+
"request": "launch",
8+
"type": "node-terminal"
9+
}
10+
]
11+
}

docs/README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Astro Starter Kit: Minimal
2+
3+
```sh
4+
npm create astro@latest -- --template minimal
5+
```
6+
7+
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
8+
9+
## 🚀 Project Structure
10+
11+
Inside of your Astro project, you'll see the following folders and files:
12+
13+
```text
14+
/
15+
├── public/
16+
├── src/
17+
│ └── pages/
18+
│ └── index.astro
19+
└── package.json
20+
```
21+
22+
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
23+
24+
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
25+
26+
Any static assets, like images, can be placed in the `public/` directory.
27+
28+
## 🧞 Commands
29+
30+
All commands are run from the root of the project, from a terminal:
31+
32+
| Command | Action |
33+
| :------------------------ | :----------------------------------------------- |
34+
| `npm install` | Installs dependencies |
35+
| `npm run dev` | Starts local dev server at `localhost:4321` |
36+
| `npm run build` | Build your production site to `./dist/` |
37+
| `npm run preview` | Preview your build locally, before deploying |
38+
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
39+
| `npm run astro -- --help` | Get help using the Astro CLI |
40+
41+
## 👀 Want to learn more?
42+
43+
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).

docs/astro.config.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { defineConfig } from 'astro/config';
2+
import sitemap from '@astrojs/sitemap';
3+
4+
const isProd = process.env.NODE_ENV === 'production';
5+
6+
export default defineConfig({
7+
integrations: [sitemap()],
8+
output: 'static',
9+
outDir: 'out',
10+
site: 'https://jonathanperis.github.io',
11+
base: isProd ? '/rinha2-back-end-rust' : '',
12+
});

0 commit comments

Comments
 (0)