release: bump version to 0.42.2

This commit is contained in:
rayd1o
2026-04-28 04:35:13 +08:00
parent 42d019af36
commit 1cd2dab0ee
8 changed files with 63 additions and 19 deletions

View File

@@ -1 +1 @@
0.42.1 0.42.2

View File

@@ -8,6 +8,13 @@ This project follows the repository versioning rule:
- `improvement` -> `+0.0.1`bugfix + 小功能混合) - `improvement` -> `+0.0.1`bugfix + 小功能混合)
- `bugfix` -> `+0.0.1` - `bugfix` -> `+0.0.1`
## [0.42.2] — 2026-04-28
### 🐛 Fixes
- Docs 中文模式下补齐左侧分组、文档标题、页头分类与搜索结果分类翻译,并更新文档站品牌标题/副标题文案
---
## [0.42.1] — 2026-04-28 ## [0.42.1] — 2026-04-28
### 🐛 Fixes ### 🐛 Fixes

View File

@@ -16,12 +16,13 @@
## Current Version ## Current Version
- `main` 当前主线历史推导到:`0.16.5` - `main` 当前主线历史推导到:`0.16.5`
- `dev` 当前开发分支历史推导到:`0.42.1` - `dev` 当前开发分支历史推导到:`0.42.2`
## Timeline ## Timeline
| Version | Type | Branch | Commit | Summary | | Version | Type | Branch | Commit | Summary |
| --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- |
| `0.42.2` | bugfix | `dev` | `pending` | Docs 中文模式补齐分组和文档标题翻译,并更新文档站品牌文案 |
| `0.42.1` | bugfix | `dev` | `pending` | 修正 release skill 的 feature 版本计算规则minor 进位时重置 patch 为 0 | | `0.42.1` | bugfix | `dev` | `pending` | 修正 release skill 的 feature 版本计算规则minor 进位时重置 patch 为 0 |
| `0.42.0` | feature | `dev` | `pending` | 新增公开 `/docs` 文档站、中英文技术/使用文档、搜索与主题切换,并补充公共组件复用和 Earth 无高清材质边缘提示 | | `0.42.0` | feature | `dev` | `pending` | 新增公开 `/docs` 文档站、中英文技术/使用文档、搜索与主题切换,并补充公共组件复用和 Earth 无高清材质边缘提示 |
| `0.41.2` | improvement | `dev` | `pending` | 启动脚本新增 verbose 滚动日志与端口占用诊断Docker 构建支持镜像源覆盖,并修复 Earth 登陆点遮挡判断 | | `0.41.2` | improvement | `dev` | `pending` | 启动脚本新增 verbose 滚动日志与端口占用诊断Docker 构建支持镜像源覆盖,并修复 Earth 登陆点遮挡判断 |

View File

@@ -1,6 +1,6 @@
{ {
"name": "planet-frontend", "name": "planet-frontend",
"version": "0.42.1", "version": "0.42.2",
"private": true, "private": true,
"packageManager": "bun@1", "packageManager": "bun@1",
"dependencies": { "dependencies": {

View File

@@ -11,6 +11,7 @@ import {
extractHeadings, extractHeadings,
getDocsEntries, getDocsEntries,
getDocsEntry, getDocsEntry,
getDocsGroupLabel,
groupDocsEntries, groupDocsEntries,
slugFromDocsHref, slugFromDocsHref,
} from './docs-content' } from './docs-content'
@@ -252,15 +253,19 @@ export default function Docs() {
<Link className="docs-brand" to="/docs"> <Link className="docs-brand" to="/docs">
<span className="docs-brand__mark">P</span> <span className="docs-brand__mark">P</span>
<span> <span>
<span className="docs-brand__title">Planet Docs</span> <span className="docs-brand__title">
<span className="docs-brand__subtitle">Developer guide</span> {lang === 'zh' ? '星球计划文档' : 'Planet Docs'}
</span>
<span className="docs-brand__subtitle">
{lang === 'zh' ? '开发者和用户手册' : 'Developer & User Guide'}
</span>
</span> </span>
</Link> </Link>
<Scrollbar className="docs-nav"> <Scrollbar className="docs-nav">
{groupedEntries.map((group) => ( {groupedEntries.map((group) => (
<section key={group.group} className="docs-nav__group"> <section key={group.group} className="docs-nav__group">
<h2 className="docs-nav__heading">{group.group}</h2> <h2 className="docs-nav__heading">{getDocsGroupLabel(group.group, lang)}</h2>
{group.entries.map((entry) => { {group.entries.map((entry) => {
const isActive = entry.slug === activeSlug const isActive = entry.slug === activeSlug
return ( return (
@@ -320,7 +325,9 @@ export default function Docs() {
<section className="docs-shell"> <section className="docs-shell">
<header className="docs-header"> <header className="docs-header">
<div> <div>
<p className="docs-header__eyebrow">{activeEntry?.group || 'Docs'}</p> <p className="docs-header__eyebrow">
{activeEntry ? getDocsGroupLabel(activeEntry.group, lang) : 'Docs'}
</p>
<h1 className="docs-header__title">{activeEntry?.title || 'Document not found'}</h1> <h1 className="docs-header__title">{activeEntry?.title || 'Document not found'}</h1>
</div> </div>
@@ -356,7 +363,9 @@ export default function Docs() {
onClick={() => handleSearchSelect(result.entry.slug)} onClick={() => handleSearchSelect(result.entry.slug)}
> >
<span className="docs-search__result-title">{result.entry.title}</span> <span className="docs-search__result-title">{result.entry.title}</span>
<span className="docs-search__result-meta">{result.entry.group}</span> <span className="docs-search__result-meta">
{getDocsGroupLabel(result.entry.group, lang)}
</span>
<span className="docs-search__result-excerpt">{result.excerpt}</span> <span className="docs-search__result-excerpt">{result.excerpt}</span>
</button> </button>
)) ))

View File

@@ -21,6 +21,29 @@ interface DocsMetadataEntry {
en: { title: string; group: DocsGroup; order: number } en: { title: string; group: DocsGroup; order: number }
} }
const DOCS_GROUP_LABELS: Record<DocsLang, Record<DocsGroup, string>> = {
zh: {
Overview: '概览',
Manual: '使用手册',
Earth: '地球可视化',
Frontend: '前端',
Backend: '后端',
Agents: '智能体',
Ops: '运维',
Other: '其他',
},
en: {
Overview: 'Overview',
Manual: 'Manual',
Earth: 'Earth',
Frontend: 'Frontend',
Backend: 'Backend',
Agents: 'Agents',
Ops: 'Ops',
Other: 'Other',
},
}
const DOCS_README_FILENAME = 'README.md' const DOCS_README_FILENAME = 'README.md'
const FALLBACK_DOCS_ORDER = 999 const FALLBACK_DOCS_ORDER = 999
const MAX_HEADING_ID_LENGTH = 80 const MAX_HEADING_ID_LENGTH = 80
@@ -42,7 +65,7 @@ const DOCS_METADATA: Record<string, DocsMetadataEntry> = {
en: { title: 'Technical Docs', group: 'Overview', order: 0 }, en: { title: 'Technical Docs', group: 'Overview', order: 0 },
}, },
'quickstart.md': { 'quickstart.md': {
zh: { title: 'Quickstart', group: 'Manual', order: 1 }, zh: { title: '快速开始', group: 'Manual', order: 1 },
en: { title: 'Quickstart', group: 'Manual', order: 1 }, en: { title: 'Quickstart', group: 'Manual', order: 1 },
}, },
'manual.md': { 'manual.md': {
@@ -50,7 +73,7 @@ const DOCS_METADATA: Record<string, DocsMetadataEntry> = {
en: { title: 'Planet Manual', group: 'Manual', order: 2 }, en: { title: 'Planet Manual', group: 'Manual', order: 2 },
}, },
'earth-frontend-context.md': { 'earth-frontend-context.md': {
zh: { title: 'Earth Frontend Context', group: 'Earth', order: 10 }, zh: { title: 'Earth 前端结构', group: 'Earth', order: 10 },
en: { title: 'Earth Frontend Context', group: 'Earth', order: 10 }, en: { title: 'Earth Frontend Context', group: 'Earth', order: 10 },
}, },
'earth-layer-style-reference.md': { 'earth-layer-style-reference.md': {
@@ -62,23 +85,23 @@ const DOCS_METADATA: Record<string, DocsMetadataEntry> = {
en: { title: 'Earth Render Layer Order', group: 'Earth', order: 12 }, en: { title: 'Earth Render Layer Order', group: 'Earth', order: 12 },
}, },
'earth-satellite-footprint-policy.md': { 'earth-satellite-footprint-policy.md': {
zh: { title: 'Earth Satellite Footprint Policy', group: 'Earth', order: 13 }, zh: { title: 'Earth 卫星覆盖策略', group: 'Earth', order: 13 },
en: { title: 'Earth Satellite Footprint Policy', group: 'Earth', order: 13 }, en: { title: 'Earth Satellite Footprint Policy', group: 'Earth', order: 13 },
}, },
'earth-bgp-context.md': { 'earth-bgp-context.md': {
zh: { title: 'BGP Context', group: 'Earth', order: 14 }, zh: { title: 'BGP 态势上下文', group: 'Earth', order: 14 },
en: { title: 'BGP Context', group: 'Earth', order: 14 }, en: { title: 'BGP Context', group: 'Earth', order: 14 },
}, },
'earth-news-live-streams-collector-format.md': { 'earth-news-live-streams-collector-format.md': {
zh: { title: 'News Live Streams Collector Format', group: 'Earth', order: 15 }, zh: { title: '新闻直播采集格式', group: 'Earth', order: 15 },
en: { title: 'News Live Streams Collector Format', group: 'Earth', order: 15 }, en: { title: 'News Live Streams Collector Format', group: 'Earth', order: 15 },
}, },
'frontend-admin-frontend-context.md': { 'frontend-admin-frontend-context.md': {
zh: { title: 'Admin Frontend Context', group: 'Frontend', order: 20 }, zh: { title: '控制台前端结构', group: 'Frontend', order: 20 },
en: { title: 'Admin Frontend Context', group: 'Frontend', order: 20 }, en: { title: 'Admin Frontend Context', group: 'Frontend', order: 20 },
}, },
'frontend-layout-guidelines.md': { 'frontend-layout-guidelines.md': {
zh: { title: 'Frontend Layout Guidelines', group: 'Frontend', order: 21 }, zh: { title: '前端布局指南', group: 'Frontend', order: 21 },
en: { title: 'Frontend Layout Guidelines', group: 'Frontend', order: 21 }, en: { title: 'Frontend Layout Guidelines', group: 'Frontend', order: 21 },
}, },
'backend-collectors.md': { 'backend-collectors.md': {
@@ -86,11 +109,11 @@ const DOCS_METADATA: Record<string, DocsMetadataEntry> = {
en: { title: 'Data Collectors', group: 'Backend', order: 30 }, en: { title: 'Data Collectors', group: 'Backend', order: 30 },
}, },
'backend-system-service-control.md': { 'backend-system-service-control.md': {
zh: { title: 'System Service Control', group: 'Backend', order: 31 }, zh: { title: '系统服务控制', group: 'Backend', order: 31 },
en: { title: 'System Service Control', group: 'Backend', order: 31 }, en: { title: 'System Service Control', group: 'Backend', order: 31 },
}, },
'agents-aiprovider.md': { 'agents-aiprovider.md': {
zh: { title: 'AI Provider Guide', group: 'Agents', order: 40 }, zh: { title: 'AI Provider 指南', group: 'Agents', order: 40 },
en: { title: 'AI Provider Guide', group: 'Agents', order: 40 }, en: { title: 'AI Provider Guide', group: 'Agents', order: 40 },
}, },
'ops-docker-compose-buildx-upgrade.md': { 'ops-docker-compose-buildx-upgrade.md': {
@@ -154,6 +177,10 @@ export function groupDocsEntries(entries: DocsEntry[]): Array<{ group: DocsGroup
})).filter((group) => group.entries.length > 0) })).filter((group) => group.entries.length > 0)
} }
export function getDocsGroupLabel(group: DocsGroup, lang: DocsLang): string {
return DOCS_GROUP_LABELS[lang][group]
}
export function createHeadingId(text: string, usedIds: Map<string, number>): string { export function createHeadingId(text: string, usedIds: Map<string, number>): string {
const base = text const base = text
.toLowerCase() .toLowerCase()

View File

@@ -1,6 +1,6 @@
[project] [project]
name = "planet" name = "planet"
version = "0.42.1" version = "0.42.2"
description = "智能星球计划 - 态势感知系统" description = "智能星球计划 - 态势感知系统"
requires-python = ">=3.14" requires-python = ">=3.14"
dependencies = [ dependencies = [

2
uv.lock generated
View File

@@ -475,7 +475,7 @@ wheels = [
[[package]] [[package]]
name = "planet" name = "planet"
version = "0.42.1" version = "0.42.2"
source = { virtual = "." } source = { virtual = "." }
dependencies = [ dependencies = [
{ name = "aiofiles" }, { name = "aiofiles" },