diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..f2d08b2
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,6 @@
+.envrc
+devenv.lock
+devenv.yaml
+devenv.nix
+pnpm-lock.yaml
+*.svg
\ No newline at end of file
diff --git a/.prettierrc.json b/.prettierrc.json
index 8398ff1..d68d18e 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -1,4 +1,13 @@
{
+ "plugins": ["prettier-plugin-astro"],
+ "overrides": [
+ {
+ "files": "*.astro",
+ "options": {
+ "parser": "astro"
+ }
+ }
+ ],
"printWidth": 120,
"tabWidth": 4,
"useTabs": false,
@@ -11,7 +20,6 @@
"objectWrap": "preserve",
"bracketSameLine": false,
"arrowParens": "always",
- "parser": "typescript",
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "ignore",
"vueIndentScriptAndStyle": false,
diff --git a/package.json b/package.json
index bf83935..8c7031e 100644
--- a/package.json
+++ b/package.json
@@ -15,5 +15,9 @@
"astro": "^5.6.1",
"sharp": "^0.34.2"
},
+ "devDependencies": {
+ "prettier": "^3.7.4",
+ "prettier-plugin-astro": "^0.14.1"
+ },
"packageManager": "pnpm@10.25.0+sha512.5e82639027af37cf832061bcc6d639c219634488e0f2baebe785028a793de7b525ffcd3f7ff574f5e9860654e098fe852ba8ac5dd5cefe1767d23a020a92f501"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e2bd34b..b2a016a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -20,6 +20,13 @@ importers:
sharp:
specifier: ^0.34.2
version: 0.34.5
+ devDependencies:
+ prettier:
+ specifier: ^3.7.4
+ version: 3.7.4
+ prettier-plugin-astro:
+ specifier: ^0.14.1
+ version: 0.14.1
packages:
@@ -284,89 +291,105 @@ packages:
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-arm@1.2.4':
resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-ppc64@1.2.4':
resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-riscv64@1.2.4':
resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-s390x@1.2.4':
resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-x64@1.2.4':
resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@img/sharp-linux-arm64@0.34.5':
resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-arm@0.34.5':
resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-ppc64@0.34.5':
resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-riscv64@0.34.5':
resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-s390x@0.34.5':
resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-x64@0.34.5':
resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linuxmusl-arm64@0.34.5':
resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@img/sharp-linuxmusl-x64@0.34.5':
resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@img/sharp-wasm32@0.34.5':
resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
@@ -476,56 +499,67 @@ packages:
resolution: {integrity: sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.53.3':
resolution: {integrity: sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==}
cpu: [arm]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.53.3':
resolution: {integrity: sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.53.3':
resolution: {integrity: sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-loong64-gnu@4.53.3':
resolution: {integrity: sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==}
cpu: [loong64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-ppc64-gnu@4.53.3':
resolution: {integrity: sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-riscv64-gnu@4.53.3':
resolution: {integrity: sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-riscv64-musl@4.53.3':
resolution: {integrity: sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-s390x-gnu@4.53.3':
resolution: {integrity: sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.53.3':
resolution: {integrity: sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.53.3':
resolution: {integrity: sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-openharmony-arm64@4.53.3':
resolution: {integrity: sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==}
@@ -1391,6 +1425,15 @@ packages:
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
+ prettier-plugin-astro@0.14.1:
+ resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==}
+ engines: {node: ^14.15.0 || >=16.0.0}
+
+ prettier@3.7.4:
+ resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
+ engines: {node: '>=14'}
+ hasBin: true
+
prismjs@1.30.0:
resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
engines: {node: '>=6'}
@@ -1495,6 +1538,12 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ s.color@0.0.15:
+ resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==}
+
+ sass-formatter@0.7.9:
+ resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==}
+
sax@1.4.3:
resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==}
@@ -1561,6 +1610,9 @@ packages:
style-to-object@1.0.14:
resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+ suf-log@2.5.3:
+ resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==}
+
svgo@4.0.0:
resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==}
engines: {node: '>=16'}
@@ -3645,6 +3697,14 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ prettier-plugin-astro@0.14.1:
+ dependencies:
+ '@astrojs/compiler': 2.13.0
+ prettier: 3.7.4
+ sass-formatter: 0.7.9
+
+ prettier@3.7.4: {}
+
prismjs@1.30.0: {}
prompts@2.4.2:
@@ -3851,6 +3911,12 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.53.3
fsevents: 2.3.3
+ s.color@0.0.15: {}
+
+ sass-formatter@0.7.9:
+ dependencies:
+ suf-log: 2.5.3
+
sax@1.4.3: {}
semver@7.7.3: {}
@@ -3949,6 +4015,10 @@ snapshots:
dependencies:
inline-style-parser: 0.2.7
+ suf-log@2.5.3:
+ dependencies:
+ s.color: 0.0.15
+
svgo@4.0.0:
dependencies:
commander: 11.1.0
diff --git a/src/content/docs/en/index.mdx b/src/content/docs/en/index.mdx
index 003abc1..fcf1bea 100644
--- a/src/content/docs/en/index.mdx
+++ b/src/content/docs/en/index.mdx
@@ -1,17 +1,17 @@
---
-title: "Nix CN"
+title: 'Nix CN'
description: Explore a reproducible future with the Nix CN community
template: splash
hero:
- tagline: Explore a reproducible future with the Nix CN community
- image:
- file: ../../../assets/nix-flake-logo.svg
- actions:
- - text: "Meetup #2 Attendee Guide"
- link: /en/meetup-2-guide
- icon: right-arrow
- - text: Join the event group
- link: https://t.me/nixcnmeetup
- icon: external
- variant: minimal
+ tagline: Explore a reproducible future with the Nix CN community
+ image:
+ file: ../../../assets/nix-flake-logo.svg
+ actions:
+ - text: 'Meetup #2 Attendee Guide'
+ link: /en/meetup-2-guide
+ icon: right-arrow
+ - text: Join the event group
+ link: https://t.me/nixcnmeetup
+ icon: external
+ variant: minimal
---
diff --git a/src/content/docs/en/meetup-2-guide.mdx b/src/content/docs/en/meetup-2-guide.mdx
index 8f6f4a2..e4d9137 100644
--- a/src/content/docs/en/meetup-2-guide.mdx
+++ b/src/content/docs/en/meetup-2-guide.mdx
@@ -5,9 +5,10 @@ sidebar:
label: 'Meetup #2 Guide'
---
+import { LinkButton } from '@astrojs/starlight/components';
import { Aside } from '@astrojs/starlight/components';
-
+
Nix CN Meetup #2 is the second Nix-themed gathering in China. We aim to bring together NixOS enthusiasts, developers, and practitioners to share their experiences, best practices, and use cases of NixOS in various scenarios.
@@ -17,6 +18,16 @@ Nix CN Meetup #2 is the second Nix-themed gathering in China. We aim to bring to
- **Venue:** Dong Xiayuan Building, Shanghai Jiao Tong University, Minhang Campus
(800 Dongchuan Road, Minhang District, Shanghai)
+
+ Register
+
+
+ Reserve a Talk
+
+
+ Name Badge Customization Request (Coming Soon)
+
+
## Transportation Information
### Arriving in Shanghai
@@ -37,12 +48,12 @@ Metro Line 2, Maglev, and the Airport Link Line stop at **Pudong Airport Termina
From **Pudong Airport Terminal 1 & 2**, you may reach the venue using the following route:
- **Airport Link Line → Metro Line 15**
- - Fare: **21 CNY**.
- Last Airport Link Line train departs at **22:00**.
- - Take the Airport Link Line toward **Hongqiao Terminal 2**, get off at **Jinghong Road** Station, and transfer to Line 15 (transfer passage ~800 m).
- - Take **Line 15** to **Zizhu High-tech Park** Station (some trains short-turn at Shuangbai Road; transfer if needed).
- - Exit **Exit 6**, walk west along **Dongchuan Road** (~500 m) to **SJTU Minhang Campus South Gate**.
- Alternatively, exit **Exit 7**, walk north along **Lianhua South Road** (~50 m) to **East Gate 3** of the campus.
+ - Fare: **21 CNY**.
+ Last Airport Link Line train departs at **22:00**.
+ - Take the Airport Link Line toward **Hongqiao Terminal 2**, get off at **Jinghong Road** Station, and transfer to Line 15 (transfer passage ~800 m).
+ - Take **Line 15** to **Zizhu High-tech Park** Station (some trains short-turn at Shuangbai Road; transfer if needed).
+ - Exit **Exit 6**, walk west along **Dongchuan Road** (~500 m) to **SJTU Minhang Campus South Gate**.
+ Alternatively, exit **Exit 7**, walk north along **Lianhua South Road** (~50 m) to **East Gate 3** of the campus.
---
@@ -55,18 +66,18 @@ Metro Lines 2, 10, and 17 serve **Hongqiao Railway Station** (west side), and Li
From **Hongqiao Terminal 2** or **Hongqiao Railway Station**, the recommended routes are:
- **Airport Link Line → Line 15**
- - Fare: **9 CNY**.
- Airport Link Line frequency: ~15 min; last train **22:00**.
- - Take the Airport Link Line toward **Pudong Airport**, get off at **Jinghong Road**, transfer to Line 15 (transfer passage ~800 m).
- - Take Line 15 to **Zizhu High-tech Park** Station.
- - Exit **Exit 6** → walk west along **Dongchuan Road** (~500 m) to **South Gate**.
- Or exit **Exit 7** → walk north along **Lianhua South Road** (~50 m) to **East Gate 3**.
+ - Fare: **9 CNY**.
+ Airport Link Line frequency: ~15 min; last train **22:00**.
+ - Take the Airport Link Line toward **Pudong Airport**, get off at **Jinghong Road**, transfer to Line 15 (transfer passage ~800 m).
+ - Take Line 15 to **Zizhu High-tech Park** Station.
+ - Exit **Exit 6** → walk west along **Dongchuan Road** (~500 m) to **South Gate**.
+ Or exit **Exit 7** → walk north along **Lianhua South Road** (~50 m) to **East Gate 3**.
- **Bus Minhong Line 2**
- - Fare: **13 CNY**.
- Frequency: 15–20 min (subject to holiday adjustments).
- - Tickets must be purchased through the “江南定制专线” WeChat public account (select **Minhong Line 2 (Down) – Hongqiao High-speed Railway Station → Dongchuan Road Transit Hub**) or buy remaining tickets at boarding point.
- - From **Dongchuan Road Transit Hub**, walk/ride east along **Dongchuan Road** (~1500 m) to **SJTU Minhang Campus (Siyuan Gate)**.
+ - Fare: **13 CNY**.
+ Frequency: 15–20 min (subject to holiday adjustments).
+ - Tickets must be purchased through the “江南定制专线” WeChat public account (select **Minhong Line 2 (Down) – Hongqiao High-speed Railway Station → Dongchuan Road Transit Hub**) or buy remaining tickets at boarding point.
+ - From **Dongchuan Road Transit Hub**, walk/ride east along **Dongchuan Road** (~1500 m) to **SJTU Minhang Campus (Siyuan Gate)**.
---
@@ -78,10 +89,10 @@ Served by Metro Lines 1, 3, and 4 at **Shanghai Railway Station**.
Recommended route:
- **Line 1 → Line 5**
- - Fare: **6 CNY**.
- - Take Line 1 to **Xinzhuang** Station, transfer to Line 5 (transfer passage ~100 m).
- - Take Line 5 to **Jianchuan Road** Station.
- - Exit **Exit 1/2**, walk/ride west along **Jianchuan Road** (~1000 m) to **SJTU Minhang Campus North Gate 1**.
+ - Fare: **6 CNY**.
+ - Take Line 1 to **Xinzhuang** Station, transfer to Line 5 (transfer passage ~100 m).
+ - Take Line 5 to **Jianchuan Road** Station.
+ - Exit **Exit 1/2**, walk/ride west along **Jianchuan Road** (~1000 m) to **SJTU Minhang Campus North Gate 1**.
---
@@ -93,10 +104,10 @@ Served by Metro Lines 1, 3, and 15.
Recommended route:
- **Line 15**
- - Fare: **5 CNY**.
- - Take Line 15 to **Zizhu High-tech Park** Station.
- - Exit 6 → walk west along **Dongchuan Road** (~500 m) to **South Gate**.
- Or exit 7 → walk north to **East Gate 3** (~50 m).
+ - Fare: **5 CNY**.
+ - Take Line 15 to **Zizhu High-tech Park** Station.
+ - Exit 6 → walk west along **Dongchuan Road** (~500 m) to **South Gate**.
+ Or exit 7 → walk north to **East Gate 3** (~50 m).
---
@@ -116,6 +127,7 @@ Estimated taxi/ride-hailing fare: **50–60 CNY**.
Venue: **Dong Xiayuan (East Upper Yard) Teaching Building** (exact room TBA).
Location: Southeast area of the campus, near South Gate 2 (closed).
Distances:
+
- ~1200 m from **Siyuan Gate / South Gate**
- ~1600 m from **North Gate 1 / East Gate 3**
@@ -124,12 +136,12 @@ Distances:
## Accommodation
- **Shanghai Royal Century Hotel (Dalinghuowan International Convention Center)**
- - Reference price: **~400 CNY / night** (standard twin room).
- - Location: Northwest of the campus, ~800 m from North Gate 1.
- - Personal notes: Very spacious rooms, good facilities; interior style is old-fashioned and overly luxurious; restaurant quality is poor—dining at **Longhu Paradise Walk** nearby is recommended.
+ - Reference price: **~400 CNY / night** (standard twin room).
+ - Location: Northwest of the campus, ~800 m from North Gate 1.
+ - Personal notes: Very spacious rooms, good facilities; interior style is old-fashioned and overly luxurious; restaurant quality is poor—dining at **Longhu Paradise Walk** nearby is recommended.
- **Huazhu Group Hotels (Ji Hotel, Hanting, etc.)**
- - Reference price: **~300 CNY / night** (twin room).
- - Location: Southwest / northeast of the campus; all relatively far (1000+ m).
- - Personal notes: Among Huazhu brands, **Ji Hotel (Dongchuan Road)** is the recommended option.
- Nearby Hanting branches are not recommended and offer no price advantage.
+ - Reference price: **~300 CNY / night** (twin room).
+ - Location: Southwest / northeast of the campus; all relatively far (1000+ m).
+ - Personal notes: Among Huazhu brands, **Ji Hotel (Dongchuan Road)** is the recommended option.
+ Nearby Hanting branches are not recommended and offer no price advantage.
diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx
index dd0eb6f..9c2127a 100644
--- a/src/content/docs/index.mdx
+++ b/src/content/docs/index.mdx
@@ -1,17 +1,17 @@
---
-title: "Nix CN"
+title: 'Nix CN'
description: 与 Nix 中文社群一起探索可复现的未来
template: splash
hero:
- tagline: 与 Nix 中文社群一起探索可复现的未来
- image:
- file: ../../assets/nix-flake-logo.svg
- actions:
- - text: "Meetup #2 参会指南"
- link: /meetup-2-guide
- icon: right-arrow
- - text: 加入活动群组
- link: https://t.me/nixcnmeetup
- icon: external
- variant: minimal
+ tagline: 与 Nix 中文社群一起探索可复现的未来
+ image:
+ file: ../../assets/nix-flake-logo.svg
+ actions:
+ - text: 'Meetup #2 参会指南'
+ link: /meetup-2-guide
+ icon: right-arrow
+ - text: 加入活动群组
+ link: https://t.me/nixcnmeetup
+ icon: external
+ variant: minimal
---
diff --git a/src/content/docs/meetup-2-guide.mdx b/src/content/docs/meetup-2-guide.mdx
index dfe4437..2fa907f 100644
--- a/src/content/docs/meetup-2-guide.mdx
+++ b/src/content/docs/meetup-2-guide.mdx
@@ -5,6 +5,8 @@ sidebar:
label: 'Meetup #2 参会指南'
---
+import { LinkButton } from '@astrojs/starlight/components';
+
Nix/NixOS CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希望汇聚国内 NixOS 爱好者、开发者和实践者,共同分享 NixOS 的使用经验、最佳实践以及在不同场景下的应用案例。
## 会议信息
@@ -12,6 +14,16 @@ Nix/NixOS CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希
- 日期(UTC +8):2025/12/27 (Sat.) ~ 2025/12/28 (Sun.)
- 地点:上海交通大学闵行校区(上海市闵行区东川路800号)东下院
+
+ 填写报名表
+
+
+ 填写议程收集表
+
+
+ 填写名牌定制需求表(尚未开放)
+
+
## 交通信息
### 抵达上海