I'm working on a project where I could use some input.<p>I'm building a tool where a text editor and group chat plays the leading characters. I use Markdown in both instead of WYSIWYG.<p>My requirements for choice of markup language was:<p>- easy to read and write<p>- converts easily to clean HTML, ePub, PDF and other formats<p>- content blocks can be tagged with one or more tags<p>- content blocks can be targeted to one or more user/role<p>- allow simple data (key value pairs, lists)<p>TAGGING<p>With the risk of provoking a heart-attack on Markdown purists I present my first implementation of syntax for tagging:<p><i>#tag Header</i><p>Readability is an issue with more than one tag but I can live with only one tag per level of heading.<p>TAGGING EXAMPLE<p>The would allow us to write:<p><i>#chapter At the riviera</i><p><i>...</i><p><i>##scene On the beach</i><p><i>...</i><p><i>##scene The Ice Cream parlour</i><p><i>...</i><p>Which would help to render text differently depending on tagging - use tags as classes when parsed to HTML.<p>TARGETING<p>I use a simple and well known syntax at the start of a line:<p><i>@username ...</i><p><i>...</i><p><i>...</i><p>Is not very loud but allows a parser to understand that content on a certain level and below is targeted to a restricted audience.<p>An alternative way I've been pondering is expanding the {} syntax used for IDs in Kramdown and PHP Markdown Extra.<p><i>{@role,@role2}</i><p><i>{.tag,.tag2} or just {tag,tag2}</i><p>Targeting content will allow soft access control as well as being able to write Markdown in group chat and route parts of the text to different users/sub-groups<p>DATA IN MARKDOWN<p>I'm hoping to solve data with the<p><i>: data</i><p>Or maybe do some mixin with YAML?