249 karma · joined January 19, 2019
We have support for team-spaces, permissions, diagrams, real-time collaboration, comments, page verification workflows, AI, SSO/LDAP, search, audit logs, API, public sharing, and a lot more.
Btw, we have plans to introduce a database-like feature.
It’s open-source, easy to self-host and feature-packed.
GitHub: https://github.com/docmost/docmost.
We have support for spaces, real-time collaboration, built-in diagrams (drawio, mermaid, excalidraw), comments, groups/permissions and more.
url: https://docmost.com
It has support for spaces, real-time collaboration, a rich-text editor, built-in diagrams support and more.
We launched on HN 1 year ago: https://news.ycombinator.com/item?id=40832146
Would that fit the ideas you have in mind?
It has a nice UI, real-time collaboration, diagrams support and more.
You can self-host it too.
We have integrated support for Excalidraw, Draw.io and Mermaid diagrams; Plus real-time collaboration.
Thanks for reporting the mobile table issue. I will have a look at it.
The fullwidth issue on mobile was recently reported. It will be fixed soon.
I appreciate your feedback.
It has real-time collaboration and support for diagrams (drawio, excalidraw and mermaid).
It can be tempting to want to do it all, but I am focused on building a great wiki and documentation software.
On the installation page, there is a link to the official Docker guide which comes first. That should help other users with an OS-specific installation guide.
Docmost does not depend on any Pro Tiptap extensions.
The team at Tiptap are doing something really amazing. I believe it is fair that they find avenues to make revenue from it.
I like Lexical, but I found Tiptap first and loved it.
I do not intend to change the Postgres database or introduce a new one. I’m sure this won’t be an issue for the majority use-case.
However, I am open to learning more about alternate ways to efficiently handle Yjs state updates, which may be useful for a cloud version that would run at scale. If I were to go that way, it would not affect self-hosted users and would probably be via a reference pointer and not a database switch.
This is absolutely not an issue at the moment. Nothing to worry about.
Indeed, the Yjs state update can be problematic due to its growing size and constant updates.
I will have a look at MyRocks. Reference pointers sound more plausible.
I spent time analyzing and deciding my usage of uuid7 from different perspectives. From the git logs, you can see it came at the last minute.
Storing the raw data in the editor will bloat the Prosemirror JSON and Yjs state (real-time collaboration) which I want to avoid.
2. With a small change, I can make the frontend use the window.location URL if none is set. On the backend, the catch is emails. Emails with link use the APP_URL to build it.
3. I do not really think "backup" belongs to the UI, but there is a possibility. I plan to work on HTML and Markdown exports. We have what it takes already from the editor.
3. Latex and Comments do not use the Tiptap Pro extensions, so it's fine. Also, the comment extension is entirely different from Tiptap's own which depends on Tiptap Cloud to work.
When I start working on the import feature, this will be possible.
For example, the sidebar page tree supports keyboard navigation.
The UI library I am using, Mantine, follows accessibility best practices and has full keyboard support.
There is still a lot to do in this regard. As the project progresses, more support will come.
In the past, I built a Twitter bot (@threadvoice) to help people listen to Twitter threads in audio format ( https://twitter.com/Philipofficial9/status/11899711858004869... ). I had accessibility as one of my motivations while building it.
Docker is not a hard dependency but it was the easiest way to document it and hope it works for everyone, given the Postgres and Redis requirements.
With time, I will create documentation for other platforms.
Thank you.
2. Your understanding of the hierarchy is correct. Workspace -> Space -> Page. I admit, the naming is similar and can be confusing. I just couldn't come up with a conclusive alternative while self-debating it. Do you have better suggestions?
3. I will look into the title issue. Thanks for pointing out.
4. I will put the APP_URL thing in mind too.
5. The pages are stored in the pages table. The content is stored in 3 formats, i. Prosemirror Json (default editor state). ii. Yjs state (real-time collaboration). iii. raw Text (for search indexing). The affected tables are json_content, ydoc and text_content
5. I will look into the redirect issue, and "Copy link" bug.
I appreciate your feedback and thank you for trying it out.
2. Collaborative editing makes updating content outside the editor tricky. It will work, but not very well. I will consider supporting content updates via the API in a future release.
2. Mermaid support is coming.