Skip to content

Commit 185e2be

Browse files
authored
docs: docs, path (#203)
* add description for deprecated path format * add path.md * correct typing for sidebar items * add sidebar and nav bar item for docs
1 parent 53c8b80 commit 185e2be

File tree

3 files changed

+105
-2
lines changed

3 files changed

+105
-2
lines changed

.vitepress/config.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,16 @@ export default defineConfig({
1717
{ text: "主页", link: "/" },
1818
{ text: "最近更新", link: "/updates" },
1919
{ text: "分享经验", link: "/contribute" },
20+
{ text: "参考文档", link: "/docs/path", activeMatch: "/docs/" },
2021
{ text: "技术博客", link: "/blog" },
2122
],
22-
sidebar,
23+
sidebar: {
24+
"/docs": {
25+
base: "/docs/",
26+
items: [{ text: "路径格式", link: "path" }],
27+
},
28+
"/": { base: "/", items: sidebar }, // least precedence
29+
},
2330
socialLinks: [
2431
{
2532
icon: "github",

.vitepress/sidebar.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ const experience: DefaultTheme.SidebarItem = {
9090
],
9191
};
9292

93-
const sidebar: DefaultTheme.Sidebar = [gradSchool, studyAbroad, experience];
93+
const sidebar: DefaultTheme.SidebarItem[] = [
94+
gradSchool,
95+
studyAbroad,
96+
experience,
97+
];
9498

9599
export default sidebar;

docs/docs/path.md

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# 路径格式
2+
3+
所有文件采用扁平化的组织形式,不对类型、专业等作任何区分,统一存放在 `docs/` 下。`docs/` 被配置为 VitePress 的根目录,并不出现在 URL 中。因此,飞跃手册经验分享的帖子路径格式为:`/<id>.md`
4+
5+
## 文件名格式
6+
7+
其中,`<id>` 的格式为 `<surname><first-name-abbr><year>`
8+
9+
- `<surname>` 为姓氏的全拼写,如「李」姓对应 `li`。使用复姓的,全拼写所有汉字,如「慕容」对应 `murong`
10+
- `<first-name-abbr>` 为名的首字母缩写,如单名「明」的,对应 `ming`;双名「小明」的,对应 `xm`;双名以上的,以此类推。
11+
- `<year>` 为年级的后两位。如入学年份为 2019 年的,对应 `19`
12+
13+
例如,李小明于 2019 年入学,其分享对应的文件名为 `lixm19.md`
14+
15+
> [!INFO] 格式来源
16+
>
17+
> 这个格式主要启发自南科大邮箱的别名格式,但只取年份的后两位以缩短链接长度。
18+
19+
若是匿名分享,则采用 `anon<year>` 格式。
20+
21+
## 同名同年级情况
22+
23+
若出现同名同年级的情况,或一人有多个投稿的,按上述规则,则文件名也相同,因此需要作出如下区分:
24+
25+
- 先进行第一次投稿的作者,可优先使用标准文件名
26+
- 主文件名之外,其他的帖子,不管是同一作者还是不同作者,应按时间顺序排列,在后方添加字母后缀,如 `lixm19a``lixm19b` 等。
27+
- 同一作者有多个帖子的,不论投稿时间先后,其研究生项目申请经验分享应始终拥有主文件名(如该作者先于其他同名同年级作者投稿)
28+
- 同年级的匿名作者,先投稿的可使用默认文件名,其他投稿统一按照时间顺序排列添加字母后缀。
29+
30+
例如,下表中,李小明和李晓民同为 19 级本科生,且按时间顺序(从上到下)进行了表格中列举的投稿,则其文件名应如表所示。
31+
32+
| 作者 | 投稿内容 | 文件名 | 解释 |
33+
| :----: | :------: | :-------: | ------------------------------------------------------------------------ |
34+
| 李小明 | 暑研项目 | `lixm19a` | 此投稿早于同一作者的申请经验分享,但不能使用主文件名 |
35+
| 李晓民 | 博士申请 | `lixm19b` | 李小明的第一次投稿更早,且后续也投稿了申请经验,因此这里不能使用主文件名 |
36+
| 李小明 | 硕士申请 | `lixm19` | 李小明的第一次投稿更早,因此使用主文件名 |
37+
| 李晓民 | 英语学习 | `lixm19c` | 按时间顺序添加字母后缀 |
38+
39+
在这个例子中,如果李小明后续并没有投稿申请经验,则李晓民的帖子依然可以使用 `lixm19` 作为文件名。我们始终给申请、就业帖子更高优先级。
40+
41+
## 资产路径
42+
43+
若一帖子引用了图片、自定义组件、CSS 等资产,则作出如下目录调整:
44+
45+
```txt
46+
| <id>/
47+
|-- index.md
48+
|-- img1.png
49+
|-- img2.png
50+
|-- MyComponent.vue
51+
|-- style.css
52+
|-- ...
53+
```
54+
55+
即,不使用单个文件 `<id>.md`,而是使用一个目录 `<id>/`,在其下存放相关的资产,而帖子本身为 `index.md`
56+
57+
## ~~已弃用的路径格式~~
58+
59+
> [!WARNING] 已弃用
60+
>
61+
> 这一节中描述的路径格式已在 `v3` 中被弃用。
62+
63+
样例:
64+
65+
- `/grad-application/computer-science-and-engineering/[US]-15-yanxiangyi`
66+
- `/grad-application/finance/financial-engineering/[SG]-16-liyilin`
67+
- `/oversea-program/semester-program/uc_yangzonghao`
68+
69+
### 路径名
70+
71+
路径格式为:`<type>[/<subtype>]/<department>[/<major>]`,其中
72+
73+
- `<type>` 为帖子类别,如 `grad-application``oversea-program` 等。
74+
- `<subtype>` 为可选的细分类别,如 `英语学习` 下细分 `TOEFL``GRE` 等。
75+
- `<department>` 为院系名称,如 `computer-science-and-engineering``microelectronics` 等。
76+
- `<major>` 为可选的专业名称,当一个院系下有多个专业时使用,如 `biology` 下的 `bioinformatics``bioscience` 等。
77+
78+
> [!WARNING] 已弃用
79+
>
80+
> 这个格式已被弃用,一来因其过长,二来不应在 URL 中使用 `[]` 等的特殊字符。
81+
82+
### 文件名
83+
84+
文件名格式为:`[<region>]-<year>-<name>`,其中
85+
86+
- `<region>` 为地区代码,如 `US``CN``HK`
87+
- `<year>` 为年级的后两位数字,如 2019 年入学对应 `19`
88+
- `<name>` 为姓名的全拼写,如「李小明」对应 `lixiaoming`
89+
90+
> [!WARNING] 已弃用
91+
>
92+
> 这个格式已被弃用,一来因其过长,二来不应在 URL 中使用 `[]` 等的特殊字符。

0 commit comments

Comments
 (0)