Hacker News new | past | comments | ask | show | jobs | submit login
Notion.clone: open-source notes editor like in Notion (github.com/konstantinmuenster)
249 points by thesephist on Nov 11, 2020 | hide | past | favorite | 50 comments



Using Notion's name seems like poor form. Describe your product as a clone if you'd like but use a distinct name.


Describing this as a clone is ok, if it is educative project, like all those “twitter clone” every framework has in getting started.

If this intends to become a real project, not only notion.clone is a bad name, it is also clear trademark violation and will be shut down very quickly.


Maybe if it was anywhere close to feature parity, but this is more like a 'markdown WYSIWYG editor in the style of Notion' than a full clone.

i.e. Nobody's (very few people are) going to be looking for Notion and then be happy finding this instead, it seems to me more like I might use it as well, liking Notion's editor, but not wanting all of my/plain notes in Notion itself.

Edit: I should probably add that I think people vary quite heavily in how they use Notion - I've previously been berated on HN for comparing it to Airtable, since to me the defining feature and main use is the tables/cards/database/multi-views on to the same data, but others it seems just use it for 'pages' and I suppose perhaps page hierarchy as part of that.


The other issue that you run into is that there are going to be a multitude of projects that are going to attempt this exact thing, which makes it a little tacky to just be the single person who's also running it as a live domain.

Just lifting the name of a product you're cloning to register a .clone TLD is simple, but it also inherently means that no one else can, and that's sort of problematic in the face of shipping something you're explicitly describing as a copy.


...or at least it would be if that were what had happened. I'm outside the edit window and would have noted it in the parent post otherwise, but may have misread this based on the title and not the repo -.-


This would have been decently interesting as a "block based WYSIWYG text editor". Because that’s all it is. It barely has a fraction of what makes notion so powerful. So going in expecting something like notion makes it instantly disappointing.


I would agree if this was a real product trying to compete...

But this is clearly someone stretching their legs on a tech stack with an homage to Notion.so, not a competitor

I mean they literally recommend the original in the first pargraph:

> This clone tries to replicate some of the great note-taking features Notion has. If you don't know Notion.so yet, I highly recommend to check it out!

The demo is just that, a demo. There's a very clear precedent for this sort of naming for tech demos that reimplement a product in a new tech stack


And more importantly, the actual company Notion could lose their trademark if they don't try to prevent this. Something few developers understand.

Spam was a trademark, it came into common use - it was no longer a trademark.


Oh so the hundreds of Twitter clones shouldn't call themselves that? This doesn't look like a finished product meant for the public so it's fine I think.


> Oh so the hundreds of Twitter clones shouldn't call themselves that?

Not really, no.

> This doesn't look like a finished product meant for the public so it's fine I think.

Not how trademarks work, AFAIK, although IANAL.


A library that does half of the stuff that notion does and manages to create some sort of consistent markdown output would be amazing. Notion's UI is one of the few editors I enjoy more than simply writing markdown on vscode.

This is amazing work and I think the main thing I see missing is navigation.

Thank you for working on this.


I couldn’t agree more with this. It would be nice to have an open source text editor with markdown shortcuts and auto-formatting. Bear.app, Typora and outline’s rich text formatter are close but the first two are closed and the latter I find clunky and hard to build on top of. I am excited to see this clone and where it goes


There's also WereTurtle's Ghostwriter [0].

[0] https://github.com/wereturtle/ghostwriter


> the latter I find clunky and hard to build on top of

If you learn ProseMirror [1], then building on top of outline's rich-markdown-editor or tiptap (which is also ProseMirror based) should be easier. What issues are you currently running into with extending that editor?

[1] https://prosemirror.net/


I should learn prosemirror. just figured it would be a nice to have a simple text editor with markdown shortcuts. So perhaps let me rephrase by saying: i find outline clunky and don’t want to spend the time learning proesmirror to get rid of some of the clunkiness.

Also, any major distinctions between prosemirror, slate.js, and draft.js?


ProseMirror is more of a framework for building text editor libraries; Slate and Draft are drop-in, easier-to-integrate text editors.

In addition, ProseMirror is built with JavaScript, and would require writing custom code to adapt to Vue or React. Slate and Draft are both built with React, which has it pros and cons. For example, using React means on each key press it’s going to run it’s whole virtual dom diff algorithm resulting in a higher input latency [1]. ProseMirror is more performant in this case by not using React and managing its own editor state. But Slate and Draft, by using React, gets easy server side rendering.

If I were to build a clone of Typora or Bear, I’d use Slate because 1. those editors are close to what Discord has as its chat editor and Discord uses Slate 2. Slate has better markdown support out of the box.

However if I were to build a Notion clone more focused on WYSIWYG, then I’d go with ProseMirror.

I wouldn’t go with Draft in any scenario since the community seems smaller and the library is less maintained, although twitter uses it.

[1] https://juretriglav.si/what-happens-when-you-type-a-single-l...


You might be interested in this: https://github.com/outline/rich-markdown-editor


Does something like Obsidian meet your needs?


One of the really great parts of Notion is that you can view your data in multiple ways (table, schedule, timeline view, etc.); does Obsidian have this functionality now? I haven't checked.

I'd love to use Obsidian to store notes, mostly for the note graph, but it's missing aliases[0].

[0]: https://forum.obsidian.md/t/aliases-for-note-names/783


In the forum post you mentioned, it is said that aliases are on the short-term roadmap, so I wouldn't be surprised if it is released in a couple weeks (the developers are fast!).

Tables can be done with Markdown anyway (with a plugin to make it easier), there is a Calendar plugin, IIRC timelines are in development, though you can already do Gantt charts with Mermaid.

It depends what exactly you want, but right now it's mainly static Markdown with features like templates, bidirectional linking, etc. but community-developed plugins and new features will likely quickly enable the features you need. I have been using Obsidian for a few weeks and it's been quite nice :)


Notion tables are WAY more powerful than markdown tables...

You can configure views, filtering, sorting, summary’s, and foreign keys with roll ups....

That’s not something trivial to build, however I’d be pleasantly surprised if obsidian eventually got there.


I wouldn't be surprised if a community plugin is developed for this sort of thing. It seems like the plugins are getting more and more interactive.


Thanks a lot :)


For people who are interested in another open-source alternative to Notion; Trilium[0] seems very strong in its features and its customizability. It supports markdown formatting which is a common request in this thread.

[0] https://github.com/zadam/trilium



Thanks for sharing my project! :)

To be clear, it is indeed a demo project only. I just like Notion, so I thought it would be fun to recreate some of its functionality.

If anyone wants to dive deeper into how the clone works, I wrote a Medium article about that: https://medium.com/swlh/how-to-build-a-text-editor-like-noti...


Is there something sketchy about Notion? I'm unable to access it from our companies network, it's been blocked as malicious. Could it just be the .so?


The .so is a frequent issues due to corporate firewalls because it’s Somalia’s TLD. There’s also been a few incidents where spam/phishing is hosted on Notion before we detect it, and the abuse causes our domain name to lose reputation with firewall block lists.


I want Notion + Custom JS components, written inline. You could build a database with a Notion table, write some code that edits it in a little inline code snippet, similar to Observable.io, then publish it on the web as an instant low-code app. Very useful.


I'm working on something like this, would be nice to connect - find me on Twitter :)


What's observable.io? The domain doesn't seem to work.


I believe they mean: https://observablehq.com


this sounds interesting - would you be able to add few more examples of where this could come in useful?


Yeah, some examples:

1. Visualize a list of addresses on a google map, by grabbing the Google Maps JS SDK and mapping over the data in a table

2. Build an customer support email portal. In eCommerce, customers sometimes miss emails or they get blocked by spam, so you could create a little table of email types, then hook it up to the API calls needed to trigger the emails to customers. Then you can give this little UI to your customer support reps so they can enter an email (maybe build a little component to search your main database by user name), then just build a little component to trigger the email

3. One feature that unlocks a whole world, allow these custom components to be re-used in the notion slash menu, so you could create custom types like an internal widget that would be only useful in your organization, then your whole team could use it. Once you allow Notion pages to be embedded inside these custom components (like building a custom tabs component, each tab with a separate notion page), you just have an amazing internal tools development toolkit


Hopefully this works decently in Firefox.

Unlike Notion, which still gets confused by a mouse middle click, and instead of opening a new tab inserts your clipboard contents wherever it feels you clicked on the page. Likely in the middle of the URL you clicked on.

But it only happens about 1/2 the time. The other half of the time it works properly, opening a new tab.

This is pretty much a complete blocker for using Notion, as randomly adding your clipboard contents (can be passwords, sensitive conversation pieces, etc) is a security nightmare. :(


Notion does all kinds of awful stuff. It’s horribly inefficient, reimplementing uncommonly large part of the functionality of the browser, in custom, very buggy ways. A large part of its problems stem from an absurd abuse of contenteditable when viewing pages: it makes everything contenteditable, and then tries to undo what that means with JavaScript (and makes a hash of it, of course). Related, its keyboard accessibility is terrible (try navigating around!).


Is this just your OS's / the X windowing system's middle click paste functionality, or is this something that Notion itself does? I've never run into this before.


Yep, it likely is.

However Notion is the only web application this happens for. And it happens and every time I have to use Notion, across various different OS/hardware platforms and across Firefox versions.


Can this import exports from Notion?


No, I did not intended to urge any Notion users to my app :P


It's a great concept but still prefer Notion.

What's your plan to make this open-source stand out?


I haven't really thought about adding new features by now. I did it to learn some more advanced techniques in the first place. But maybe I will work on it in the future to improve it further. Though, the focus will remain on adding notes / organizing different pages of notes.


You can’t self-host Notion.


Is there any risk here of violating copyright or patent protection held by Notion.so?


Copyright protection is unlikely, unless they're literally copying Notion's code somehow.

Patent protection would traditionally be "unlikely", however with US having been accepting (totally worthless) software patents for a few years now it might feasible. But that would probably rely on Notion having gone through the process of patenting things...


congrats! i see you are storing images on the server itself. where are you hosting your backend? did you consider splitting out image hosting to s3? why or why not?


This would be really cool if it integrates with nextcloud.


Does it work offline?


No, not yet - but that what be interesting to add!


"Hey You just created a public page." -- No I did not agree to create public pages by clicking on a link.




Consider applying for YC's first-ever Fall batch! Applications are open till Aug 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: