学习系统网络应用
一个全面的学习管理系统,能够自动检测并加载Markdown格式的课程内容 ./lessons/ 目录,提取行动项,并提供带有里程碑标记的进度跟踪。
特点/特性
🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接保留为“🚀”(因为表情符号本身具有直观的图像意义)。所以,这句话可以翻译为:“🚀(火箭)”或者直接使用原表情符号。 自动课程检测
- 扫描
./lessons/Markdown 文件的目录 - 自动加载并解析课程内容
- 从“下一步我应该尝试什么”部分中提取行动项
📊 表格/数据图表 进度跟踪
- 跟踪单个行动项目的完成情况
- 视觉进度条和百分比
- 里程碑系统,配成就徽章
- 持续进度存储(JSON文件)
📱 现代网页界面
- 仪表盘所有课程概览及进度
- 教训;课程;经验浏览并阅读完整的课程内容
- 行动项目/待办事项按课程、状态或类别筛选和管理任务
- 适用于所有设备的响应式设计
🎯(目标/靶心) 智能行动项提取
该系统通过以下方式智能地从Markdown文件中提取行动项:
- 找到标题为“我接下来应该尝试什么”的部分
- 解析带有加粗标题的编号列表(
1. **Title** description) - 按类别(### 标题)整理项目
- 包括子项和详细描述
快速入门
先决条件
- Node.js(无需外部依赖)
- Markdown 教学文件在
./lessons/目录
安装与设置
- 克隆或下载学习系统
cd /path/to/learning-system- 启动应用程序
node server.js或者使用启动脚本:
node start.js- 打开你的浏览器
导航至 http://localhost:3000
添加课程
- 在(指定位置)创建Markdown文件
./lessons/目录 - 包含一个“接下来我应该尝试什么”的部分,并列出行动项
- 系统将自动检测并加载它们
示例课程结构
# Lesson Title
## Overview
Brief description of what this lesson covers...
## Key Concepts
Main concepts explained...
## What I Should Try Next
### Immediate Actions
1. **First action** - Description of what to do
2. **Second action** - More details here
### Advanced Topics
1. **Advanced task** - For when you're ready
2. **Expert level** - Challenge yourself
### Best Practices
- Always test your work
- Document your progress
- Share with others文件结构
learning-system/
├── server.js # Main server application
├── start.js # Startup script
├── package.json # Project configuration
├── progress.json # Progress data (auto-generated)
├── lessons/ # Markdown lesson files
│ ├── lesson1.md
│ └── lesson2.md
├── public/ # Frontend assets
│ ├── index.html # Main web interface
│ ├── css/
│ │ └── styles.css # Application styles
│ └── js/
│ └── app.js # Frontend JavaScript
└── README.md # This fileAPI 端点
GET /api/lessons
返回所有课程,并附带提取的操作项和进度数据。
回答:
[
{
"id": "lesson-name",
"title": "Lesson Title",
"overview": "Brief description...",
"content": "Full markdown content...",
"actionItems": [
{
"id": "action-1",
"title": "Action Title",
"description": "Detailed description",
"category": "Category Name",
"completed": false,
"difficulty": "medium"
}
],
"totalItems": 10,
"completedItems": 3,
"progress": 30
}
]POST(邮政服务/发布/帖子/位置) /api/progress
更新特定行动项的进度。
请求体:
{
"lessonId": "lesson-name",
"itemId": "action-1",
"completed": true
}详细功能特点
仪表盘
- 进度概览显示每课完成状态的视觉卡片
- 里程碑成就系统,共6个等级(入门 → 完成!)
- 最近活动记录你的学习旅程(计划中的功能)
课程浏览器
- 浏览所有可用课程
- 点击在模态框中查看完整课程内容
- 一目了然地查看进度和待办事项数量
行动项目管理器
- 按课程、完成状态或类别进行筛选
- 勾选已完成的项目
- 查看难度等级和描述
- 记录每个项目所属的课程
进步与坚持
- 所有进度自动保存至
progress.json - 在服务器重启后仍能存活/继续运行
- 可以备份或传输
定制化
添加新的课程形式
修改 extractActionItems() 函数中的 server.js 以支持不同的Markdown格式。
造型
编辑 public/css/styles.css 自定义外观。CSS 使用 CSS 自定义属性以便轻松实现主题切换。
里程碑
修改里程碑定义中的内容 public/js/app.js 添加自定义成就等级。
浏览器支持
- 现代浏览器(Chrome、Firefox、Safari、Edge)
- 移动响应式设计
- 渐进增强
故障排除
课程加载失败
- 确保Markdown文件已就绪
./lessons/目录 - 检查文件是否已
.md扩展 - 验证“下一步我应该尝试什么”部分是否存在
未提取的行动项
- 确保正确的Markdown格式:
- 使用 ### Category Name 对于类别 - 使用 1. **Title** description 对于编号项 - 包含“接下来我应该尝试什么”部分
进度未保存
- 检查项目目录中的文件权限
- 确保服务器具有写入权限以
progress.json
许可证
MIT 许可证 - 欢迎随意修改和分发。
做出贡献
这是一个自包含的学习系统。请随意进行分支(fork)并根据您的需求进行定制!
______________________________________________________________________
快乐学习! 📚✨(书本✨)
