executablebooks / MyST-Parser

An extended commonmark compliant parser, with bridges to docutils/sphinx
https://myst-parser.readthedocs.io
MIT License
751 stars 197 forks source link

Allow for links links and titles in block quote attributions #830

Closed hynek closed 11 months ago

hynek commented 11 months ago

I would like to use attrs_block attributions for my block quotes but it seems like I can't have a title and a link in there. If I use a Markdown link, it's used verbatim, if I use an HTML link, the attrs line is rendered verbatim.

Ideally it would be a separate attribute:

{attribution="Hyrum Wright", attribution_title="Hyrum's Law" attribution_link="https://www.hyrumslaw.com"}
> With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.

would give me:

<blockquote cite="https://www.hyrumslaw.com">
  <p>With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.</p>

  <cite>— Hyrum Wright, <a href="https://www.hyrumslaw.com">Hyrum’s Law</a></cite>
</blockquote>
welcome[bot] commented 11 months ago

Thanks for opening your first issue here! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out EBP's Code of Conduct. Also, please try to follow the issue template as it helps other community members to contribute more effectively.
If your issue is a feature request, others may react to it, to raise its prominence (see Feature Voting).
Welcome to the EBP community! :tada:

chrisjsewell commented 11 months ago

Heya, see #831, I agree that the attribution should be parsed as MyST

would give me ...

I'm not sure about acheiving this though; I agree that this looks to be a better HTML representation (like https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote), but I think it would require changes to the upstream HTML renderer; https://github.com/live-clones/docutils/blob/master/docutils/docutils/writers/_html_base.py

hynek commented 11 months ago

BTW I'm sorry if I've accidentally circumvented some kind of community process as the message of the bot insinuates. I just clicked "new issue" in the docs and search the issues for "attribution" (and found nothing).

chrisjsewell commented 11 months ago

as the message of the bot insinuates

Oh no, this just gets fired for every first-time contributor 😄

hynek commented 11 months ago

Yeah I didn't feel attacked specifically, I'm just seeing mentions of issue templates (I had none) etc. :)

chrisjsewell commented 11 months ago

@hynek would #831 be sufficient for you at this time? I could potentially add something like a cite attribute that is "stored" on the block_quote node:

{attribution="Hyrum Wright", cite="https://www.hyrumslaw.com/"}
> With a sufficient number

But, as I mention above, I don't think this would currently propagate to the actual output HTML

hynek commented 11 months ago

Would #831 mean I can do:

{attribution="Hyrum Wright, [Hyrum’s Law](https://www.hyrumslaw.com>)"}
> With a sufficient number

And get:

<blockquote>
  <p>With a sufficient number…</p>

  <cite>— Hyrum Wright, <a href="https://www.hyrumslaw.com">Hyrum’s Law</a></cite>
</blockquote>

?

I don't care that much about the cite attribute because I don't think anyone is actually using it? I primarily want to be able to have richer citations in the cite tag. :)

chrisjsewell commented 11 months ago

Would https://github.com/executablebooks/MyST-Parser/pull/831 mean I can do

yep 👍 see the updated example in https://myst-parser--831.org.readthedocs.build/en/831/syntax/optional.html#attributes

hynek commented 11 months ago

Well, perfect!