-
released this
2026-03-24 05:17:28 +01:00 | 471 commits to main since this releaseBackend (src/routes/learningAI.js):
- POST /api/admin/learning/ai-generate
- Accepts: topic text, uploaded file (PDF/TXT/MD/HTML), or Nextcloud WebDAV path
- Extracts text from PDFs via pdf-parse; plain text read directly
- Fetches WebDAV files using stored Nextcloud credentials
- Prompts AI to return structured JSON: title, subject, body (HTML), questions[]
- Strips code fences, falls back to regex JSON extraction if needed
- POST /api/admin/learning/ai-refine — refine existing body with instructions
- GET /api/admin/learning/webdav-browse — PROPFIND-based Nextcloud file browser
- POST /api/admin/learning/webdav-path — save user's default browse path
Frontend:
- AI Generate button in CMS editor header (gradient purple→blue)
- Panel with 3 source tabs: By Topic / Upload File / Nextcloud
- Drag-and-drop file dropzone with DataTransfer API support
- WebDAV file browser: navigate folders, select files, breadcrumb path
- Options: question count, content type (article/quiz/pearl), model selector, instructions
- Refine Current Body: prompt-driven AI rewrite of existing content
- Generated content auto-fills title, subject, type, Tiptap body, quiz questions
Settings:
- Nextcloud section: "Learning Hub Default Browse Path" field (shown when connected)
- Saves to webdav_learning_path column via /api/admin/learning/webdav-path
DB: ALTER TABLE users ADD COLUMN IF NOT EXISTS webdav_learning_path TEXT
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- POST /api/admin/learning/ai-generate