alank
(Andrew Lank)
15.Октябрь.2019 10:13:17
1
Есть ли способ обойти переформатирование якоря Discourse, чтобы он отображался как кнопка и, следовательно, имел нужный нам стиль?
Пост публикуется с использованием свойства .raw (я пробовал использовать .cooked, но, несмотря на утверждения API, это, похоже, не поддерживается).
При публикации <a aria-label="homepage-link" href="http://blablabla...">View Homepage</a>
В посте Discourse или в описании категории это отображается как:
<div class="cooked"><a>View Homepage</a></div>
Я также пробовал
[View this page][http://blablabla]
И это было преобразовано в:
<div class="cooked"><a href="http://blablabla" class="onebox" target="_blank">http://blablabla</a></div>
Однако, если бы я мог просто получить:
<div class="cooked"><a href="http://blablabla" class="onebox" target="_blank">View this page</a></div>
Я мог бы, возможно, обратиться к нему через CSS из элемента body, чтобы применить необходимый нам стиль кнопки CSS.
alank
(Andrew Lank)
15.Октябрь.2019 12:35:57
2
Думаю, проблема решена…
[посмотреть эту страницу](http://blablabla)
Целевой CSS с использованием:
body.<вставьте название главной категории здесь>-* div.cooked a
Однако
Если у кого-то есть решение для вышеуказанного, было бы немного чище и проще добавлять собственные классы к ссылке <a> и избегать использования главной категории.
Заранее спасибо.
Johani
(Joe)
15.Октябрь.2019 13:17:17
3
Для этого можно использовать что-то вроде
I added this feature a while back and realised I didn’t post about it. You can now use a special syntax in markdown to have it cooked and usable in theme components without having to write a plugin.
// wrapped in div.d-wrap
[wrap=baz foo=bar]Content[/wrap]
// wrapped in div.d-wrap
[wrap=baz foo=bar]
Content
[/wrap]
// wrapped in div.d-wrap
[wrap=baz foo=bar]
[/wrap]
// this one will be rendered as a span.d-wrap instead of a div.d-wrap
a [wrap=baz]Content[/wrap] b
The name of the component w…
Например,
[wrap=link-button][Ссылка](http://meta.discourse.org)[/wrap]
отображается как
а разметка выглядит так:
<div class="d-wrap" data-wrap="link-button">
<p>
<a href="http://meta.discourse.org">Ссылка</a>
</p>
</div>
Затем вы можете стилизовать это в CSS с помощью
[data-wrap="link-button"] {
a {
// стили для ссылки
}
}
Вы можете заменить [wrap=link-button] на любое значение, например:
[wrap=custom-button]
или
[wrap=home-link]
или
[wrap=foobar]
а затем использовать это для стилизации ссылки, как в примере выше.
alank
(Andrew Lank)
15.Октябрь.2019 15:06:55
4
@Johani Очень интересно!!! Спасибо за вашу работу над этим, мы изучим этот вариант. Было бы здорово включить его в документацию API по настройкам «Post raw property» в будущем. Или создать центральную документацию, которая группирует и описывает все возможности свойств UPDATE:/POST: у Post.