github / cmark-gfm

GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C
Other
893 stars 173 forks source link

Feature request : enable line returns in URLs links definitions #363

Open LLyaudet opened 5 months ago

LLyaudet commented 5 months ago

Hello,

CommonMark is unfortunately considered as frozen with respect to new features right now. It may evolve if they see a need for it, but I cannot expect it to be so/soon. Here is my request on CommonMark : https://talk.commonmark.org/t/feature-request-for-line-returns-in-urls/4644 Maybe it will be easier to add this feature in GitHub Flavored Markdown. My goal is to have lines with at most 70 characters for easier printing. But I also have URLs that may exceed a limit of 120 characters, etc. For example with a backslash :

[PyPI-version-badge]: https://img.shields.io/pypi/v/\
django-monkey-patches.svg

From my point of view, only this extension of the syntax is needed. Since other types of links do not need it, can be replaced by full references like this. And moreover, you can include %5C in the URL instead of using a backslash at the end of a line for the (existing?) case where you will have a backslash at the end of your URL.

Thanks for considering at least 5 minutes my request ;), best regards, Laurent Lyaudet

LLyaudet commented 5 months ago

Strange fact. I'm certain I already did a feature request on this repository a few years ago, probably for the same feature. But at the time of it, I don't think the CommonMark forum used Discord, etc. Quite strange.

wooorm commented 5 months ago

(I don’t work at GH.)

GH doesn’t implement features either. Particularly not things-that-break-with-CM. The only real addition ever in ±13 years was footnotes.

I’d recommend putting the enter around the URL:

[PyPI-version-badge]:
  https://img.shields.io/pypi/v/django-monkey-patches.svg
LLyaudet commented 5 months ago

Hello @wooorm :) Thanks for your answer. Indeed, I can solve some cases with this trick. But I still have examples where it is not sufficient:

[Imports:isort:badge]:
  https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336

Best regards, Laurent Lyaudet

LLyaudet commented 5 months ago

Strange fact. I'm certain I already did a feature request on this repository a few years ago, probably for the same feature. But at the time of it, I don't think the CommonMark forum used Discord, etc. Quite strange.

I think I may already have done a similar feature request for inline urls: <https://example.com> in link with my repository DecimalsRangeRegexpGenerator, but I thought I did that small web app in 2021 instead of 2022... Moreover, there was numerous sabotages on the regexps in it, while I was still developing it, with manual tests working one day and not the day after.

wooorm commented 5 months ago

trick

It’s not a trick, it’s specified CM behavior.

But I still have examples where it is not sufficient:

What you show works? What doesn’t work?

LLyaudet commented 5 months ago

Hello @wooorm :)

My goal is to have lines with at most 70 characters for easier printing.

When I write trick, I do not mean to be aggressive or pejorative. It is just a kind of "funny/gentle" way to express myself. When I was young, I played video games. There was a magazine named "Console+" for video games. And if I remember well, there was a column "Trucs et astuces" with cheat codes, clever ways to explode a boss without sweating, etc. Sometimes it was cheating/activating debug mode/infinite credits,etc., sometimes it was just plain better comprehension of the mechanics of the video game. From my point of view, I use trick like hack for the meaning of hack given by Richard Mark Stallman. Of course the word hack has took many meanings since the original meaning given by RMS and people like him at the beginning of computer science. The meaning was not "mess up with the computer system of someone else/do evil things with a computer". The meaning was just "Understand how things work/be clever/and find shortcuts when available". First things first, same word, two people, most of the time two definitions, and clearly some words have more separated definitions. That's why I don't understand people on Internet that keep thinking that saying Hello (etc.) is useless. I think they believe they are computers or something. Or maybe that they have superior knowledge of what matters?

My goal is to have lines with at most 70 characters for easier printing.

It’s not a trick, it’s specified CM behavior.

Ok but since this specified CM behavior is not a full solution to my problem, then used in this context it's trick/hack/whatever (this is contextual).

My goal is to have lines with at most 70 characters for easier printing.

What you show works? What doesn’t work?

When I look at the line:

  https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336

in gedit, gedit tells me 87 characters... If you want, I can count them by hand, just to be sure. But for my goal, it does not work, it's a fail.

Sorry to be frank, but clearly I keep giving very good ideas on various open source projects, and I always get answers meant to block any possibility to really solve some problems. This is ridiculous, really. I don't know what plagues is on the shoulder of the maintainers or ticket/issue commenters. But it makes no sense, unless some people keep the good software for them in private clubs, and keep wasting the time of others with bad/less good software.

So yes, adding backslash escape of newline for markdown files in some cases would be an improvement from a software point of view. But it may be that it is not compatible with controlling people and keeping them busy with this kind of debates. I don't know exactly how to separate between who knows and who suffers of massive blindness.

Best regards, Laurent Lyaudet

LLyaudet commented 5 months ago

Another part of context that is important, I did martial arts for more than 15 years. Technically, I gave punch and kicks to friends in a controlled way, and we were not vindictive after that :) I know what matters from my point of view. Clearly, this is not the main point of view of current Internet with "no Hello", "no frankness", "progress if you're in my club", etc. :D I have learned to laugh of myself in dramatic situations, get up and continue forward. And I see people that don't want to recognize their errors or laugh from themselves when I can see no drama in the situation like an issue or PR or an email, etc where they have been confronted to their limitations.