Compare commits

...

12 Commits

Author SHA1 Message Date
9bb89b31cf feat(docs/souvenir-customization): improvement
- Added more info about badge/nameplate customization.
- Implemented form for souvenir customization requests.

Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:11 +08:00
26cec0e2a8 refactor(assets): convert badge templates to svg
- Fixed incorrect svg rendering.

Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:10 +08:00
f31c29da84 feat(astro/config): add navigation link to Nix CN community
- Added starlight-ui-tweak plugin
- Added navigation link to Nix CN community

Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:10 +08:00
829169191c feat(docs/{index,meetup-2-guide}): extract group info
- Moved Telegram/Matrix group information to meetup guide
- Redirected group information button on index page

Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:10 +08:00
Lin Jian
b7e7325544 Replace NixOS with Nix in the meetup description
This is more inclusive.  Besides NixOS, Nix includes other things such
as Nix on other distros and nix-darwin.

Signed-off-by: Lin Jian <me@linj.tech>
2025-12-12 16:24:10 +08:00
Lin Jian
36d895e95d Unify the meetup title
The title is "Nix CN Meetup" everywhere except here.

Signed-off-by: Lin Jian <me@linj.tech>
2025-12-12 16:24:10 +08:00
Lin Jian
ca44b7a4b0 Add Matrix group
Signed-off-by: Lin Jian <me@linj.tech>
2025-12-12 16:24:10 +08:00
aa44bd4cf4 Add maintainers
Signed-off-by: Asai Neko <sugar@sne.moe>
2025-12-12 16:24:10 +08:00
b3be6cda4f feat(docs/meetup-2-guide): refactor badge customization
- Linked badge customization button to its own document

Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:10 +08:00
be1b163519 feat(docs/badge-customization): add badge customization directions
Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:09 +08:00
9d2e3603db feat(tsconfig): add tsconfig paths
- Added paths for components and assets

Signed-off-by: Noa Virellia <noa@requiem.garden>
2025-12-12 16:24:09 +08:00
7dc1dca8be feat(docs/meetup-2-guide): proofread 2025-12-12 16:14:14 +08:00
15 changed files with 177 additions and 24 deletions

View File

@@ -27,3 +27,5 @@
- Asai Neko <sugar@sne.moe>
- Noa Virellia <noa@requiem.garden>
- Sizhe Zhao <prc.zhao@outlook.com>
- Haonan Chen <chn@chn.moe>

View File

@@ -2,6 +2,7 @@
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import mdx from '@astrojs/mdx';
import starlightUITweaks from 'starlight-ui-tweaks';
// https://astro.build/config
export default defineConfig({
@@ -31,8 +32,21 @@ export default defineConfig({
href: 'https://github.com/NixOS-CN/nixcn-web',
},
],
sidebar: ['meetup-2-guide'],
plugins: [],
sidebar: ['meetup-2-guide', 'souvenir-customization'],
plugins: [
starlightUITweaks({
navbarLinks: [
{ label: 'Nix CN 社区 ↗', href: 'https://nixos-cn.org/' },
],
locales: {
en: {
navbarLinks: [
{ label: "Nix CN Community ↗", href: "https://nixos-cn.org/" },
],
},
},
}),
],
}),
mdx(),
],

View File

@@ -13,7 +13,8 @@
"@astrojs/mdx": "^4.3.12",
"@astrojs/starlight": "^0.37.0",
"astro": "^5.6.1",
"sharp": "^0.34.2"
"sharp": "^0.34.2",
"starlight-ui-tweaks": "^0.1.0"
},
"devDependencies": {
"prettier": "^3.7.4",

52
pnpm-lock.yaml generated
View File

@@ -20,6 +20,9 @@ importers:
sharp:
specifier: ^0.34.2
version: 0.34.5
starlight-ui-tweaks:
specifier: ^0.1.0
version: 0.1.0(@astrojs/starlight@0.37.0(astro@5.16.4(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)))
devDependencies:
prettier:
specifier: ^3.7.4
@@ -522,155 +525,183 @@ packages:
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-arm64@1.2.4':
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-arm@1.0.5':
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
cpu: [arm]
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.0.4':
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
cpu: [s390x]
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.0.4':
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
cpu: [x64]
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.0.4':
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@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.0.4':
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
cpu: [x64]
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.33.5':
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@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.33.5':
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
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.33.5':
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
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.33.5':
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
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.33.5':
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@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.33.5':
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
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.33.5':
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
@@ -813,56 +844,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==}
@@ -1963,6 +2005,12 @@ packages:
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
starlight-ui-tweaks@0.1.0:
resolution: {integrity: sha512-RY5qfXqfl40EAVVuXkBhfer1igPzFD2F3FrzwPBtbPEurUE933WmO6stHZOEa0TxIwg2KtTD22HAj7hq17KqcQ==}
engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0}
peerDependencies:
'@astrojs/starlight': '>=0.36'
stoppable@1.1.0:
resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
engines: {node: '>=4', npm: '>=6'}
@@ -4735,6 +4783,10 @@ snapshots:
space-separated-tokens@2.0.2: {}
starlight-ui-tweaks@0.1.0(@astrojs/starlight@0.37.0(astro@5.16.4(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))):
dependencies:
'@astrojs/starlight': 0.37.0(astro@5.16.4(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))
stoppable@1.1.0: {}
stream-replace-string@2.0.0: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
src/assets/nameplate.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -0,0 +1,27 @@
---
import { Image } from 'astro:assets';
import NormalBadgeTemplate from '@assets/badges/normal.webp';
import RainbowBadgeTemplate from '@assets/badges/rainbow.webp';
import TransBadgeTemplate from '@assets/badges/trans.webp';
---
<div class="badge-row">
<Image class="badge" src={NormalBadgeTemplate} alt="NormalBadgeTemplate" />
<Image class="badge" src={RainbowBadgeTemplate} alt="RainbowBadgeTemplate" />
<Image class="badge" src={TransBadgeTemplate} alt="TransBadgeTemplate" />
</div>
<style>
.badge-row {
display: flex;
gap: 1.5rem;
align-items: flex-start;
}
.badge {
margin-top: 0;
min-width: 0;
width: clamp(180px, 24vw, 240px);
height: auto;
}
</style>

View File

@@ -10,8 +10,12 @@ hero:
- text: 'Meetup #2 Attendee Guide'
link: /en/meetup-2-guide
icon: right-arrow
- text: Join the event group
- text: Join the Telegram event group
link: https://t.me/nixcnmeetup
icon: external
variant: minimal
- text: Join the Matrix event group
link: https://matrix.to/#/#nix-cn-meetup:rebmit.moe
icon: external
variant: minimal
---

View File

@@ -1,16 +1,13 @@
---
title: 'Nix CN Meetup #2 Guide'
description: 'Nix CN Meetup #2 is the second Nix-themed meetup in China. We aim to bring together NixOS enthusiasts, developers, and practitioners to share usage experiences, best practices, and real-world applications of NixOS.'
description: 'Nix CN Meetup #2 is the second Nix-themed meetup in China. We aim to bring together Nix enthusiasts, developers, and practitioners to share usage experiences, best practices, and real-world applications of Nix.'
sidebar:
label: 'Meetup #2 Guide'
---
import { LinkButton } from '@astrojs/starlight/components';
import { Aside } from '@astrojs/starlight/components';
<Aside type='caution'>Translated by ChatGPT, not proofread.</Aside>
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.
Nix CN Meetup #2 is the second Nix-themed gathering in China. We aim to bring together Nix enthusiasts, developers, and practitioners to share their experiences, best practices, and use cases of Nix in various scenarios.
## Event Information
@@ -19,10 +16,10 @@ Nix CN Meetup #2 is the second Nix-themed gathering in China. We aim to bring to
(800 Dongchuan Road, Minhang District, Shanghai)
<LinkButton href='https://v.wjx.cn/vm/m9YRDuN.aspx' icon='external' iconPlacement='end'>
Register
Register (Chinese)
</LinkButton>
<LinkButton href='https://www.wjx.top/vm/Qi3eqxV.aspx' icon='external' variant='secondary' iconPlacement='end'>
Reserve a Talk
Propose a talk (Chinese)
</LinkButton>
<LinkButton href='#' icon='external' variant='secondary' iconPlacement='end'>
Name Badge Customization Request (Coming Soon)
@@ -39,7 +36,7 @@ Since the **Minhang Campus of Shanghai Jiao Tong University** is far from most t
---
### Shanghai Pudong International Airport (PVG)
### Shanghai Pudong International Airport (Airport)
**Shanghai Pudong International Airport (PVG)** is one of the main airports serving domestic and international flights. It has Terminals T1, T2 and satellite terminals connected by the Pudong Airport APM. The airport is large and crowded—**reserve extra time**.
@@ -51,7 +48,7 @@ From **Pudong Airport Terminal 1 & 2**, you may reach the venue using the follow
- 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).
- 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.
@@ -135,13 +132,13 @@ Distances:
## Accommodation
- **Shanghai Royal Century Hotel (Dalinghuowan International Convention Center)**
- **Shanghai Royal Century Hotel (Dalinghaowan 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.
- Remark: 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.
- Location: 2, either routhwest / northeast of the campus; all relatively far (1000+ m).
- Remark: Among Huazhu brands, **Ji Hotel (Dongchuan Road)** is recommended.
Nearby Hanting branches are not recommended and offer no price advantages.

View File

@@ -11,7 +11,6 @@ hero:
link: /meetup-2-guide
icon: right-arrow
- text: 加入活动群组
link: https://t.me/nixcnmeetup
icon: external
link: /meetup-2-guide#%E6%B4%BB%E5%8A%A8%E7%BE%A4%E7%BB%84
variant: minimal
---

View File

@@ -1,13 +1,13 @@
---
title: 'Nix CN Meetup #2 参会指南'
description: 'Nix CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希望汇聚国内 NixOS 爱好者、开发者和实践者,共同分享 NixOS 的使用经验、最佳实践以及在不同场景下的应用案例。'
description: 'Nix CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希望汇聚国内 Nix 爱好者、开发者和实践者,共同分享 Nix 的使用经验、最佳实践以及在不同场景下的应用案例。'
sidebar:
label: 'Meetup #2 参会指南'
---
import { LinkButton } from '@astrojs/starlight/components';
Nix/NixOS CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希望汇聚国内 NixOS 爱好者、开发者和实践者,共同分享 NixOS 的使用经验、最佳实践以及在不同场景下的应用案例。
Nix CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希望汇聚国内 Nix 爱好者、开发者和实践者,共同分享 Nix 的使用经验、最佳实践以及在不同场景下的应用案例。
## 会议信息
@@ -20,8 +20,17 @@ Nix/NixOS CN Meetup #2 是国内第二次以 Nix 为主题的聚会。我们希
<LinkButton href='https://www.wjx.top/vm/Qi3eqxV.aspx' icon='external' variant='secondary' iconPlacement='end'>
填写议程收集表
</LinkButton>
<LinkButton href='#' icon='external' variant='secondary' iconPlacement='end'>
填写名牌定制需求表(尚未开放)
<LinkButton href='/souvenir-customization/' icon='external' variant='secondary' iconPlacement='end'>
纪念品定制说明
</LinkButton>
## 活动群组
<LinkButton href='https://t.me/nixcnmeetup' icon='telegram' variant='secondary' iconPlacement='start'>
Telegram 活动群组
</LinkButton>
<LinkButton href='https://matrix.to/#/#nix-cn-meetup:rebmit.moe' icon='matrix' variant='secondary' iconPlacement='start'>
Matrix 活动群组
</LinkButton>
## 交通信息

View File

@@ -0,0 +1,42 @@
---
title: '纪念品定制说明'
description: '纪念品定制说明'
sidebar:
label: '纪念品定制说明'
---
import { Image } from 'astro:assets';
import { LinkButton } from '@astrojs/starlight/components';
import BadgeTemplates from '@components/BadgeTemplates.astro';
import Nameplate from '@assets/Nameplate.webp';
# 参会证定制
我们提供三种预设的参会证模板:
<BadgeTemplates />
对于所有参会者默认会使用第一种模板样式Nix 配色)制作参会证。
参会证上的 `#name` 和 `#type` 字段,将由您在报名时填写的信息和您的与会身份(参会者/志愿者/讲者)决定。
如果需要选择模板或有其他定制需求,您可以在这里提交申请:
<LinkButton href='https://forms.cloud.microsoft/r/bJMeW1iu4C' icon='external' variant='secondary' iconPlacement='end'>
填写纪念品定制需求表
</LinkButton>
※ 目前支持以下内容的定制。请在「纪念品定制需求表」的「参会证定制」分区中进行填写。
- 下方文字颜色定制
- 请提供具体需要修改的文字位置和颜色HEX码`#5277C3`)。
- 右下角雪花标志定制
- 请使用[此文件](https://meetup-files.nixos.org.cn/nixos-template.svg)作为定制基础进行修改。
- 请勿修改原文件的比例。
- 修改后,请维持原比例导出**透明底 PNG 文件**,并使用「纪念品定制需求表」中填写的邮件地址,发送文件到 [nixcn-meetup@sne.moe](mailto:nixcn-meetup@sne.moe)。
# 铭牌定制
<Image src={Nameplate} alt="Nameplate" />
※ 纪念品铭牌仅支持定制副标题。请在上述「纪念品定制需求表」的「铭牌定制」分区中一并填写。
- 纪念品铭牌为金属切削制成。
- 副标题字数应小于 20 个英文字符宽度(中文字符宽度计为 2

View File

@@ -1,5 +1,11 @@
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"compilerOptions": {
"paths": {
"@assets/*": ["./src/assets/*"],
"@components/*": ["./src/components/*"]
}
},
"exclude": ["dist"]
}