Feedback on commonmark and request for some additional capabilities

Hello - this is my first post on this forum. The commonmark website asks for feedback, and I have been advised that this forum is the right place to bring that. I am writing, as a user, because I have noticed some things in an implementation of markdown that could have a bearing on the markdown spec.

I have just seen this notice >> Please note the CommonMark spec is currently frozen with respect to features, but there are supersets of or extensible implementations of CommonMark that may support what you need. <<

Given the notice, I am not sure how to categorise this post, so I am putting the whole thing down here, and asking if a moderator could guide me as to how/where to categorise and/or retitle the post. I am also unsure how much of what I am looking for will be specific to the actual implementation, and how much will be relevant to the spec itself, a superset, or an extension. That having been noted, here goes …

I am not a coder, and yet I am using, with some success, a program called Obsidian - that has been my main introduction to markdown. I have no idea how faithfully Obsidian meets the commonmark spec - this page here Obsidian Flavored Markdown - Obsidian Help notes the Obsidian approach. My view on the biggest weaknesses of that program from a user perspective seems to go back to the markdown spec itself, and for that reason I am writing to you as custodians of the markdown spec, to see if you can see your way to expanding the specification to take these points into account.

  1. The limited granularity of anchor points. I, in common with many others, like to link into Obsidian documents both from other documents in Obsidian and from URLs stored in other programs. Referring to a heading # is OK. Referring to a block of text (see the information in the linked to page above) seems to be non-standard, and a bit of a kludge. Referring to paragraphs, sentences, and individual words or even individual letters, is not possible, drastically cutting the functionality of the program. I would very much appreciate if you can apply your combined brain power to working out how this should be done by means of the markdown standard. This is a very well known issue. Linking to a folder containing documents would also be very useful.
  2. Indenting text in a viewed document. The only way to indent text to form an outline seems to be to use bullet points or numbers underneath headings. Thinking through the structure of a document to add headings before you write it is a high friction way of working, and I would like to see a way of writing text and changing the indent structure in a much more organic way.
  3. The use of color. < mark style=“background: hexcode;”>highlightedtexthere < /mark> (note - remove space following each < for the actual code used)
    is the way used in an Obsidian plugin to add different color highlights to text in an Obsidian document. A lower friction method would be welcomed.
  4. Tables are a major headache - they take ages to write and format.
  5. It seems to me that (in general terms) markdown is intended to be used for very simple things, and html for more complicated things. It would be very nice to see some combined markdown and html editors that can create a single document that can have both. I think that this is already contemplated in the spec, but I have not seen any editors that can do both in the same document. Are you aware of anything out there that does this ?

I am writing because feedback has been requested - I do not know enough about markdown, html, or coding to have a very detailed interaction, but I do know what I want to try to achieve. I have no idea how possible any of this is, and as far as all these things go, I hope you do not mind my ignorance of the detail of all of this, or by my references to Obsidian - and I hope that you are OK to discuss these things here and can give me your thoughts as to the best way to achieve this and in such a way as interoperability can be achieved between different implementations so different programs can be used successfully on the same set of markdown documents.

Many thanks !

  1. There have been proposals to more reliably know the value of automatically generated (heading) IDs and to be able to manually set (anchor) IDs, e.g. ## Example ##{#myidentifier}. In theory, you probably could use XLink for arbitrary link targets, but that would depend on the output format.
  2. Could you please be more specific why you would want to indent blocks of text? Quotations with > line prefixes might be the answer.
  3. There are some extensions that are using double equal signs to generate the <mark> element in HTML, but you would need another extension for adding attributes of you wanted different colors, resulting in something like foo ==example=={.red} bar.
  4. You’ll find several (long) threads about (competing) formats for tables around here. Some are optimized for writing, some for human reading and some for machine parsing. Most of them have been implemented somewhere.
  5. You can mix HTML with MD/CM. There are just some restrictions on the syntax of HTML to follow, which avoid ambiguous situations. Most of them many authors comply to anyway.

Thanks for the comments. I do not have the knowledge to be able to interact regarding differences or preferences in implementation - beyond my pay grade !

My purpose is to flag up some difficulties I am having with markdown, and I guess I am trying to establish whether markdown will evolve to solve these difficulties, or will we see editors that can write and read markdown and html together to/from the same .md document (my question 5), in other words to find out whether there is a way of sidestepping solving these issues within the markdown spec by using a mixture of markdown and html.

So I guess the fundamental questions from my perspective are

  • Are these difficulties recognized within the community here ?
  • If so, is there a will to resolve these difficulties ? (it seems quite possibly, but that no consensus has been reached as yet ?)
  • If there is a will to solve these difficulties, should this be done with an extension, or a superset, or by modifying the core spec itself ?
  • If there is no will to solve the difficulties, is there an effective way to sidestep them by using a mix or markdown and html in the same document and would that be viable from a technical perspective - are there products out there that can edit md documents in a WYSIWYG fashion encompassing both markdown and html and if so which are they ?

#1 more granular anchor points - referring to an anchor point - How to Add an Anchor Link to Jump to a Specific Part of a Page
How to Add an Anchor Link to Jump to a Specific Part of a Page - an anchor point in the way I mean it is the part of a page, be that heading, paragraph, block of text, line of text, sentence, word, or even a single character, from which a hyperlink can be created that jumps to a heading, paragraph, block of text, line of text, sentence, word, or even a single character in the same page or in another page, or sends a uri to another program (mailto: file:/// obsidian:// etc etc) - I hope I am using the correct terminology here

#2 Please see this screenshot
Point 2
My purpose in indenting is to write a document that displays text in a hierarchical outlining format (see screenshot). This format will often be used in a notetaking application or a word processing package, in order to organize thoughts into separate topics and sub-topics etc hierachically. Typically the application will give options to select and drag sections of text up and down, and to indent or outdent different lines. This display format is useful both in the writing and reading of such a document. I hope that answers the question. I am not sure whether the limitations in Obsidian are a function of the software, or the markdown spec*, but it would be nice to be able to control the display of text (and images as they can be pasted in to different hierarchical levels). In Obsidian, one can display text in such a fashion, but in a numbered list or a bullet pointed list. (see Basic formatting syntax - Obsidian Help).

*For additional information, see halfway down this post on the Obsidian forum Bullet list everything - #15 by Fovea - Plugins ideas - Obsidian Forum the section under the headings FAQ and values, from which I take that the Obsidian developers would like to include outlining features into the software, but that they do not want to do this at the expense of departing from the markdown spec and making markdown documents illegible in other programs and therefore not portable. The key seems to be recognizing different blocks of text with in the markdown spec ? (see the same reference)
Thanks again