No description
Find a file
Salihu c08d1d3539
feat: multi tab node (#2381)
* init multi-tab-node

* dragging logic

* tabs menu

* tabs menu

* markdown import

* markdown export

* improve markdown import and export

* fix exponential backtracking in regex

* fix exponential backtracking in regex

* WIP

* fix: add docx schema

* feat(editor): rework tabs block state, controls and editing

- Keep the active tab in per-viewer plugin state, not in the document
- Update hidden-tab decorations incrementally; diff whole-doc remote updates
- Replace the tabs bubble menu with an in-block toolbar and per-tab actions menu
- Add rename, duplicate, move left/right and delete tab actions
- Rename a tab by double-clicking it; add tabs from a strip button
- Hide inactive tabs with hidden="until-found" and open them on beforematch
- Open the containing tab for search, TOCs, comment links and hash scrolls
- Disallow tabs inside tabs: hide slash item, flatten pastes, refuse drops
- Stop content copied or dragged out of a tab from creating a new tabs block
- Keep the selection anchor and land at the panel end when arrowing into tabs
- Let Enter add a line at the end of a tab instead of leaving the block
- Fix drag handle moves of custom nodes inside tab panels
- Keep editor focus on toolbar clicks so copy and delete work
- Export tabs to Markdown as level 4 headings; drop the tabs Markdown syntax
- Share node copy-to-clipboard between the columns and tabs toolbars
- Raise inactive tab label contrast

* fix(editor): show a compact drag preview for the tabs block

- Add a hidden data-drag-preview chip with the tab labels to the tabs view
- The global drag handle uses it instead of snapshotting the block and its neighbours
- Style the chip outside the editor scope since the handle clones it into the body

* fix(editor): hide the drop cursor while reordering tabs in the tab strip

* fix: better tabs selection, rendering and ids
- Keep selections out of hidden tabs and map chained tab updates
- Drive the tab strip from decorations instead of per-keystroke lookups
- Repair empty and repeated tab ids

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2026-10-10 23:50:44 +01:00
.github/workflows update release workflow 2026-03-03 20:25:39 +00:00
apps feat: multi tab node (#2381) 2026-10-10 23:50:44 +01:00
packages feat: multi tab node (#2381) 2026-10-10 23:50:44 +01:00
patches feat(tree): replace sidebar tree (react-aborist) with custom tree implementation (#2199) 2026-05-13 23:01:04 +01:00
.dockerignore chore: update dot ignore files 2026-06-21 02:06:39 +01:00
.env.example fix: remove duplicate storage key 2026-05-22 14:54:52 +01:00
.gitignore chore: update dot ignore files 2026-06-21 02:06:39 +01:00
.gitmodules feat: cloud and ee (#805) 2025-03-06 13:38:37 +00:00
crowdin.yml fix: add i18next_json type to crowdin 2026-05-20 17:34:34 +01:00
docker-compose.yml cleanup redundant param 2026-02-06 10:28:52 -08:00
Dockerfile chore(deps): package updates (#2528) 2026-09-29 19:44:57 +01:00
LICENSE LICENSE 2023-11-15 23:11:15 +00:00
nx.json fix(deps): package updates (#2041) 2026-03-25 10:07:01 +00:00
package.json chore(deps): package updates (#2528) 2026-09-29 19:44:57 +01:00
pnpm-lock.yaml chore(deps): package updates (#2528) 2026-09-29 19:44:57 +01:00
pnpm-workspace.yaml chore(deps): package updates (#2528) 2026-09-29 19:44:57 +01:00
README.md Update README.md 2025-04-21 21:50:21 +01:00

Docmost

Open-source collaborative wiki and documentation software.
Website | Documentation | Twitter / X


Getting started

To get started with Docmost, please refer to our documentation or try our cloud version .

Features

  • Real-time collaboration
  • Diagrams (Draw.io, Excalidraw and Mermaid)
  • Spaces
  • Permissions management
  • Groups
  • Comments
  • Page history
  • Search
  • File attachments
  • Embeds (Airtable, Loom, Miro and more)
  • Translations (10+ languages)

Screenshots

home editor

License

Docmost core is licensed under the open-source AGPL 3.0 license.
Enterprise features are available under an enterprise license (Enterprise Edition).

All files in the following directories are licensed under the Docmost Enterprise license defined in packages/ee/License.

  • apps/server/src/ee
  • apps/client/src/ee
  • packages/ee

Contributing

See the development documentation

Thanks

Special thanks to;

Crowdin

Crowdin for providing access to their localization platform.

Algolia-mark-square-white

Algolia for providing full-text search to the docs.