Mark_Wass
(Mark Wass)
2023 年 2 月 16 日午前 7:15
1
こんにちは皆さん
この投稿を読みました How to display full name in comments embeds
これらのコマンドを実行しました。
cd /var/discourse
./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# cd app/views/embed/
root@discourse-app:/var/www/discourse/app/views/embed# nano comments.html.erb
Nano がインストールされていなかったので、インストールして、参照された投稿で言及されている行を置き換えて comments.html.erb を編集しました。
その後、ランチャーを終了して実行しました。
./launcher rebuild app
再構築後、何も変わりませんでした。埋め込みでユーザー名の代わりにフルネームが表示されます。
どこで間違えましたか?
ありがとうございます。
Canapin
(Coin-coin le Canapin)
2023 年 2 月 16 日午前 10:59
2
マークさん、ようこそ!
アプリを再構築すると、コンテナ内で行った変更はすべて上書きされ、Discourse が再ダウンロードされます。
Discourse に変更を加えたい場合、このようにファイルを編集するのは適切な方法ではありません。
Discourse の機能をカスタマイズするには、通常、テーマコンポーネントを使用します。
Discourse のテーマとテーマコンポーネントを使用して、Discourse のフロントエンドの外観、感触、および機能をカスタマイズできます。開発者ガイドのこのセクションは、簡単なテーマを単一のサイト用に開発する場合から、複雑なオープンソースのテーマコンポーネントまで、必要となるすべてのリファレンス資料を提供することを目的としています。
このはじめにでは、テーマ開発のためのすべてのツールと API の概要を提供することを目的としています。テーマ開発のステップバイステップのチュートリアルをご希望の場合は、こちらに直接移動してください。
テーマとテーマコンポーネント
Discourse テーマ は、CSS と JavaScript を使用してフロントエンドのユーザーエクスペリエンスをカスタマイズするために使用できます。各テーマには独自の git リポジトリがあり、コミュニティ管理者は、共有ホスティングプラットフォーム上であっても、通常、Discourse 管理パネル経由でインストールおよび管理できます。
テーマコンポーネント は、全体的なテーマの一部として、他のテーマコンポー…
またはプラグインを使用します。
コーディングの知識があれば、これらのリンクをご覧になることをお勧めします。
このリンクは特に興味深いかもしれません。
一見すると、探しているものとまったく同じことをしているようです。同じ親フォルダー内の別のファイルを対象としているだけです。
Mark_Wass
(Mark Wass)
2023 年 2 月 20 日午前 8:48
3
@Canapin ご提案ありがとうございます。
このリポジトリを作成しました。https://github.com/OptDev/optuma-discourse-custom-embed
しかし、あまり進捗がありません。
このコマンドを実行するとエラーなくビルドされます。
./launcher enter app
しかし、埋め込みで期待している変更が見られないようです。いくつかのカスタムCSSクラス名を追加し、<% post.user.username %> を <%= post.user.name %> に変更しました。これを機能させるために、もう少し方向性を教えていただけると幸いです。プラグインから別のプラグインのテンプレートファイルを上書きするのは、それほど複雑ではないと想像しています。
できたこととしては、アプリに入り、手動でプラグインのテンプレートバージョンを /var/www/discourse/app/views/embed/ にコピーし、アプリを再起動すると、探している結果が表示されます。
プラグインがロードされたときに自動的に行われるようにしたいのですが、そこが詰まっているところです。
Mark_Wass
(Mark Wass)
2023 年 2 月 21 日午前 5:06
4
プラグイン内の app/views/embed/comments.html.erb ファイルが上書きされないのはなぜでしょうか?
after_initialize do
::EmbedController.prepend_view_path File.expand_path("../embed", __FILE__)
end
Mark_Wass
(Mark Wass)
2023 年 2 月 21 日午前 6:45
5
はい、これで合っていました。パスの問題があっただけです。
次に、プライベート Git リポジトリからプルする方法を見つける必要があります。
プライベートアクセストークンをクローンしたURLに追加してください
Mark_Wass
(Mark Wass)
2023 年 2 月 21 日午前 7:29
7
@merefield アプリケーションの .yml ファイルでは、どのようになりますか?
Mark_Wass
(Mark Wass)
2023 年 2 月 21 日午前 7:38
8
わかりました、ここで見つけました。Install plugins on a self-hosted site
注意点として、ドキュメントには「トークン」を使用すると記載されています…
git clone https://<token>@github.com/owner/repo.git
GitHubのユーザー名とトークンを使用する必要があることがわかりました。
git clone https://<github-username>:<token>@github.com/owner/repo.git
Canapin
(Coin-coin le Canapin)
2023 年 2 月 21 日午前 10:01
9
最終的にプラグインは意図したとおりに機能しましたか?
Mark_Wass
(Mark Wass)
2023 年 2 月 21 日午前 11:01
10
@Canapin はい!すべて正常に動作しました。プラグインの plugin.rb は以下のようになりました。カスタムバージョンのファイルを配置していたパスに問題があったようです。
/custom_views/embed/comments.html.erb
というフォルダに配置しました。
# frozen_string_literal: true
# name: optuma_discourse_custom_embed
# about: A simple plugin to used to customise the template in the forum embeds
# version: 1.0.0
# authors: Optuma Pty Ltd
# url: https://github.com/OptDev/optuma-discourse-custom-embed
# required_version: 2.7.0
after_initialize do
::EmbedController.prepend_view_path File.expand_path("../custom_views", __FILE__)
end