Files
menav/assets/README.md

98 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MeNav 资源目录
## 目录
- [目录概述](#目录概述)
- [资源列表](#资源列表)
- [CSS 模块化架构](#css-模块化架构)
- [添加新资源](#添加新资源)
## 目录概述
`assets` 目录包含 MeNav 项目所需的所有静态资源文件,包括样式表、图标、图片等。这些资源文件直接被复制到生成的站点中,用于网站的展示和功能实现。
## 资源列表
目录包含以下主要资源:
- **style.css**: 样式入口文件
- 通过 `@import` 聚合所有模块化 CSS
- 构建时由 esbuild 合并压缩为单文件
- **styles/**: CSS 模块目录(详见下方)
- **menav.svg**: 网站图标和项目logo
- 显示在浏览器标签页、书签和收藏夹中
- SVG格式包含黑色字母"M"和蓝色向上箭头设计
- **preview_light.png / preview_dark.png**: 主题预览图
- 用于 README 文档展示
## CSS 模块化架构
样式采用模块化组织,构建时自动合并:
```
assets/
├── style.css # 入口文件(@import 聚合)
└── styles/
├── _variables.css # CSS 变量、主题色
├── _base.css # 全局重置、滚动条
├── _animations.css # @keyframes 动画
├── _layout.css # 页面容器布局
├── _sidebar.css # 侧边栏组件
├── _search.css # 搜索框组件
├── _cards.css # 卡片组件站点卡片、tooltip
├── _modal.css # 模态框、表单
├── _content.css # Markdown 内容页
├── _dashboard.css # 仪表盘(时钟/Todo
└── _main.css # 兜底样式(分类、热力图、响应式)
```
### 模块说明
| 模块 | 职责 |
|------|------|
| `_variables.css` | CSS 变量、深色/浅色主题、间距/圆角系统 |
| `_base.css` | 全局重置、滚动条、遮罩层、主题切换按钮 |
| `_animations.css` | 所有 `@keyframes` 定义 |
| `_layout.css` | 页面容器、欢迎区域、模板布局 |
| `_sidebar.css` | 侧边栏、导航项、折叠状态、子菜单 |
| `_search.css` | 搜索框、引擎下拉、快捷键提示 |
| `_cards.css` | 站点卡片、网格布局、tooltip、编辑按钮 |
| `_modal.css` | 模态框、表单控件、按钮样式 |
| `_content.css` | Markdown 渲染(标题、代码块、表格等) |
| `_dashboard.css` | 仪表盘网格、时钟卡片、Todo 列表 |
| `_main.css` | 分类层级、GitHub 热力图、全局响应式 |
### 构建流程
构建时 esbuild 会:
1. 解析 `style.css` 中的 `@import` 语句
2. 合并所有模块为单文件
3. 压缩输出到 `dist/style.css`
> **开发提示**:修改 CSS 后运行 `npm run build` 或 `npm run dev` 查看效果。
## 添加新资源
### 文件命名规范
- 使用小写字母和连字符 (`-`)
- 避免使用空格和特殊字符
- 名称应清晰表达文件用途
### CSS 扩展指南
1. **找到合适的模块**:根据功能选择对应的 `_*.css` 文件
2. **遵循命名规范**:使用 BEM 风格或现有选择器模式
3. **添加响应式支持**:在同一模块内添加 `@media` 查询
4. **变量优先**:优先使用 `_variables.css` 中定义的变量
### 图片优化
- 压缩图片以减小文件大小
- 使用 PNG、JPG、WebP 等 web 友好格式
- 考虑添加合适的分辨率版本
添加新资源后,构建系统会自动将这些文件复制到生成的网站中。