KAOS/TASKS/reports/T12-report.md
djuka 563abd8481 T12: Dodat docs viewer sa goldmark markdown renderovanjem
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:42:11 +00:00

69 lines
2.0 KiB
Markdown

# T12 Izveštaj: Dashboard — prikaz dokumentacije i CLAUDE.md
**Agent:** coder
**Model:** Opus
**Datum:** 2026-02-20
---
## Šta je urađeno
Dodat docs viewer na dashboard sa goldmark markdown renderovanjem.
### Novi fajlovi
| Fajl | Opis |
|------|------|
| `internal/server/docs.go` | Docs handleri, goldmark renderovanje, path traversal zaštita, link rewriting |
| `web/templates/docs-list.html` | Template za listu .md fajlova |
| `web/templates/docs-view.html` | Template za prikaz renderovanog markdowna sa breadcrumbs |
### Izmenjeni fajlovi
| Fajl | Izmena |
|------|--------|
| `internal/server/server.go` | GET /docs i GET /docs/*path rute |
| `internal/server/render.go` | renderDocsList(), renderDocsView(), novi templates u init() |
| `internal/server/server_test.go` | 9 novih testova, .md fajlovi u test setup |
| `web/static/style.css` | Nav, docs-container, docs-list, docs-content, breadcrumbs stilovi |
| `web/templates/layout.html` | Nav bar sa Kanban/Dokumenti linkovima |
| `go.mod` / `go.sum` | goldmark v1.7.16 |
### Endpointi
| Ruta | Opis |
|------|------|
| `GET /docs` | Lista svih .md fajlova u projektu |
| `GET /docs/{path}` | Renderovan markdown fajl sa breadcrumbs |
### Bezbednost
- Samo .md fajlovi (ostalo → 403)
- Path traversal zaštita (`../../etc/passwd` → 403)
- filepath.Clean + HasPrefix provera
### Markdown features
- goldmark sa Table i Strikethrough ekstenzijama
- Relativni .md linkovi se rewrite-uju u `/docs/` linkove
- Code blokovi, tabele, liste, blockquote — sve renderovano
### Novi testovi
```
TestDocsList PASS
TestDocsView_CLAUDE PASS
TestDocsView_NestedFile PASS
TestDocsView_PathTraversal PASS
TestDocsView_NonMarkdown PASS
TestDocsView_NotFound PASS
TestDocsView_HasBreadcrumbs PASS
TestRewriteLinksSimple PASS
TestRewriteLinksSimple_NestedDir PASS
```
### Ukupno projekat: 101 test, svi prolaze
- `go vet ./...` — čist
- `go build ./...` — prolazi