[PR #2060] [CLOSED] feat: add wiki feature for collaborative project documentation #8025

Closed
opened 2026-04-20 17:59:33 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/go-vikunja/vikunja/pull/2060
Author: @FlorianLebecque
Created: 1/7/2026
Status: Closed

Base: mainHead: main


📝 Commits (3)

  • 5dcb60a Implement wiki WIP
  • 6fb5a33 Merge branch 'go-vikunja:main' into main
  • c453f75 For wiki ;Reformat code, add test, rework UX and UI in frontend, generate the API documentation

📊 Changes

36 files changed (+4466 additions, -14 deletions)

View changed files

📝 .gitignore (+1 -1)
📝 frontend/package.json (+1 -0)
📝 frontend/pnpm-lock.yaml (+889 -0)
📝 frontend/src/components/input/editor/TipTap.vue (+64 -2)
frontend/src/components/input/editor/mermaid/MermaidBlock.vue (+158 -0)
frontend/src/components/input/editor/mermaid/mermaidExtension.ts (+49 -0)
📝 frontend/src/components/misc/Icon.ts (+6 -0)
📝 frontend/src/components/misc/keyboard-shortcuts/shortcuts.ts (+5 -0)
📝 frontend/src/components/project/ProjectWrapper.vue (+3 -1)
📝 frontend/src/components/project/views/ViewEditForm.vue (+3 -0)
frontend/src/components/project/wiki/WikiBreadcrumbs.vue (+109 -0)
frontend/src/components/project/wiki/WikiPageContent.vue (+126 -0)
frontend/src/components/project/wiki/WikiPageItem.vue (+329 -0)
frontend/src/components/project/wiki/WikiSidebar.vue (+121 -0)
frontend/src/components/project/wiki/WikiView.vue (+236 -0)
📝 frontend/src/i18n/lang/en.json (+20 -3)
📝 frontend/src/modelTypes/IProjectView.ts (+1 -0)
frontend/src/modelTypes/IWikiPage.ts (+20 -0)
frontend/src/models/wikiPage.ts (+36 -0)
frontend/src/services/wikiPage.ts (+66 -0)

...and 16 more files

📄 Description

Problem

Projects in Vikunja lack a dedicated space for organizing collaborative documentation. Users need a way to create hierarchical wiki pages within projects for knowledge sharing and team documentation.

Solution

This PR introduces a complete wiki feature with the following capabilities:

Backend Implementation:

  • New WikiPage model supporting hierarchical folder structure with unlimited depth
  • Full CRUD operations with proper permission inheritance from projects
  • RESTful API endpoints for wiki management
  • Database migration with proper indexing
  • Comprehensive test coverage (38 passing tests)

Frontend Implementation:

  • Interactive wiki sidebar with tree view navigation
  • Collapsible folder hierarchy for easy organization
  • Rich text editor using TipTap with syntax highlighting and Mermaid diagram support
  • Breadcrumb navigation for path context
  • Responsive design supporting desktop, tablet, and mobile layouts
  • Sticky sidebar navigation on mobile for accessibility

Key Features:

  • Create pages and folders with unlimited nesting
  • Title and content editing with save functionality
  • Proper access control based on project permissions
  • Internationalized UI with translation strings

Testing

All backend tests passing (38/38):

  • CRUD operations for pages and folders
  • Permission enforcement (read/write/admin)
  • Path validation and cycle detection

Frontend compliance:

  • Zero linting errors
  • Responsive design verified
  • TypeScript types fully defined

Provides collaborative documentation capability as discussed in the roadmap.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/go-vikunja/vikunja/pull/2060 **Author:** [@FlorianLebecque](https://github.com/FlorianLebecque) **Created:** 1/7/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (3) - [`5dcb60a`](https://github.com/go-vikunja/vikunja/commit/5dcb60afe6a5e287d5df88fa455e64d9fb4982da) Implement wiki WIP - [`6fb5a33`](https://github.com/go-vikunja/vikunja/commit/6fb5a33abd0d803624f04cc42fef7c596deae490) Merge branch 'go-vikunja:main' into main - [`c453f75`](https://github.com/go-vikunja/vikunja/commit/c453f75f625e482787d663d28a875d4f400bbc62) For wiki ;Reformat code, add test, rework UX and UI in frontend, generate the API documentation ### 📊 Changes **36 files changed** (+4466 additions, -14 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+1 -1) 📝 `frontend/package.json` (+1 -0) 📝 `frontend/pnpm-lock.yaml` (+889 -0) 📝 `frontend/src/components/input/editor/TipTap.vue` (+64 -2) ➕ `frontend/src/components/input/editor/mermaid/MermaidBlock.vue` (+158 -0) ➕ `frontend/src/components/input/editor/mermaid/mermaidExtension.ts` (+49 -0) 📝 `frontend/src/components/misc/Icon.ts` (+6 -0) 📝 `frontend/src/components/misc/keyboard-shortcuts/shortcuts.ts` (+5 -0) 📝 `frontend/src/components/project/ProjectWrapper.vue` (+3 -1) 📝 `frontend/src/components/project/views/ViewEditForm.vue` (+3 -0) ➕ `frontend/src/components/project/wiki/WikiBreadcrumbs.vue` (+109 -0) ➕ `frontend/src/components/project/wiki/WikiPageContent.vue` (+126 -0) ➕ `frontend/src/components/project/wiki/WikiPageItem.vue` (+329 -0) ➕ `frontend/src/components/project/wiki/WikiSidebar.vue` (+121 -0) ➕ `frontend/src/components/project/wiki/WikiView.vue` (+236 -0) 📝 `frontend/src/i18n/lang/en.json` (+20 -3) 📝 `frontend/src/modelTypes/IProjectView.ts` (+1 -0) ➕ `frontend/src/modelTypes/IWikiPage.ts` (+20 -0) ➕ `frontend/src/models/wikiPage.ts` (+36 -0) ➕ `frontend/src/services/wikiPage.ts` (+66 -0) _...and 16 more files_ </details> ### 📄 Description ## Problem Projects in Vikunja lack a dedicated space for organizing collaborative documentation. Users need a way to create hierarchical wiki pages within projects for knowledge sharing and team documentation. ## Solution This PR introduces a complete wiki feature with the following capabilities: Backend Implementation: - New WikiPage model supporting hierarchical folder structure with unlimited depth - Full CRUD operations with proper permission inheritance from projects - RESTful API endpoints for wiki management - Database migration with proper indexing - Comprehensive test coverage (38 passing tests) Frontend Implementation: - Interactive wiki sidebar with tree view navigation - Collapsible folder hierarchy for easy organization - Rich text editor using TipTap with syntax highlighting and Mermaid diagram support - Breadcrumb navigation for path context - Responsive design supporting desktop, tablet, and mobile layouts - Sticky sidebar navigation on mobile for accessibility Key Features: - Create pages and folders with unlimited nesting - Title and content editing with save functionality - Proper access control based on project permissions - Internationalized UI with translation strings ## Testing All backend tests passing (38/38): - CRUD operations for pages and folders - Permission enforcement (read/write/admin) - Path validation and cycle detection Frontend compliance: - Zero linting errors - Responsive design verified - TypeScript types fully defined ## Related Provides collaborative documentation capability as discussed in the roadmap. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-20 17:59:33 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#8025