一个简洁优雅的个人博客网站,支持Markdown文章渲染和RSS订阅。
.
├── README.md # 项目说明文档
├── index.html # 网站首页
├── 404.html # 404错误页面
├── rss.xml # RSS订阅源
├── edgeone.json # EdgeOne配置文件
├── favicon.ico # 网站图标
├── requirements.txt # Python依赖配置
├── .gitignore # Git忽略文件配置
├── config/ # 配置文件目录
│ ├── blog-index.yaml # 博客文章索引配置
│ ├── tools-index.yaml # 工具页面索引配置
│ ├── resources-index.yaml # 资源页面索引配置
│ └── favorites.yaml # 收藏页面配置
├── scripts/ # 脚本文件目录
│ ├── generate_rss.py # RSS生成脚本
│ └── generate_md_pages.py # Markdown页面生成脚本
├── pages/ # 存放页面
│ ├── tools.html # 工具页面
│ ├── resources.html # 资源页面
│ ├── favorites.html # 收藏页面
│ └── tags.html # 标签页面
├── resources/ # 资源相关文件
│ └── *.html # 资源页面
├── blog/ # 博客相关文件
│ └── posts/ # 博客文章目录
│ ├── markdown-template.html # Markdown渲染模板
│ ├── *.md # Markdown文章
│ └── *.html # HTML文章
└── assets/ # 静态资源文件
├── css/ # 样式文件
│ └── style.css # 主样式文件
├── js/ # JavaScript文件
│ ├── main.js # 主脚本文件
│ ├── tags.js # 标签页面脚本
│ ├── favorites.js # 收藏页面脚本
│ └── components.js # 组件加载脚本
└── components/ # 可复用组件
├── navbar.html # 导航栏组件
└── footer.html # 页脚组件
RSS订阅源生成脚本,用于自动生成网站的RSS订阅源。
使用方法:
python3 scripts/generate_rss.py
功能:
- 读取
config/blog-index.yaml
中的文章信息 - 按日期降序排序文章
- 生成符合RSS 2.0规范的XML文件
- 自动更新
rss.xml
文件
Markdown页面生成脚本,用于将Markdown文章转换为HTML页面。
使用方法:
python3 scripts/generate_md_pages.py
功能:
- 扫描
blog/posts
目录下的所有.md
文件 - 为每个Markdown文件生成对应的HTML页面
- 使用
markdown-template.html
作为模板 - 保持与网站整体风格一致的样式
- 在
blog/posts
目录下创建Markdown文件 - 在
config/blog-index.yaml
中添加文章信息:articles: - title: "文章标题" date: "YYYY-MM-DD" description: "文章描述" tags: ["标签1", "标签2"] type: "md" path: "/blog/posts/your-article.md"
- 运行
scripts/generate_md_pages.py
生成HTML页面 - 运行
scripts/generate_rss.py
更新RSS订阅源
- 在
pages
目录下创建工具页面 - 在
config/tools-index.yaml
中添加工具信息:tools: - title: "工具名称" description: "工具描述" path: "/pages/tool-name.html"
- 在
resources
目录下创建资源页面 - 在
config/resources-index.yaml
中添加资源信息:resources: - title: "资源名称" description: "资源描述" path: "/resources/resource-name.html"
- 在
config/favorites.yaml
中添加收藏信息:favorites: 分类名称: - title: "收藏标题" description: "收藏描述" url: "https://example.com" type: "link" # 类型可以是 link 或 app
- 使用纯静态HTML/CSS/JavaScript构建
- 支持Markdown文章渲染
- 响应式设计,适配移动设备
- 支持RSS订阅
- 使用YAML管理文章、工具、资源和收藏索引
- 组件化设计,易于维护和扩展
- 使用Python脚本自动化内容生成
- 配置文件统一管理在
config
目录 - 脚本文件统一管理在
scripts
目录