Staff Notices に使用されているアイコンを、CSS または私がまだ見つけられていない設定を通じて変更することは可能でしょうか?できれば、FA アイコンではなく、カスタム画像に差し替えたいと考えています。
その設定は用意されていませんし、CSS のみで実現するのは難しいと思いますが、テーマコンポーネントを作成して置き換えることができます。
CSS では、古いアイコンを非表示にします:
.post-notice {
.d-icon-user-shield {
display: none;
}
}
JavaScript(テーマコンポーネントの <head> に配置)では、通知を装飾して新しいアイコンを追加します:
<script type="text/discourse-plugin" version="0.8">
const { iconNode } = require("discourse-common/lib/icon-library");
api.decorateWidget('post-notice:before', helper => {
return iconNode('heart');
});
</script>
… または、画像に置き換えたい場合は…:
<script type="text/discourse-plugin" version="0.8">
api.decorateWidget('post-notice:before', helper => {
return helper.h('img', {
src: 'https://www.discourse.org/a/img/home-spot-1.png',
style: 'margin-right: 0.65em',
height: 30,
width: 30
});
});
</script>
テーマやテーマコンポーネントを使えば、可能性は無限大です。さらに詳しく学びたい場合は、以下のリソースをご覧ください:
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
これを試してみたのですが、最初のJSコードスニペットは少し更新する必要がありました。
これは、テーマコンポーネント(またはテーマ)のJSタブに配置する必要があります。
import { apiInitializer } from "discourse/lib/api";
import { iconNode } from "discourse-common/lib/icon-library";
export default apiInitializer("0.11.1", (api) => {
api.decorateWidget("post-notice:before", () => {
return iconNode("heart");
});
});
画像を使用する方法については、すみませんが確認しませんでした。
テーマに追加した後、Upcoming post stream changes - How to prepare themes and plugins のせいで警告が表示されたため、すぐに別のアップデートが必要になるのではないかと心配しています。
これがスタッフノートにのみ影響するのか、それとも新しいユーザーや復帰ユーザーのノートにも影響するのか(これらはすべて投稿通知であるため)知りたくて試してみました。
すべての投稿通知に影響しますが、上記の CSS はシールドを非表示にするだけです。そのため、新しいユーザーや復帰ユーザーの通知には 2 つのアイコンが表示されることになります。
それでは、すべてが少し不十分ですね!!
それを投稿するのに急いでいたので、api.decorateWidget を削除し忘れていたことに気づきませんでした。サイトのエラーを気づかずに却下してしまったようです。
CSS はもっとうまくターゲットできると思いますが、Quote Callouts を見つけたばかりです。これは、いずれにしても私のユースケースに適していると思います。


