您提出的需求非常具有挑战性和创新性,目标是创建一个能够“全方位展示几乎我的一切”的个人网站,并且在“形式”上要做到“别出心裁”、“创新”、“美观”和“高度审美”。我将分步解决您提出的核心问题。
您希望内容结构能够方便填写(如 Markdown/无序列表),易于解析(转换为 JSON),并且具有高度的层级和可拓展性,以承载“All in One”的丰富信息。
我建议采用 Markdown 文件作为内容的编写格式,但结合 YAML Front Matter 来定义结构化的元数据,并使用一个清晰的 JSON Schema 来指导内容的解析和渲染。
| 元素 | 作用 | 优势 |
|---|---|---|
| Markdown 文件 (.md) | 实际编写内容,使用无序列表、标题等。 | 写作体验好,专注于内容本身,易于维护。 |
| YAML Front Matter | 定义文件的结构化元数据,如 type (类型)、id (唯一标识)、tags (标签)、weight (权重) 等。 |
方便机器解析和分类,用于前端的过滤、排序和布局。 |
| JSON Schema | 预先定义内容的层级结构和数据类型。 | 确保数据结构的一致性,便于 Next.js/React 组件的开发和数据验证。 |
考虑到您需要“全方位展示几乎我的一切”,内容维度将非常广泛。我建议将内容划分为几个核心的、可拓展的一级维度,每个维度下再包含多个二级分类,最终的内容则以条目 (Item) 的形式存在。
这些是您“一切”的最高层级分类,用于网站的主导航或核心模块。
在每个一级维度下,您可以使用 Markdown 的二级标题 (##) 或三级标题 (###) 来创建二级分类,并使用无序列表 (-) 来创建具体的条目。
示例 Markdown 结构: