I think that would be ideal here would be if obsidian could copy just the semantic markup
IMO, in most cases, when copying text from Obsidian to another app that supports rich text formatting, it is not desired to have any of the internal Obsidian theme formatting included. Users would typically expect that only the text formatting (bold, italics, formatted lists, etc…) is included.
Copying from the reading view currently generates bloated HTML with all of the Obsidian theming included. The HTML generated from copying from the reading view has significant compatibility issues when pasting into many common applications, for example:
- Pasting into Gmail: bullet points for unordered lists don’t come over at all. For some reason, the first character of headings also doesn’t come over.
- Pasting into Outlook (web): Again, bullet points for unordered lists don’t come over at all, and numbered lists get bullet points instead of numbers…
- Pasting into Google docs: Both numbered and unordered list get bullet points
- Pasting into some apps will include your Obsidian theme’s background color which is really annoying (there’s another thread on this: Copying from obsidian reading mode also copies the background color - #8 by thoughtship)
The only apps I’ve tried where formatting actually comes over as expected when copying from Obsidian’s reader view is MS Word and Outlook (win32 versions).
Ideally, obsidian would have something like Typora’s “Copy without theme styling” option which copies only the semantic text markup, e.g:
<p><strong>Test bold text</strong></p>
<ol>
<li><p>Test</p>
</li>
<li><p>List</p>
<ul>
<li>Test unordered list</li>
<li>ABC</li>
</ul>
</li>
</ol>
This would be widely compatible with pasting into other apps that support rich text (e.g. emails), without unwanted elements like internal Obsidian theme styling.
EDIT: Related feature request: Allow pasting to other rich text editors without background styles from reader (whether dark or light mode) - #14 by ironmaus
EDIT: I realized that copy document as HTML can do this, if you enable the setting for “Copy HTML fragment only”, it copies just the semantic formatting without styling.