From 792246dc126fc928f35aba4e16308e66fbb26423 Mon Sep 17 00:00:00 2001 From: zihluwang Date: Fri, 25 Sep 2026 14:48:52 +0800 Subject: [PATCH] feat(nav): restructure top navigation and sidebars The old nav used bare lowercase slugs and leaned on filesystem order for every sidebar. - Replace the three existing nav entries with six labelled ones, keyed through i18n.json so both locales resolve to their own text from identical _nav.json files. - Add _meta.json for blogs and opensource-projects, grouping entries by topic instead of leaving them alphabetical. - Rename the Blogs and Notifications pages so their titles match the nav labels (Insights and News). - Point the notification page's account-settings link at GitHub, as the Gitea instance it referenced is retired. --- docs/en-gb/_nav.json | 25 +++++-- docs/en-gb/blogs/_meta.json | 33 +++++++++ docs/en-gb/blogs/index.md | 8 +-- docs/en-gb/notifications/index.md | 7 +- docs/en-gb/opensource-projects/_meta.json | 14 ++++ docs/zh-hans/_nav.json | 25 +++++-- docs/zh-hans/blogs/_meta.json | 33 +++++++++ docs/zh-hans/blogs/index.md | 6 +- docs/zh-hans/notifications/index.md | 7 +- docs/zh-hans/opensource-projects/_meta.json | 14 ++++ i18n.json | 74 ++++++++++++++++++--- 11 files changed, 212 insertions(+), 34 deletions(-) create mode 100644 docs/en-gb/blogs/_meta.json create mode 100644 docs/en-gb/opensource-projects/_meta.json create mode 100644 docs/zh-hans/blogs/_meta.json create mode 100644 docs/zh-hans/opensource-projects/_meta.json diff --git a/docs/en-gb/_nav.json b/docs/en-gb/_nav.json index c810b93..2e6d0b0 100644 --- a/docs/en-gb/_nav.json +++ b/docs/en-gb/_nav.json @@ -1,17 +1,32 @@ [ { - "text": "projects", - "link": "/projects/", - "activeMatch": "/projects/" + "text": "nav.home", + "link": "/", + "activeMatch": "^/$|^/zh-hans/$" }, { - "text": "blogs", + "text": "nav.products", + "link": "/products/", + "activeMatch": "/products/" + }, + { + "text": "nav.services", + "link": "/services/", + "activeMatch": "/services/" + }, + { + "text": "nav.insights", "link": "/blogs/", "activeMatch": "/blogs/" }, { - "text": "notifications", + "text": "nav.news", "link": "/notifications/", "activeMatch": "/notifications/" + }, + { + "text": "nav.opensource", + "link": "/opensource-projects/", + "activeMatch": "/opensource-projects/" } ] diff --git a/docs/en-gb/blogs/_meta.json b/docs/en-gb/blogs/_meta.json new file mode 100644 index 0000000..c3dd7a1 --- /dev/null +++ b/docs/en-gb/blogs/_meta.json @@ -0,0 +1,33 @@ +[ + "index", + { "type": "section-header", "label": "insights.group.frontend" }, + { "type": "file", "name": "ecmascript-2025-syntax-sugar" }, + { "type": "file", "name": "frontend-development-standards" }, + { "type": "file", "name": "frontend-tips-and-solutions" }, + { "type": "file", "name": "font-size-conversion-table" }, + { "type": "section-header", "label": "insights.group.backend" }, + { "type": "file", "name": "java-development-standards" }, + { "type": "file", "name": "java-development-cheatsheet" }, + { "type": "file", "name": "mybatis-flex" }, + { "type": "file", "name": "postgresql-zhparser-fuzzy-search" }, + { "type": "file", "name": "use-json-in-mysql" }, + { "type": "section-header", "label": "insights.group.devops" }, + { "type": "file", "name": "docker-deployment-standards" }, + { "type": "file", "name": "gitlab-ops" }, + { "type": "file", "name": "setup-ldap-service" }, + { "type": "file", "name": "minio-admin-guide" }, + { "type": "section-header", "label": "insights.group.practice" }, + { "type": "file", "name": "general-development-standards" }, + { "type": "file", "name": "google-code-review-standards" }, + { "type": "file", "name": "version-control-and-code-review" }, + { "type": "file", "name": "git-cheatsheet" }, + { "type": "section-header", "label": "insights.group.tooling" }, + { "type": "file", "name": "fix-idea-application-yaml-schema-validation" }, + { "type": "file", "name": "windows-driver-backup-restore" }, + { "type": "file", "name": "fix-macos-monterey-sleep-wake" }, + { "type": "file", "name": "macos-private-dns-hostname" }, + { "type": "file", "name": "quartile-method" }, + { "type": "file", "name": "use-of-gravatar" }, + { "type": "file", "name": "email-like-a-boss" }, + { "type": "file", "name": "cooking-seasoning-guide" } +] diff --git a/docs/en-gb/blogs/index.md b/docs/en-gb/blogs/index.md index 39a2a2b..b752aa8 100644 --- a/docs/en-gb/blogs/index.md +++ b/docs/en-gb/blogs/index.md @@ -1,11 +1,11 @@ --- -title: Blog +title: Insights --- -# Blog +# Insights -Welcome to the OnixByte blog — a collection of practical guides, cheatsheets, and standards -distilled from daily engineering work. +Practical guides, cheatsheets, and standards distilled from daily engineering +work. ## Topics diff --git a/docs/en-gb/notifications/index.md b/docs/en-gb/notifications/index.md index b412e0b..c9f3e94 100644 --- a/docs/en-gb/notifications/index.md +++ b/docs/en-gb/notifications/index.md @@ -1,10 +1,10 @@ --- -title: Notifications +title: News --- ## Microsoft Email Delivery Issues (@outlook, @hotmail, @live, @msn and custom domain emails hosted on Microsoft) -> Updated at *19 May 2026*. +> Updated at _19 May 2026_. **Urgent Action Required for Users with Microsoft-Hosted Emails.** @@ -13,7 +13,6 @@ Please be advised that our automated email service is currently experiencing sev To ensure uninterrupted service, please follow the guidance below based on your account status: - For Prospective Users (Before Registration): Please **do not** use a Microsoft-hosted email address to register your account. You will not receive the essential activation link. Kindly use an alternative email service provider, such as your corporate email, Gmail, etc. to complete your registration. -- For Existing Registered Users: If your profile is currently linked to an Outlook or Hotmail address, please log in immediately and update your primary email address. You can change this by navigating to your **[User Settings -> Preferences -> Emails](https://git.onixbyte.cn/-/profile/emails)** page. Failing to do so will result in missing critical repository updates, CI/CD pipeline failure logs, and Merge Request notifications. +- For Existing Registered Users: If your profile is currently linked to an Outlook or Hotmail address, please log in immediately and update your primary email address. You can change this by navigating to your **[User Settings -> Preferences -> Emails](https://github.com/settings/emails)** page. Failing to do so will result in missing critical repository updates, CI/CD pipeline failure logs, and Merge Request notifications. We are actively working to appeal this block with the Microsoft Postmaster Centre. We sincerely apologise for any inconvenience caused and appreciate your prompt cooperation in updating your contact details. - diff --git a/docs/en-gb/opensource-projects/_meta.json b/docs/en-gb/opensource-projects/_meta.json new file mode 100644 index 0000000..ac3637c --- /dev/null +++ b/docs/en-gb/opensource-projects/_meta.json @@ -0,0 +1,14 @@ +[ + "index", + { "type": "section-header", "label": "opensource.group.libraries" }, + { "type": "dir", "name": "onixbyte-toolbox" }, + { "type": "dir", "name": "regions4j" }, + { "type": "dir", "name": "captcha" }, + { "type": "dir", "name": "calendar-toolbox" }, + { "type": "section-header", "label": "opensource.group.applications" }, + { "type": "dir", "name": "helix" }, + { "type": "dir", "name": "delta-force-guide" }, + { "type": "section-header", "label": "opensource.group.tools" }, + { "type": "dir", "name": "claude-code-skill-manager" }, + { "type": "dir", "name": "vite-plugins" } +] diff --git a/docs/zh-hans/_nav.json b/docs/zh-hans/_nav.json index c810b93..2e6d0b0 100644 --- a/docs/zh-hans/_nav.json +++ b/docs/zh-hans/_nav.json @@ -1,17 +1,32 @@ [ { - "text": "projects", - "link": "/projects/", - "activeMatch": "/projects/" + "text": "nav.home", + "link": "/", + "activeMatch": "^/$|^/zh-hans/$" }, { - "text": "blogs", + "text": "nav.products", + "link": "/products/", + "activeMatch": "/products/" + }, + { + "text": "nav.services", + "link": "/services/", + "activeMatch": "/services/" + }, + { + "text": "nav.insights", "link": "/blogs/", "activeMatch": "/blogs/" }, { - "text": "notifications", + "text": "nav.news", "link": "/notifications/", "activeMatch": "/notifications/" + }, + { + "text": "nav.opensource", + "link": "/opensource-projects/", + "activeMatch": "/opensource-projects/" } ] diff --git a/docs/zh-hans/blogs/_meta.json b/docs/zh-hans/blogs/_meta.json new file mode 100644 index 0000000..c3dd7a1 --- /dev/null +++ b/docs/zh-hans/blogs/_meta.json @@ -0,0 +1,33 @@ +[ + "index", + { "type": "section-header", "label": "insights.group.frontend" }, + { "type": "file", "name": "ecmascript-2025-syntax-sugar" }, + { "type": "file", "name": "frontend-development-standards" }, + { "type": "file", "name": "frontend-tips-and-solutions" }, + { "type": "file", "name": "font-size-conversion-table" }, + { "type": "section-header", "label": "insights.group.backend" }, + { "type": "file", "name": "java-development-standards" }, + { "type": "file", "name": "java-development-cheatsheet" }, + { "type": "file", "name": "mybatis-flex" }, + { "type": "file", "name": "postgresql-zhparser-fuzzy-search" }, + { "type": "file", "name": "use-json-in-mysql" }, + { "type": "section-header", "label": "insights.group.devops" }, + { "type": "file", "name": "docker-deployment-standards" }, + { "type": "file", "name": "gitlab-ops" }, + { "type": "file", "name": "setup-ldap-service" }, + { "type": "file", "name": "minio-admin-guide" }, + { "type": "section-header", "label": "insights.group.practice" }, + { "type": "file", "name": "general-development-standards" }, + { "type": "file", "name": "google-code-review-standards" }, + { "type": "file", "name": "version-control-and-code-review" }, + { "type": "file", "name": "git-cheatsheet" }, + { "type": "section-header", "label": "insights.group.tooling" }, + { "type": "file", "name": "fix-idea-application-yaml-schema-validation" }, + { "type": "file", "name": "windows-driver-backup-restore" }, + { "type": "file", "name": "fix-macos-monterey-sleep-wake" }, + { "type": "file", "name": "macos-private-dns-hostname" }, + { "type": "file", "name": "quartile-method" }, + { "type": "file", "name": "use-of-gravatar" }, + { "type": "file", "name": "email-like-a-boss" }, + { "type": "file", "name": "cooking-seasoning-guide" } +] diff --git a/docs/zh-hans/blogs/index.md b/docs/zh-hans/blogs/index.md index 82b1131..f45a73a 100644 --- a/docs/zh-hans/blogs/index.md +++ b/docs/zh-hans/blogs/index.md @@ -1,10 +1,10 @@ --- -title: 博客 +title: 技术洞察 --- -# 博客 +# 技术洞察 -欢迎来到 OnixByte 博客,这里汇集了日常工程实践中沉淀的实用指南、速查手册和开发规范。 +这里汇集了日常工程实践中沉淀的实用指南、速查手册和开发规范。 ## 话题分类 diff --git a/docs/zh-hans/notifications/index.md b/docs/zh-hans/notifications/index.md index 6006e6a..d318429 100644 --- a/docs/zh-hans/notifications/index.md +++ b/docs/zh-hans/notifications/index.md @@ -1,10 +1,10 @@ --- -title: 通知 +title: 企业动态 --- ## Microsoft 邮件投递问题(@outlook、@hotmail、@live、@msn 以及托管在 Microsoft 的自定义域名邮箱) -> 更新于 *2026 年 5 月 19 日* +> 更新于 _2026 年 5 月 19 日_ **使用 Microsoft 托管邮箱的用户需立即采取行动。** @@ -13,7 +13,6 @@ title: 通知 为确保服务不受影响,请根据您的账户状态参考以下指引: - **新用户(注册前)**:请**不要**使用 Microsoft 托管的邮箱地址注册账户。您将无法收到必要的激活链接。请使用其他邮件服务商,例如您的企业邮箱、QQ 邮箱或网易 163 邮箱完成注册。 -- **已注册用户**:如果您的账户当前绑定了 Outlook 或 Hotmail 邮箱地址,请立即登录并更新您的主邮箱。您可以通过 **[用户设置 -> 偏好设置 -> 邮箱](https://git.onixbyte.cn/-/profile/emails)** 页面进行更改。未能及时更新将导致您无法收到重要的仓库更新、CI/CD 流水线失败日志以及合并请求通知。 +- **已注册用户**:如果您的账户当前绑定了 Outlook 或 Hotmail 邮箱地址,请立即登录并更新您的主邮箱。您可以通过 **[用户设置 -> 偏好设置 -> 邮箱](https://github.com/settings/emails)** 页面进行更改。未能及时更新将导致您无法收到重要的仓库更新、CI/CD 流水线失败日志以及合并请求通知。 我们正在积极与 Microsoft Postmaster Centre 沟通,以申请解除此屏蔽。对于由此带来的任何不便,我们深表歉意,并感谢您及时配合更新联系信息。 - diff --git a/docs/zh-hans/opensource-projects/_meta.json b/docs/zh-hans/opensource-projects/_meta.json new file mode 100644 index 0000000..ac3637c --- /dev/null +++ b/docs/zh-hans/opensource-projects/_meta.json @@ -0,0 +1,14 @@ +[ + "index", + { "type": "section-header", "label": "opensource.group.libraries" }, + { "type": "dir", "name": "onixbyte-toolbox" }, + { "type": "dir", "name": "regions4j" }, + { "type": "dir", "name": "captcha" }, + { "type": "dir", "name": "calendar-toolbox" }, + { "type": "section-header", "label": "opensource.group.applications" }, + { "type": "dir", "name": "helix" }, + { "type": "dir", "name": "delta-force-guide" }, + { "type": "section-header", "label": "opensource.group.tools" }, + { "type": "dir", "name": "claude-code-skill-manager" }, + { "type": "dir", "name": "vite-plugins" } +] diff --git a/i18n.json b/i18n.json index de46ba9..8af7bf9 100644 --- a/i18n.json +++ b/i18n.json @@ -111,16 +111,72 @@ "en-gb": "Collapse", "zh-hans": "折叠" }, - "blogs": { - "en-gb": "Blog", - "zh-hans": "博客" + "nav.home": { + "en-gb": "Home", + "zh-hans": "首页" }, - "notifications": { - "en-gb": "Notifications", - "zh-hans": "通知" + "nav.products": { + "en-gb": "Products", + "zh-hans": "产品矩阵" }, - "projects": { - "en-gb": "Projects", - "zh-hans": "项目" + "nav.services": { + "en-gb": "Services", + "zh-hans": "定制服务" + }, + "nav.insights": { + "en-gb": "Insights", + "zh-hans": "技术洞察" + }, + "nav.news": { + "en-gb": "News", + "zh-hans": "企业动态" + }, + "nav.opensource": { + "en-gb": "Open Source", + "zh-hans": "开源生态" + }, + "opensource.group.libraries": { + "en-gb": "Libraries & Toolkits", + "zh-hans": "库与工具包" + }, + "opensource.group.applications": { + "en-gb": "Full-Stack Applications", + "zh-hans": "全栈应用" + }, + "opensource.group.tools": { + "en-gb": "Developer Tools", + "zh-hans": "开发者工具" + }, + "insights.group.frontend": { + "en-gb": "Frontend", + "zh-hans": "前端" + }, + "insights.group.backend": { + "en-gb": "Backend & Data", + "zh-hans": "后端与数据" + }, + "insights.group.devops": { + "en-gb": "DevOps & Infrastructure", + "zh-hans": "运维与基础设施" + }, + "insights.group.practice": { + "en-gb": "Engineering Practice", + "zh-hans": "工程实践" + }, + "insights.group.tooling": { + "en-gb": "Tooling & Troubleshooting", + "zh-hans": "工具与疑难排查" + }, + "footer.copyright": { + "en-gb": "© 2026 Changsha OnixByte Technology Co., Ltd. All rights reserved.", + "zh-hans": "© 2026 长沙曜珀科技有限公司 版权所有" + }, + "footer.privacy": { + "en-gb": "Privacy Policy", + "zh-hans": "隐私政策" + }, + "footer.terms": { + "en-gb": "Terms of Service", + "zh-hans": "服务条款" } }