bquast
(Bastiaan Quast)
1
デフォルトのテーマでは、設定でカスタムCSS/HTMLを使用できます。
実験として、タイムラインを非表示にしたいと思いました。CSSを使用してこれを実現するための素晴らしい提案がありました(別のトピック)。提案は、4行をテーマコンポーネントとして実装することでした。難しくはありませんが、デフォルトのテーマのカスタムCSSオプションの方が簡単かもしれないと思いました。
テーマを切り替えて、4行をカスタムCSSとして挿入しました。実際にこれは完璧に機能しました。
これは、カスタムCSS/HTMLが(ここで)のみ利用可能である理由を疑問に思わせます。これを一般的な設定にする方が理にかなっていませんか?
おそらく、テーマでのみカスタムCSSを使用する用途もあるでしょうが、一般的なものも役立つのではないでしょうか?
編集: 上記の「デフォルト」テーマのアプローチを説明した、カスタムCSSに関するメインのトピックへのリンクをここに追加します:Making custom CSS changes on your site
Jagster
(Jakke Lehtonen)
2
すべてのテーマに接続されているコンポーネントは、そのような一般的な設定です。別のタブ、セクション、または「公式」コンポーネントがある場合、何が異なりますか?
「いいね!」 1
bquast
(Bastiaan Quast)
3
コンポーネントとは、コンポーネントを編集してから、Discourseインスタンスでコンポーネントを更新する必要があることを意味します。
明確にしておくと、テーマとコンポーネントのワークフローは絶対に素晴らしいです。しかし、小さなCSSの変更をより直接的/アドホックに編集できると便利だと思います。
「いいね!」 1
Jagster
(Jakke Lehtonen)
4
え…いや、そうではありません。変更は保存後すぐに反映されます。
まず、一般的な話をしていましたが、今度はテーマを1つだけ直接編集しています。まあ、テーマを1つだけ変更する場合は、テーマごとにオプションがあると良いのですが。しかし、CSSの変更が1つのコンポーネントにある場合、バグ、競合、アップグレードなどによって問題が発生した場合(発生しない場合ではなく…)、簡単に、そして迅速に無効にすることができます。
Jagster
(Jakke Lehtonen)
5
試用のためかもしれませんが、ユーザーがそれらの試用を見ても構わない場合もあります。しかし、その変更を維持したい場合、デフォルト以外のテーマしか選択肢がない場合はどうなりますか?その場合は、別のラウンドを行う必要があります 
「いいね!」 1
bquast
(Bastiaan Quast)
6
まさにその通りで、テーマ全体で機能する一般的なカスタムCSSオプションについて疑問に思っていたのです。
Jagster
(Jakke Lehtonen)
7
そして、CSSの変更を保持するコンポーネントがあります。
bquast
(Bastiaan Quast)
8
初心者なので、何か見落としているに違いありません。
自分でコンポーネントを書く場合、GitHubに配置します。その後、変更を加える必要がある場合は、GitHubで変更を加え、Discourseにコンポーネントを更新するように指示します。
それは正しい(または最も簡単な)方法ではありませんか?
「いいね!」 2
Jagster
(Jakke Lehtonen)
9
なぜそうするのですか?共有する予定がない限り。しかし、大したことではありません — その後、コンポーネントの更新ボタンをクリックします。
グローバルCSSファイル(それもコンポーネントになります)にCSSの変更を簡単に入れるにはどうすればよいですか?テーマAirを変更したい場合は、どのように変更を配信するつもりですか?
「いいね!」 1
コンポーネントを共有しているかどうかにかかわらず、GitHubでホストすることは、その進化を管理できるため、多くの場合良い考えであり、優れたバックアップにもなります。
「いいね!」 2
bquast
(Bastiaan Quast)
11
具体的な例を挙げた方が分かりやすいかもしれません。
タイムラインを(実験として)非表示にしたいのですが、@merefieldさんの助けを借りてCSSで実現できました。
.topic-navigation {
display: none
}
この実験では、これをグローバルに行いたいのです。実験なので、最も構造的/再現可能/技術的に正しい方法で行う必要はありません。
コンポーネントはそれほど手間がかかりません。しかし、それ以上に手間がかからないのは、デフォルトテーマのEdit CSS設定です。試してみたところ、これは完璧に機能しました。
しかし、コミュニティメンバーの意見を聞きたいのですが、私はzeronoiseというテーマを使用しており、これにはEdit CSS設定がありません。
私の質問は、Discourseに、Defaultテーマを設定した場合のように、CSSを少しだけいじれる方法があれば便利ではないかということです。
明確にしておきますが、Edit CSSにはテーマ固有のユースケースがあることは理解していますので、DefaultのEdit CSSに追加するものであり、置き換えるものではありません。
これで、私が何を言いたいのか少しは説明できたでしょうか。技術的な要素に間違いがあれば教えてください。修正します。
そして、皆さんのご意見を共有していただきありがとうございます。
bquast
(Bastiaan Quast)
12
scratch your own itch の精神で、デフォルトテーマの Edit CSS/HTML コードを、別のテーマコンポーネントまたはプラグイン(もちろんGPL-2のまま)としてパッケージ化することを考えています。
コンポーネントにするのが一番簡単だと思います。
Jagster
(Jakke Lehtonen)
13
全く分からなくなりました。
それには個別の自作コンポーネントを使用する必要があります。そして、そのコンポーネントは、それを使用するすべてのテーマで有効にするという意味で、グローバル設定となります。
Jagster
(Jakke Lehtonen)
14
基本的なCSSの変更で?それは少しやりすぎではありませんか?
bquast
(Bastiaan Quast)
15
それがまさに私がこのスレッド全体を開始した理由です。
基本的なCSSの変更を行うには、どのようにすればよいでしょうか?
Canapin
(Coin-coin le Canapin)
17
Bastiaanさん、こんにちは 
「外部」のテーマ/コンポーネントの HTML および CSS は、テーマ/コンポーネントが更新されたときに変更が上書きされるため、直接編集することはできません。2、3年前までは可能でしたが、この機能は削除されました。
既存のテーマの CSS をオーバーライドするために、Discourse のインターフェースに直接ローカルの新しいコンポーネントを作成する(コンポーネントの CSS タブから)、または GitHub プロジェクトとして新しいコンポーネントを作成してリポジトリが変更されるたびに「更新」ボタンをクリックして更新する、という方法があります。
私があなたのやりたいことを理解しており、この回答があなたの質問に答えているでしょうか?
「いいね!」 2
bquast
(Bastiaan Quast)
18
@Canapinさん、素晴らしいです!ありがとうございます。
まさに探していたものです。
これはおそらく@Jagsterさんとの誤解の原因も説明しています。私がやろうとしていたことを直接行う方法がありますが、インターフェースから直接新しいコンポーネントを作成できること(カスタムCSSを許可する)を知りませんでした。
これは、@JohaniさんによるテーマやCSSに関する素晴らしいガイドに追加すると役立つかもしれません。
「いいね!」 3