I suggest allow writing shortcodes/partials just in Markdown. It will be nicer for those people who don’t want to deal with HTML. For instance Jekyll allows doing this: Liquid templates can be written in Markdown:
| Info |
| :---------------------------------- |
| :bulb: {{ include.content }} |
and used as:
{% include_relative _templates/info.liquid content="Some text passed to the template." %}