6944652966
mirror-to-gitee / mirror (push) Successful in 3s
原先导航「官方文档」指向 /#docs(首页内的文档区块), 用户期望点它直接进 http://open.5iot.com:5051/docs/。 改动 - 导航项改为外链 http://open.5iot.com:5051/docs/, 带 target=_blank 与 rel=noopener,新开标签页不打断阅读 - 首页 hero 的「官方文档」按钮同样改为外链直跳 - 文档站地址收敛为单一来源:data/content.ts 导出 DOCS_BASE / DOCS_HOME, 可用环境变量 DOCS_BASE 覆盖;config.mts 与 HomePage.vue 都引用它, 消除原先三处硬编码 - 首页的「官方文档」区块(#docs)保留,仍是各手册入口的聚合卡片 验证 - 导航渲染实测:href=http://open.5iot.com:5051/docs/, target=_blank - 点击实测:新开标签页到目标地址,原页面 URL 不变 - 锚点项高亮不受影响(点「产品功能」仍正常变蓝) - 构建 13 页 262 引用 0 失效
104 lines
1.7 KiB
Vue
104 lines
1.7 KiB
Vue
<script setup lang="ts">
|
|
import { projects } from '../../../data/projects'
|
|
import ProjectCard from './ProjectCard.vue'
|
|
</script>
|
|
|
|
<template>
|
|
<div class="proj-list">
|
|
<ProjectCard v-for="p in projects" :key="p.id" :project="p" />
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.proj-list {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: 0;
|
|
margin: 24px 0 48px;
|
|
}
|
|
|
|
:deep(.p-proj) {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
gap: 0 16px;
|
|
padding: 14px 6px;
|
|
background: transparent;
|
|
border: 0;
|
|
border-bottom: 1px solid var(--p-line);
|
|
border-radius: 0;
|
|
box-shadow: none;
|
|
transition: background-color 0.18s ease;
|
|
}
|
|
|
|
:deep(.p-proj:first-child) {
|
|
border-top: 1px solid var(--p-line);
|
|
}
|
|
|
|
:deep(.p-proj:hover) {
|
|
transform: none;
|
|
border-color: var(--p-line);
|
|
background: var(--p-surface-alt);
|
|
box-shadow: none;
|
|
}
|
|
|
|
:deep(.p-proj-top),
|
|
:deep(.p-proj-tagline),
|
|
:deep(.p-proj-summary) {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
:deep(.p-proj-name) {
|
|
font-size: 18px;
|
|
}
|
|
|
|
:deep(.p-proj-tagline) {
|
|
margin-top: 3px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
:deep(.p-proj-summary) {
|
|
margin-top: 7px;
|
|
font-size: 13px;
|
|
line-height: 1.65;
|
|
}
|
|
|
|
:deep(.p-tags) {
|
|
grid-column: 1;
|
|
margin-top: 9px;
|
|
gap: 5px;
|
|
}
|
|
|
|
:deep(.p-tags li) {
|
|
padding: 2px 7px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
:deep(.p-proj-foot) {
|
|
grid-column: 2;
|
|
grid-row: 4;
|
|
align-self: center;
|
|
gap: 10px;
|
|
margin-top: 9px;
|
|
padding-top: 0;
|
|
border-top: 0;
|
|
font-size: 12px;
|
|
}
|
|
|
|
@media (max-width: 560px) {
|
|
:deep(.p-proj) {
|
|
gap: 0 8px;
|
|
padding: 13px 4px;
|
|
}
|
|
|
|
:deep(.p-proj-name) {
|
|
font-size: 16px;
|
|
}
|
|
|
|
:deep(.p-proj-foot) {
|
|
flex-direction: column;
|
|
align-items: flex-end;
|
|
gap: 4px;
|
|
}
|
|
}
|
|
</style>
|