Skip to content

Commit 9c26b81

Browse files
Kosthiclaude
andcommitted
feat: migrate from Vue 3 to Astro 5 with blog system
- Replace Vue 3 + Vite with Astro 5 + Vue islands architecture - Implement i18n routing with zh/en/ja language support - Add Content Collections for blog system - Create blog pages with PostCard, TableOfContents components - Keep interactive Vue components (NavBar, AboutSection, BackToTop) - Convert static sections to Astro components - Add RSS feeds for each language - Update GitHub Actions for Astro deployment - Simplify navigation bar layout Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9a356be commit 9c26b81

Some content is hidden

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

41 files changed

+10901
-3464
lines changed

.github/workflows/deploy.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ permissions:
1111
id-token: write
1212

1313
concurrency:
14-
group: pages
15-
cancel-in-progress: true
14+
group: "pages"
15+
cancel-in-progress: false
1616

1717
jobs:
1818
build:
@@ -24,26 +24,29 @@ jobs:
2424
- name: Setup Node
2525
uses: actions/setup-node@v4
2626
with:
27-
node-version: 20
28-
cache: npm
27+
node-version: "20"
28+
cache: "npm"
29+
30+
- name: Setup Pages
31+
uses: actions/configure-pages@v5
2932

3033
- name: Install dependencies
3134
run: npm ci
3235

33-
- name: Build
36+
- name: Build with Astro
3437
run: npm run build
3538

3639
- name: Upload artifact
3740
uses: actions/upload-pages-artifact@v3
3841
with:
39-
path: dist
42+
path: ./dist
4043

4144
deploy:
42-
needs: build
43-
runs-on: ubuntu-latest
4445
environment:
4546
name: github-pages
46-
url: ${{ steps.deployment.outputs.page_url }}
47+
url: $${{ steps.deployment.outputs.page_url }}
48+
runs-on: ubuntu-latest
49+
needs: build
4750
steps:
4851
- name: Deploy to GitHub Pages
4952
id: deployment

astro.config.mjs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { defineConfig } from 'astro/config';
2+
import vue from '@astrojs/vue';
3+
import sitemap from '@astrojs/sitemap';
4+
5+
export default defineConfig({
6+
site: 'https://rushdb-lab.github.io',
7+
integrations: [
8+
vue(),
9+
sitemap({
10+
i18n: {
11+
defaultLocale: 'zh',
12+
locales: {
13+
zh: 'zh-CN',
14+
en: 'en-US',
15+
ja: 'ja-JP',
16+
},
17+
},
18+
}),
19+
],
20+
i18n: {
21+
defaultLocale: 'zh',
22+
locales: ['zh', 'en', 'ja'],
23+
routing: {
24+
prefixDefaultLocale: true,
25+
redirectToDefaultLocale: false,
26+
},
27+
},
28+
});

0 commit comments

Comments
 (0)