If all users input in the same format, then it should be the storage format too. Rendering to HTML can be done when it’s actually needed. (Plus or minus caching/prerendering for performance.)
If users can choose to input in different formats, and we can’t convert between these formats (e.g. from HTML to markdown), then I think it would be easiest to just store whatever the user originally input. The main reason for original-format storage is editing, and users normally edit only their own content, so they shouldn’t mind the format it’s in.
If I write in markdown, but my editor has to send HTML to the server, then it has to implement an HTML-to-markdown conversion for editing, which raises all kinds of issues (like supporting the HTML output of an old version of the editor, never mind of different editors) and trying to solve them just doesn’t seem worth the bother. What does adopting HTML as a storage format get you?
If all users input in the same format, then it should be the storage format too. Rendering to HTML can be done when it’s actually needed. (Plus or minus caching/prerendering for performance.)
If users can choose to input in different formats, and we can’t convert between these formats (e.g. from HTML to markdown), then I think it would be easiest to just store whatever the user originally input. The main reason for original-format storage is editing, and users normally edit only their own content, so they shouldn’t mind the format it’s in.
If I write in markdown, but my editor has to send HTML to the server, then it has to implement an HTML-to-markdown conversion for editing, which raises all kinds of issues (like supporting the HTML output of an old version of the editor, never mind of different editors) and trying to solve them just doesn’t seem worth the bother. What does adopting HTML as a storage format get you?