Hugo LeetCode Dashboard 开源项目安装与使用指南
1. 项目目录结构及介绍
Hugo LeetCode Dashboard 的项目结构设计是为了便于管理和自定义。以下是主要的目录和文件说明:
.
├── leetcode.md # 中文看板入口文件
├── leetcode_en.md # 英文看板入口文件
├── problemset # 题目集目录,存放所有题目的相关信息和解答
│ ├── [题号] # 每个问题都有其独立的子目录
│ │ ├── [题号].[语言].md # 解决方案的Markdown文件
│ │ ├── [题号].[语言] # 解决方案的源代码文件
│ │ ├── readme.md # 中文题目描述
│ │ └── readme_en.md # 英文题目描述
├── layouts # Hugo的主题布局目录,包括自定义的HTML短代码
│ └── shortcodes # 存放rawhtml.html以支持HTML片段
│ └── rawhtml.html
├── helper.py # 辅助脚本,用于处理数据同步等后台任务
├── run.py # 主运行脚本,用于自动化更新和部署过程
├── update_leetcode_dashboard.sh # 自动化更新脚本
├── config.json # 配置文件,存储用户LeetCode账号信息和输出目录设置
├── README.md # 项目的主要文档,详细介绍项目和使用步骤
├── LICENSE # 开源许可证文件
├── gitattributes # Git属性配置文件
├── gitignore # Git忽略文件列表
└── imgs # 图片资源目录,如Logo等
2. 项目的启动文件介绍
run.py
这个脚本是项目的核心运行组件,执行它能够触发一系列动作,主要包括同步用户的LeetCode数据和生成相应的Markdown文件。用户只需简单执行该脚本,就可以更新他们的LeetCode进展并准备将其部署到Hugo站点上。对于经常更新和同步LeetCode状态的用户来说,这是一个十分便捷的工具。
update_leetcode_dashboard.sh
作为一个辅助的shell脚本,它简化了执行run.py
及其相关步骤的过程,特别是当涉及到特定操作序列时,比如更新LeetCode数据然后复制必要的图片至静态资源目录,从而使得整个过程更加自动化。
3. 项目的配置文件介绍
config.json
config.json
文件是存放项目关键配置信息的地方,包括但不限于用户的LeetCode账号凭据(用户名和密码,虽然实际使用中应考虑安全性)、以及输出目录的指定。这是一份JSON格式的文件,下面是其基本结构示例:
{
"username": "your_username",
"password": "your_password",
"outputDir": "/path/to/your/hugo/site/content"
}
- username: 用户的LeetCode账号用户名。
- password: 用户的LeetCode账号密码。
- outputDir: 生成的看板Markdown文件保存的目标目录,通常位于你的Hugo站点的内容目录下,确保Hugo能正确识别并编译这些文件。
注意:在生产环境中,直接明文存储账号密码并不安全,实际操作中应考虑使用环境变量或其他加密方式存储敏感信息。
通过上述步骤和理解,你可以顺利地配置并使用Hugo LeetCode Dashboard来追踪和优化你的LeetCode学习之旅。