|
|
|
|
|
by skissane
626 days ago
|
|
I use Notion because I have to, not because I like it. Other teams still use Confluence. People said Notion is a lot better than Confluence. Well, I agree I'd rather use it over Confluence, but that's a very low bar for comparison. For ages they didn't have a find-and-replace feature. I just checked, it looks like they've finally added it in the last few months, but this is the first I notice. They claim you can export stuff as markdown, but if I export as markdown, edit and reimport, I lose half of the formatting – even basic formatting which is part of the markdown spec. Their native format (which their API exposes) is a bunch of extremely complex JSON blobs. I thought about writing a tool to let me download stuff, edit it in a sane text editor, then reupload it, but when I saw the complexity I just gave up. |
|
Our public API format is not the "native" format used by the Notion editor. The overly-nested format we designed the public API is aimed at supporting statically typed programming languages like Java or Golang that do not have (tagged) union types natively. Instead we represent each option in the union type as a nullable field pointing to a nested object. This makes the structure much easier to decode in these kinds of languages, but does make it more verbose.
For a hypothetical typescript union type:
we end up producing a Java-style object like this: You can see the native format by looking at API traffic in your browser devtools. Generally the native format is more confusing without type annotations.