From 8d23fc908b775dfe1699d09a530c9f531beb841f Mon Sep 17 00:00:00 2001 From: Beast Date: Sat, 5 Sep 2026 14:43:25 +0800 Subject: [PATCH 1/4] feat: update QTPS --- website/src/constants/qtps.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/constants/qtps.ts b/website/src/constants/qtps.ts index f2245e0f..34095669 100644 --- a/website/src/constants/qtps.ts +++ b/website/src/constants/qtps.ts @@ -1,2 +1,2 @@ /** @description advertised transparent-tx QTPS (before ZK aggregation) */ -export const QTPS = 170; +export const QTPS = 430; From 6c6d1d5cbe0970a97f998f383cebfc15255861a2 Mon Sep 17 00:00:00 2001 From: Beast Date: Sat, 5 Sep 2026 15:22:56 +0800 Subject: [PATCH 2/4] feat: add draft capability --- .../components/features/blog/BlogPost.astro | 14 ++++ .../features/community/BlogSection.astro | 6 +- .../features/home/BlogSection.astro | 6 +- website/src/content.config.ts | 1 + .../blogs/de-DE/weekly-update-01-13-2026.md | 1 + .../blogs/de-DE/weekly-update-01-21-2026.md | 1 + .../blogs/de-DE/weekly-update-01-28-2026.md | 1 + .../blogs/de-DE/weekly-update-02-04-2026.md | 1 + .../blogs/de-DE/weekly-update-02-13-2026.md | 1 + .../blogs/de-DE/weekly-update-02-20-2026.md | 1 + .../blogs/de-DE/weekly-update-02-27-2026.md | 1 + .../blogs/de-DE/weekly-update-03-07-2026.md | 1 + .../blogs/de-DE/weekly-update-03-16-2026.md | 1 + .../blogs/de-DE/weekly-update-03-24-2026.md | 1 + .../blogs/de-DE/weekly-update-03-31-2026.md | 1 + .../blogs/de-DE/weekly-update-04-07-2026.md | 1 + .../blogs/de-DE/weekly-update-04-15-2026.md | 1 + .../blogs/de-DE/weekly-update-04-22-2026.md | 1 + .../blogs/de-DE/weekly-update-04-29-2026.md | 1 + .../blogs/de-DE/weekly-update-05-06-2026.md | 1 + .../blogs/de-DE/weekly-update-05-13-2026.md | 1 + .../blogs/de-DE/weekly-update-05-21-2026.md | 1 + .../blogs/de-DE/weekly-update-05-29-2026.md | 1 + .../blogs/de-DE/weekly-update-06-09-2026.mdx | 1 + .../blogs/de-DE/weekly-update-06-18-2026.mdx | 1 + .../blogs/de-DE/weekly-update-06-26-2026.mdx | 1 + .../blogs/de-DE/weekly-update-07-09-2026.mdx | 1 + .../blogs/de-DE/weekly-update-07-19-2026.mdx | 1 + .../blogs/de-DE/weekly-update-07-31-2026.mdx | 1 + .../blogs/de-DE/weekly-update-08-10-2026.mdx | 1 + .../blogs/de-DE/weekly-update-08-19-2026.mdx | 1 + .../blogs/de-DE/weekly-update-10-14-2025.md | 1 + .../blogs/de-DE/weekly-update-10-21-2025.md | 1 + .../blogs/de-DE/weekly-update-11-10-2025.md | 1 + .../blogs/de-DE/weekly-update-11-17-2025.md | 1 + .../blogs/de-DE/weekly-update-11-25-2025.md | 1 + .../blogs/de-DE/weekly-update-12-01-2025.md | 1 + .../blogs/de-DE/weekly-update-12-09-2025.md | 1 + .../blogs/de-DE/weekly-update-12-15-2025.md | 1 + .../blogs/de-DE/weekly-update-12-22-2025.md | 1 + .../blogs/en-US/weekly-update-01-13-2026.md | 1 + .../blogs/en-US/weekly-update-01-21-2026.md | 1 + .../blogs/en-US/weekly-update-01-28-2026.md | 1 + .../blogs/en-US/weekly-update-02-04-2026.md | 1 + .../blogs/en-US/weekly-update-02-13-2026.md | 1 + .../blogs/en-US/weekly-update-02-20-2026.md | 1 + .../blogs/en-US/weekly-update-02-27-2026.md | 1 + .../blogs/en-US/weekly-update-03-07-2026.md | 1 + .../blogs/en-US/weekly-update-03-16-2026.md | 1 + .../blogs/en-US/weekly-update-03-24-2026.md | 1 + .../blogs/en-US/weekly-update-03-31-2026.md | 1 + .../blogs/en-US/weekly-update-04-07-2026.md | 1 + .../blogs/en-US/weekly-update-04-15-2026.md | 1 + .../blogs/en-US/weekly-update-04-22-2026.md | 1 + .../blogs/en-US/weekly-update-04-29-2026.md | 1 + .../blogs/en-US/weekly-update-05-06-2026.md | 1 + .../blogs/en-US/weekly-update-05-13-2026.md | 1 + .../blogs/en-US/weekly-update-05-21-2026.md | 1 + .../blogs/en-US/weekly-update-05-29-2026.md | 1 + .../blogs/en-US/weekly-update-06-09-2026.mdx | 1 + .../blogs/en-US/weekly-update-06-18-2026.mdx | 1 + .../blogs/en-US/weekly-update-06-26-2026.mdx | 1 + .../blogs/en-US/weekly-update-07-09-2026.mdx | 1 + .../blogs/en-US/weekly-update-07-19-2026.mdx | 1 + .../blogs/en-US/weekly-update-07-31-2026.mdx | 1 + .../blogs/en-US/weekly-update-08-10-2026.mdx | 1 + .../blogs/en-US/weekly-update-08-19-2026.mdx | 1 + .../blogs/en-US/weekly-update-10-14-2025.md | 1 + .../blogs/en-US/weekly-update-10-21-2025.md | 1 + .../blogs/en-US/weekly-update-11-10-2025.md | 1 + .../blogs/en-US/weekly-update-11-17-2025.md | 1 + .../blogs/en-US/weekly-update-11-25-2025.md | 1 + .../blogs/en-US/weekly-update-12-01-2025.md | 1 + .../blogs/en-US/weekly-update-12-09-2025.md | 1 + .../blogs/en-US/weekly-update-12-15-2025.md | 1 + .../blogs/en-US/weekly-update-12-22-2025.md | 1 + .../blogs/es-ES/weekly-update-01-13-2026.md | 1 + .../blogs/es-ES/weekly-update-01-21-2026.md | 1 + .../blogs/es-ES/weekly-update-01-28-2026.md | 1 + .../blogs/es-ES/weekly-update-02-04-2026.md | 1 + .../blogs/es-ES/weekly-update-02-13-2026.md | 1 + .../blogs/es-ES/weekly-update-02-20-2026.md | 1 + .../blogs/es-ES/weekly-update-02-27-2026.md | 1 + .../blogs/es-ES/weekly-update-03-07-2026.md | 1 + .../blogs/es-ES/weekly-update-03-16-2026.md | 1 + .../blogs/es-ES/weekly-update-03-24-2026.md | 1 + .../blogs/es-ES/weekly-update-03-31-2026.md | 1 + .../blogs/es-ES/weekly-update-04-07-2026.md | 1 + .../blogs/es-ES/weekly-update-04-15-2026.md | 1 + .../blogs/es-ES/weekly-update-04-22-2026.md | 1 + .../blogs/es-ES/weekly-update-04-29-2026.md | 1 + .../blogs/es-ES/weekly-update-05-06-2026.md | 1 + .../blogs/es-ES/weekly-update-05-13-2026.md | 1 + .../blogs/es-ES/weekly-update-05-21-2026.md | 1 + .../blogs/es-ES/weekly-update-05-29-2026.md | 1 + .../blogs/es-ES/weekly-update-06-09-2026.mdx | 1 + .../blogs/es-ES/weekly-update-06-18-2026.mdx | 1 + .../blogs/es-ES/weekly-update-06-26-2026.mdx | 1 + .../blogs/es-ES/weekly-update-07-09-2026.mdx | 1 + .../blogs/es-ES/weekly-update-07-19-2026.mdx | 1 + .../blogs/es-ES/weekly-update-07-31-2026.mdx | 1 + .../blogs/es-ES/weekly-update-08-10-2026.mdx | 1 + .../blogs/es-ES/weekly-update-08-19-2026.mdx | 1 + .../blogs/es-ES/weekly-update-10-14-2025.md | 1 + .../blogs/es-ES/weekly-update-10-21-2025.md | 1 + .../blogs/es-ES/weekly-update-11-10-2025.md | 1 + .../blogs/es-ES/weekly-update-11-17-2025.md | 1 + .../blogs/es-ES/weekly-update-11-25-2025.md | 1 + .../blogs/es-ES/weekly-update-12-01-2025.md | 1 + .../blogs/es-ES/weekly-update-12-09-2025.md | 1 + .../blogs/es-ES/weekly-update-12-15-2025.md | 1 + .../blogs/es-ES/weekly-update-12-22-2025.md | 1 + .../blogs/hi-IN/weekly-update-01-13-2026.md | 1 + .../blogs/hi-IN/weekly-update-01-21-2026.md | 1 + .../blogs/hi-IN/weekly-update-01-28-2026.md | 1 + .../blogs/hi-IN/weekly-update-02-04-2026.md | 1 + .../blogs/hi-IN/weekly-update-02-13-2026.md | 1 + .../blogs/hi-IN/weekly-update-02-20-2026.md | 1 + .../blogs/hi-IN/weekly-update-02-27-2026.md | 1 + .../blogs/hi-IN/weekly-update-03-07-2026.md | 1 + .../blogs/hi-IN/weekly-update-03-16-2026.md | 1 + .../blogs/hi-IN/weekly-update-03-24-2026.md | 1 + .../blogs/hi-IN/weekly-update-03-31-2026.md | 1 + .../blogs/hi-IN/weekly-update-04-07-2026.md | 1 + .../blogs/hi-IN/weekly-update-04-15-2026.md | 1 + .../blogs/hi-IN/weekly-update-04-22-2026.md | 1 + .../blogs/hi-IN/weekly-update-04-29-2026.md | 1 + .../blogs/hi-IN/weekly-update-05-06-2026.md | 1 + .../blogs/hi-IN/weekly-update-05-13-2026.md | 1 + .../blogs/hi-IN/weekly-update-05-21-2026.md | 1 + .../blogs/hi-IN/weekly-update-05-29-2026.md | 1 + .../blogs/hi-IN/weekly-update-06-09-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-06-18-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-06-26-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-07-09-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-07-19-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-07-31-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-08-10-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-08-19-2026.mdx | 1 + .../blogs/hi-IN/weekly-update-10-14-2025.md | 1 + .../blogs/hi-IN/weekly-update-10-21-2025.md | 1 + .../blogs/hi-IN/weekly-update-11-10-2025.md | 1 + .../blogs/hi-IN/weekly-update-11-17-2025.md | 1 + .../blogs/hi-IN/weekly-update-11-25-2025.md | 1 + .../blogs/hi-IN/weekly-update-12-01-2025.md | 1 + .../blogs/hi-IN/weekly-update-12-09-2025.md | 1 + .../blogs/hi-IN/weekly-update-12-15-2025.md | 1 + .../blogs/hi-IN/weekly-update-12-22-2025.md | 1 + .../blogs/id-ID/weekly-update-01-13-2026.md | 1 + .../blogs/id-ID/weekly-update-01-21-2026.md | 1 + .../blogs/id-ID/weekly-update-01-28-2026.md | 1 + .../blogs/id-ID/weekly-update-02-04-2026.md | 1 + .../blogs/id-ID/weekly-update-02-13-2026.md | 1 + .../blogs/id-ID/weekly-update-02-20-2026.md | 1 + .../blogs/id-ID/weekly-update-02-27-2026.md | 1 + .../blogs/id-ID/weekly-update-03-07-2026.md | 1 + .../blogs/id-ID/weekly-update-03-16-2026.md | 1 + .../blogs/id-ID/weekly-update-03-24-2026.md | 1 + .../blogs/id-ID/weekly-update-03-31-2026.md | 1 + .../blogs/id-ID/weekly-update-04-07-2026.md | 1 + .../blogs/id-ID/weekly-update-04-15-2026.md | 1 + .../blogs/id-ID/weekly-update-04-22-2026.md | 1 + .../blogs/id-ID/weekly-update-04-29-2026.md | 1 + .../blogs/id-ID/weekly-update-05-06-2026.md | 1 + .../blogs/id-ID/weekly-update-05-13-2026.md | 1 + .../blogs/id-ID/weekly-update-05-21-2026.md | 1 + .../blogs/id-ID/weekly-update-05-29-2026.md | 1 + .../blogs/id-ID/weekly-update-06-09-2026.mdx | 1 + .../blogs/id-ID/weekly-update-06-18-2026.mdx | 1 + .../blogs/id-ID/weekly-update-06-26-2026.mdx | 1 + .../blogs/id-ID/weekly-update-07-09-2026.mdx | 1 + .../blogs/id-ID/weekly-update-07-19-2026.mdx | 1 + .../blogs/id-ID/weekly-update-07-31-2026.mdx | 1 + .../blogs/id-ID/weekly-update-08-10-2026.mdx | 1 + .../blogs/id-ID/weekly-update-08-19-2026.mdx | 1 + .../blogs/id-ID/weekly-update-10-14-2025.md | 1 + .../blogs/id-ID/weekly-update-10-21-2025.md | 1 + .../blogs/id-ID/weekly-update-11-10-2025.md | 1 + .../blogs/id-ID/weekly-update-11-17-2025.md | 1 + .../blogs/id-ID/weekly-update-11-25-2025.md | 1 + .../blogs/id-ID/weekly-update-12-01-2025.md | 1 + .../blogs/id-ID/weekly-update-12-09-2025.md | 1 + .../blogs/id-ID/weekly-update-12-15-2025.md | 1 + .../blogs/id-ID/weekly-update-12-22-2025.md | 1 + .../blogs/ja-JP/weekly-update-01-13-2026.md | 1 + .../blogs/ja-JP/weekly-update-01-21-2026.md | 1 + .../blogs/ja-JP/weekly-update-01-28-2026.md | 1 + .../blogs/ja-JP/weekly-update-02-04-2026.md | 1 + .../blogs/ja-JP/weekly-update-02-13-2026.md | 1 + .../blogs/ja-JP/weekly-update-02-20-2026.md | 1 + .../blogs/ja-JP/weekly-update-02-27-2026.md | 1 + .../blogs/ja-JP/weekly-update-03-07-2026.md | 1 + .../blogs/ja-JP/weekly-update-03-16-2026.md | 1 + .../blogs/ja-JP/weekly-update-03-24-2026.md | 1 + .../blogs/ja-JP/weekly-update-03-31-2026.md | 1 + .../blogs/ja-JP/weekly-update-04-07-2026.md | 1 + .../blogs/ja-JP/weekly-update-04-15-2026.md | 1 + .../blogs/ja-JP/weekly-update-04-22-2026.md | 1 + .../blogs/ja-JP/weekly-update-04-29-2026.md | 1 + .../blogs/ja-JP/weekly-update-05-06-2026.md | 1 + .../blogs/ja-JP/weekly-update-05-13-2026.md | 1 + .../blogs/ja-JP/weekly-update-05-21-2026.md | 1 + .../blogs/ja-JP/weekly-update-05-29-2026.md | 1 + .../blogs/ja-JP/weekly-update-06-09-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-06-18-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-06-26-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-07-09-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-07-19-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-07-31-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-08-10-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-08-19-2026.mdx | 1 + .../blogs/ja-JP/weekly-update-10-14-2025.md | 1 + .../blogs/ja-JP/weekly-update-10-21-2025.md | 1 + .../blogs/ja-JP/weekly-update-11-10-2025.md | 1 + .../blogs/ja-JP/weekly-update-11-17-2025.md | 1 + .../blogs/ja-JP/weekly-update-11-25-2025.md | 1 + .../blogs/ja-JP/weekly-update-12-01-2025.md | 1 + .../blogs/ja-JP/weekly-update-12-09-2025.md | 1 + .../blogs/ja-JP/weekly-update-12-15-2025.md | 1 + .../blogs/ja-JP/weekly-update-12-22-2025.md | 1 + .../blogs/ko-KR/weekly-update-01-13-2026.md | 1 + .../blogs/ko-KR/weekly-update-01-21-2026.md | 1 + .../blogs/ko-KR/weekly-update-01-28-2026.md | 1 + .../blogs/ko-KR/weekly-update-02-04-2026.md | 1 + .../blogs/ko-KR/weekly-update-02-13-2026.md | 1 + .../blogs/ko-KR/weekly-update-02-20-2026.md | 1 + .../blogs/ko-KR/weekly-update-02-27-2026.md | 1 + .../blogs/ko-KR/weekly-update-03-07-2026.md | 1 + .../blogs/ko-KR/weekly-update-03-16-2026.md | 1 + .../blogs/ko-KR/weekly-update-03-24-2026.md | 1 + .../blogs/ko-KR/weekly-update-03-31-2026.md | 1 + .../blogs/ko-KR/weekly-update-04-07-2026.md | 1 + .../blogs/ko-KR/weekly-update-04-15-2026.md | 1 + .../blogs/ko-KR/weekly-update-04-22-2026.md | 1 + .../blogs/ko-KR/weekly-update-04-29-2026.md | 1 + .../blogs/ko-KR/weekly-update-05-06-2026.md | 1 + .../blogs/ko-KR/weekly-update-05-13-2026.md | 1 + .../blogs/ko-KR/weekly-update-05-21-2026.md | 1 + .../blogs/ko-KR/weekly-update-05-29-2026.md | 1 + .../blogs/ko-KR/weekly-update-06-09-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-06-18-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-06-26-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-07-09-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-07-19-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-07-31-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-08-10-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-08-19-2026.mdx | 1 + .../blogs/ko-KR/weekly-update-10-14-2025.md | 1 + .../blogs/ko-KR/weekly-update-10-21-2025.md | 1 + .../blogs/ko-KR/weekly-update-11-10-2025.md | 1 + .../blogs/ko-KR/weekly-update-11-17-2025.md | 1 + .../blogs/ko-KR/weekly-update-11-25-2025.md | 1 + .../blogs/ko-KR/weekly-update-12-01-2025.md | 1 + .../blogs/ko-KR/weekly-update-12-09-2025.md | 1 + .../blogs/ko-KR/weekly-update-12-15-2025.md | 1 + .../blogs/ko-KR/weekly-update-12-22-2025.md | 1 + .../blogs/ru-RU/weekly-update-01-13-2026.md | 1 + .../blogs/ru-RU/weekly-update-01-21-2026.md | 1 + .../blogs/ru-RU/weekly-update-01-28-2026.md | 1 + .../blogs/ru-RU/weekly-update-02-04-2026.md | 1 + .../blogs/ru-RU/weekly-update-02-13-2026.md | 1 + .../blogs/ru-RU/weekly-update-02-20-2026.md | 1 + .../blogs/ru-RU/weekly-update-02-27-2026.md | 1 + .../blogs/ru-RU/weekly-update-03-07-2026.md | 1 + .../blogs/ru-RU/weekly-update-03-16-2026.md | 1 + .../blogs/ru-RU/weekly-update-03-24-2026.md | 1 + .../blogs/ru-RU/weekly-update-03-31-2026.md | 1 + .../blogs/ru-RU/weekly-update-04-07-2026.md | 1 + .../blogs/ru-RU/weekly-update-04-15-2026.md | 1 + .../blogs/ru-RU/weekly-update-04-22-2026.md | 1 + .../blogs/ru-RU/weekly-update-04-29-2026.md | 1 + .../blogs/ru-RU/weekly-update-05-06-2026.md | 1 + .../blogs/ru-RU/weekly-update-05-13-2026.md | 1 + .../blogs/ru-RU/weekly-update-05-21-2026.md | 1 + .../blogs/ru-RU/weekly-update-05-29-2026.md | 1 + .../blogs/ru-RU/weekly-update-06-09-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-06-18-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-06-26-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-07-09-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-07-19-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-07-31-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-08-10-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-08-19-2026.mdx | 1 + .../blogs/ru-RU/weekly-update-10-14-2025.md | 1 + .../blogs/ru-RU/weekly-update-10-21-2025.md | 1 + .../blogs/ru-RU/weekly-update-11-10-2025.md | 1 + .../blogs/ru-RU/weekly-update-11-17-2025.md | 1 + .../blogs/ru-RU/weekly-update-11-25-2025.md | 1 + .../blogs/ru-RU/weekly-update-12-01-2025.md | 1 + .../blogs/ru-RU/weekly-update-12-09-2025.md | 1 + .../blogs/ru-RU/weekly-update-12-15-2025.md | 1 + .../blogs/ru-RU/weekly-update-12-22-2025.md | 1 + .../blogs/zh-CN/weekly-update-01-13-2026.md | 1 + .../blogs/zh-CN/weekly-update-01-21-2026.md | 1 + .../blogs/zh-CN/weekly-update-01-28-2026.md | 1 + .../blogs/zh-CN/weekly-update-02-04-2026.md | 1 + .../blogs/zh-CN/weekly-update-02-13-2026.md | 1 + .../blogs/zh-CN/weekly-update-02-20-2026.md | 1 + .../blogs/zh-CN/weekly-update-02-27-2026.md | 1 + .../blogs/zh-CN/weekly-update-03-07-2026.md | 1 + .../blogs/zh-CN/weekly-update-03-16-2026.md | 1 + .../blogs/zh-CN/weekly-update-03-24-2026.md | 1 + .../blogs/zh-CN/weekly-update-03-31-2026.md | 1 + .../blogs/zh-CN/weekly-update-04-07-2026.md | 1 + .../blogs/zh-CN/weekly-update-04-15-2026.md | 1 + .../blogs/zh-CN/weekly-update-04-22-2026.md | 1 + .../blogs/zh-CN/weekly-update-04-29-2026.md | 1 + .../blogs/zh-CN/weekly-update-05-06-2026.md | 1 + .../blogs/zh-CN/weekly-update-05-13-2026.md | 1 + .../blogs/zh-CN/weekly-update-05-21-2026.md | 1 + .../blogs/zh-CN/weekly-update-05-29-2026.md | 1 + .../blogs/zh-CN/weekly-update-06-09-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-06-18-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-06-26-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-07-09-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-07-19-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-07-31-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-08-10-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-08-19-2026.mdx | 1 + .../blogs/zh-CN/weekly-update-10-14-2025.md | 1 + .../blogs/zh-CN/weekly-update-10-21-2025.md | 1 + .../blogs/zh-CN/weekly-update-11-10-2025.md | 1 + .../blogs/zh-CN/weekly-update-11-17-2025.md | 1 + .../blogs/zh-CN/weekly-update-11-25-2025.md | 1 + .../blogs/zh-CN/weekly-update-12-01-2025.md | 1 + .../blogs/zh-CN/weekly-update-12-09-2025.md | 1 + .../blogs/zh-CN/weekly-update-12-15-2025.md | 1 + .../blogs/zh-CN/weekly-update-12-22-2025.md | 1 + website/src/pages/[lang]/blog/[...slug].astro | 15 +++- website/src/pages/[lang]/blog/index.astro | 4 +- .../src/pages/[lang]/blog/tags/[tag].astro | 13 ++- website/src/pages/blog/[...slug].astro | 15 +++- website/src/pages/blog/index.astro | 4 +- website/src/pages/blog/tags/[tag].astro | 13 ++- website/src/utils/blog-posts.test.ts | 84 +++++++++++++++++++ website/src/utils/blog-posts.ts | 53 ++++++++++++ 336 files changed, 520 insertions(+), 32 deletions(-) create mode 100644 website/src/utils/blog-posts.test.ts create mode 100644 website/src/utils/blog-posts.ts diff --git a/website/src/components/features/blog/BlogPost.astro b/website/src/components/features/blog/BlogPost.astro index a92de4a1..91b4c2d4 100644 --- a/website/src/components/features/blog/BlogPost.astro +++ b/website/src/components/features/blog/BlogPost.astro @@ -18,6 +18,7 @@ import env from "@/config"; type Props = CollectionEntry<"blog">["data"] & { relatedPosts?: CollectionEntry<"blog">[]; + isUnpublishedPreview?: boolean; }; const { @@ -30,6 +31,7 @@ const { tags = [], author: authorId, relatedPosts = [], + isUnpublishedPreview = false, } = Astro.props; const currentLocale = getLocaleFromUrl(Astro.url.pathname); @@ -102,6 +104,14 @@ const jsonLd = JsonLdGraph({ ) } + { + isUnpublishedPreview && ( +

+ Unpublished +

+ ) + } +

@@ -208,6 +218,10 @@ const jsonLd = JsonLdGraph({