feat: project overview + timeline + docs center

- services/task_project_linker.py: task<->project mapping (title keywords + workspace_path)
- routes/pages.py: /timeline, /docs, /docs/<path>, enhanced /projects/<name> and /tasks/<id>
- templates: timeline.html, docs.html, doc_view.html (new), project_detail.html + task_detail.html (overhauled)
- config.py: DOCS_DIRS + ProjectConfig color
- base.html: Timeline + Docs nav links
This commit is contained in:
hermes-dashboard
2026-08-17 20:00:37 +08:00
parent 1e5e30ffcb
commit c0cbd683f4
11 changed files with 813 additions and 16 deletions

View File

@@ -43,15 +43,22 @@ class ProjectConfig(TypedDict):
name: str
path: str
gitea_repo: str
color: str
# Managed projects to monitor
MANAGED_PROJECTS: list[ProjectConfig] = [
{"name": "blog-app", "path": "/home/yi/opencode-blog-showcase/blog-app", "gitea_repo": "blog-app"},
{"name": "novel-app", "path": "/home/yi/novel-workspace/novel-app", "gitea_repo": "novel-app"},
{"name": "hermes-dashboard", "path": "/home/yi/hermes-dashboard", "gitea_repo": "hermes-dashboard"},
{"name": "omo-openagent", "path": "/home/yi/.cache/opencode/packages/oh-my-openagent@latest", "gitea_repo": "omo-openagent-config"},
{"name": "omo-config", "path": "/home/yi/.config/opencode", "gitea_repo": "omo-config"},
{"name": "blog-app", "path": "/home/yi/opencode-blog-showcase/blog-app", "gitea_repo": "blog-app", "color": "#4a9eff"},
{"name": "novel-app", "path": "/home/yi/novel-workspace/novel-app", "gitea_repo": "novel-app", "color": "#9e4aff"},
{"name": "hermes-dashboard", "path": "/home/yi/hermes-dashboard", "gitea_repo": "hermes-dashboard", "color": "#ff9e4a"},
{"name": "omo-openagent", "path": "/home/yi/.cache/opencode/packages/oh-my-openagent@latest", "gitea_repo": "omo-openagent-config", "color": "#4aff9e"},
{"name": "omo-config", "path": "/home/yi/.config/opencode", "gitea_repo": "omo-config", "color": "#ff4a9e"},
]
# Docs directories scanned by /docs (browser-readable documentation center)
DOCS_DIRS: list[str] = [
"/home/yi/novel-workspace/docs",
"/home/yi/opencode-blog-showcase/docs",
]