批量导入工具使用说明
这个 python 脚本是我自己开发自己使用的,可以批量将 CSV 文件中的游戏数据转换为 MDX 文件,然后自动生成对应的目录结构
CSV 转 MDX 脚本
我提供了一个 Python 脚本,可以将 CSV 文件中的游戏数据批量转换为 MDX 文件。
脚本位置
plugin & script/csv-to-files.py
CSV 文件格式要求
CSV 文件需要包含以下列(也可以自己修改文件脚本配置):
title,cover,game,cate,content
街霸,/images/street-fighter.jpg,https://game-url.com,games/fighting,游戏介绍内容
必填字段说明:
title
: 游戏标题cate
: 游戏分类路径(必须以games/
开头)game
: 游戏链接cover
: 游戏封面图片链接content
: 游戏介绍(可选)
使用方法
- 准备 CSV 文件
创建一个包含游戏信息的 CSV 文件,例如 games.csv
:
title,cover,game,cate,content
Street Fighter,/images/sf.jpg,https://game.com/sf,games/fighting,经典格斗游戏
Tetris,/images/tetris.jpg,https://game.com/tetris,games/puzzle,俄罗斯方块
- 修改脚本配置
打开 csv-to-files.py
,修改输入输出路径:
if __name__ == "__main__":
csv_file = "path/to/your/games.csv" # CSV 文件路径
output_dir = "path/to/your/pages/games" # 输出目录路径
- 运行脚本
python csv-to-files.py
文件生成规则
-
文件名生成:
- 根据游戏标题自动生成
- 转换为小写
- 空格替换为横线
- 移除特殊字符
- 例如:
Street Fighter
→street-fighter.mdx
-
目录结构:
- 根据
cate
字段自动创建目录 - 例如:
games/fighting/street-fighter.mdx
- 根据
-
生成的文件格式:
---
title: 游戏标题
cover: 封面图片路径
game: 游戏链接
description:
date: 2024-03-21
---
# 游戏标题
游戏介绍内容...
注意事项
-
路径要求:
- CSV 文件使用 UTF-8 编码
- 分类路径必须以
games/
开头 - 确保输出目录有写入权限
-
文件命名:
- 避免使用特殊字符
- 文件名会自动规范化
- 重复的文件名会被覆盖
-
内容格式:
- 支持 Markdown 格式的内容
- 如果没有提供内容,会使用默认文本
- 标题会自动从 frontmatter 中的 title 生成
-
日期处理:
- 自动使用当前日期
- 格式为
YYYY-MM-DD
示例用法
- 基础用法:
python csv-to-files.py
- 批量导入示例:
title,cover,game,cate,content
街霸,/images/sf.jpg,https://game.com/sf,games/fighting,经典格斗游戏
俄罗斯方块,/images/tetris.jpg,https://game.com/tetris,games/puzzle,考验技巧的益智游戏
- 生成的文件结构:
pages/
└── games/
├── fighting/
│ └── street-fighter.mdx
└── puzzle/
└── tetris.mdx
扩展建议
-
自动化工作流:
- 可以配合 GitHub Actions 使用
- 定期从数据源更新游戏
- 自动提交变更
-
数据验证:
- 添加数据验证逻辑
- 检查必填字段
- 验证 URL 格式
- 检查图片链接有效性
-
内容增强:
- 添加更多元数据字段
- 支持标签系统
- 添加游戏评分
- 支持多语言内容