Adicionando classes a links no corpo do post para estilização

Existe alguma maneira de evitar que o Discourse reformatte uma âncora como gostaríamos que fosse exibida, ou seja, como um botão, e portanto, com um estilo específico?

A postagem é feita com a propriedade .raw (já tentei usar .cooked, mas isso parece não ser suportado, apesar do que a API afirma).

Ao postar:
<a aria-label="homepage-link" href="http://blablabla...">View Homepage</a>

Ela é exibida na postagem do Discourse (ou na descrição da categoria) como:
<div class="cooked"><a>View Homepage</a></div>

Também tentei:

[View this page][http://blablabla]

E isso foi convertido para:
<div class="cooked"><a href="http://blablabla" class="onebox" target="_blank">http://blablabla</a></div>

No entanto, se eu pudesse simplesmente ter:
<div class="cooked"><a href="http://blablabla" class="onebox" target="_blank">View this page</a></div>

Eu poderia, possivelmente, direcioná-lo via CSS a partir do elemento body para aplicar o estilo de botão CSS que precisamos.

Resolved I think…

[view this page](http://blablabla)

Target CSS using:

body.<insert name of top category here>-* div.cooked a

However

If someone has a solution for the above it would be a little cleaner and easier to add our own classes to the <a> link and avoid top Category.

Thanks in advance.

The way to do that is to use something like

For example

[wrap=link-button][Link Text](http://meta.discourse.org)[/wrap]

renders as

and the markup is

<div class="d-wrap" data-wrap="link-button">
  <p>
    <a href="http://meta.discourse.org">Link Text</a>
  </p>
</div>

and you can then style it in CSS using

[data-wrap="link-button"] {
  a {
    // styles for the link
  }
}

You can change [wrap=link-button] to any value you want like

[wrap=custom-button]
or
[wrap=home-link]
or
[wrap=foobar]

and then use that to target the link like the example above.

8 curtidas

@Johani Very interesting!!! Thanks for your work on this, we will look into this option, it would be great to have in the API docs on Post raw property settings in the future. Or a central doc that groups/defines all possibilities with Post’s UPDATE:/POST: property