Allow CSS skinning of paragraphs in preview mode

Use case or problem

Readability would benefit greatly from being able to skin paragraphs independently, such as being able to use text-indent, on the first line. This is documented here: Indent the first line in each paragraph in preview mode but cannot be solved at the moment, why is why I’m making it a feature request.

Currently Obsidian only renders paragraphs with p tags when there is a strict markdown line break (two spaces or a blank line). In edit mode, you can skin distinct paragraphs with no strict Markdown line breaks, allowing for greater versatility in writing, and using blank lines for other purposes such as bigger semantic breaks. However this does not translate to preview. Even if you don’t use strict line breaks, paragraphs are rendered as one single p block interspersed with <br> breaks, instead of being different semantic paragraphs.

Here I’m using text-indent in source mode, it works fine

This however does not translate to preview, despite having a carriage return denoting, supposedly, a new paragraph

Proposed solution

Would it be possible to make it so that paragraphs that are only separated by one carriage return (not using strict Markdown line breaks) are identified by their own distinct p tags?

Thank you.


As someone who hopes to one day have functionality for wysiwyg and export-for-authors oh God yes please.


The devs gave me a temporary solution: Meta Post - Common CSS Hacks - #354 by KillerWhale

It’s not complete theming but it makes things definitely easier!