こんにちは。
Discourseインスタンスのロゴの横にテキストを追加したいと考えており、このトピックがその件で役立ちました。
しかし、テキストにリンクが設定されていません。ロゴと同じように、テキストをフォーラムのURLにリンクするにはどうすればよいですか?
この件についてご指導いただけると幸いです。
こんにちは。
Discourseインスタンスのロゴの横にテキストを追加したいと考えており、このトピックがその件で役立ちました。
しかし、テキストにリンクが設定されていません。ロゴと同じように、テキストをフォーラムのURLにリンクするにはどうすればよいですか?
この件についてご指導いただけると幸いです。
このサイトでのやり方は、テキストを含む横長のロゴを配置することのようです。そのようにするのはどうでしょうか?
基本的に、サイト設定で指定されているとおりにDiscourseのデフォルトロゴが表示され、その後ろにテキストを追加するために:afterコンテンツが追加されます。そのため、テキストはCSSから取得されます。
コードは以下のとおりです。
.d-header .title::after {
padding-left: 20px;
font-size: 1.5em;
color: #333;
content: "ロゴの後のテキスト";
}
.archetype-regular #main.no-text .d-header .title::after,
.archetype-private_message #main.no-text .d-header .title::after {
display:none;
}
スクリプトは以下のとおりです。
$(document).ready(function() {
$(window).scroll(function(){
checkScroll()
});
function checkScroll() {
var y = $(window).scrollTop();
if (y > 55) {
document.getElementById("main").classList.add('no-text');
} else {
document.getElementById("main").classList.remove('no-text');
}
}
checkScroll();
});
そして、この後ろのテキストにもフォーラムリンクを設定したいのです。(ロゴにはDiscourseの意図どおりウェブサイトへのリンクが設定されています)
まず、最初のCSS行にタイプミスがあります(「:」が2回書かれています)。
次に、ロゴを含む実際のリンクを対象にするようにセレクターを変更すると、次のようになります。
.d-header .title a:after {
これにより、テキストが<a>タグ内に配置され、リンクも表示されます。

このサイトでの実装方法を見ると、テキストを含む大きなロゴを使用しているようです。それはいかがでしょうか?
奇妙なことに、Robertも関連トピックで同じ質問をしましたが、返信はありませんでした ![]()
理解が正しければ… これで役立ちますか? ![]()
これはロゴの後にこのHTMLを追加します <a>After logo text</a>
ヘッダー
<script type="text/discourse-plugin" version="0.8">
api.decorateWidget('home-logo:after', helper => {
return helper.h('a.after-logo', {
href:'/',
text: 'After logo text'
});
});
</script>
携帯電話で見栄えが悪くなります。小さい画面では CSS でテキストを非表示にできますが、ロゴは常に表示したいです。
これは完璧です。@Donさん、ありがとうございます。
このユースケースでは、携帯電話で別のロゴを使用する方が良いのではないでしょうか?サイト設定の「ブランディング」の下に mobile logo という設定があります。
yoursite/admin/site_settings/category/branding
おっしゃる通りです。こんな方法があるとは知りませんでした。古株なので、新しい機能をあまり試していませんでした。ありがとうございます。
なるほど、これで納得がいきました。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.