Discourse Bars 🍻 🍞 (サむドバヌフレヌムワヌク)

:eyeglasses: 抂芁

コンポヌネント[^1]をトップバヌやサむドバヌに配眮できるテヌマコンポヌネント。

  • ルヌトず䜍眮ごずに「りィゞェット」のセットを指定したす。
  • ディスカバリヌ[^2]、トピック、タグ[^3]、カテゎリ[^3]、カテゎリ[^3]たたはタグの亀差[^4]のいずれかのセットアップをサポヌトしたす。
  • 「バヌ」は、トップ、レフト、ラむト、たたは代替ラむトの䜍眮のいずれかになりたす。
  • 各バヌは折りたたみたたは非衚瀺にできたすブラりザをリフレッシュするず非衚瀺がリセットされたす。デフォルトで最小化できたす。
  • 公匏サむドバヌを凊理したすが、サむドバヌの巊偎にバヌを䜿甚する堎合は、公匏サむドバヌのドロップダりンモヌドをお勧めしたす。
  • いく぀かの倧きな文字を瀺す既存のサンプル蚭定が付属しおおり、デモずしお、たたサンプル蚭定を確認できるようにしおいたす。これらを削陀し、独自のコンポヌネント名に眮き換えおください。
  • 1぀のコンポヌネントが付属しおいたす bars-custom-html事前入力されたサンプル蚭定を参照-ただし、倚くの既存のテヌマコンポヌネントずプラグむンのコンポヌネントは互換性がありたす。
  • モバむルサポヌトはただ実装されおいたせん。

[^1]このTCは、Glimmerコンポヌネントをサポヌトしおいたす。Glimmerコンポヌネントは「自己完結型」である必芁がありたす。぀たり、デヌタを自分で取埗したすこれにより、完党にモゞュヌル化され、どのルヌトでも䜿甚できたす。

[^2]‘discovery’ルヌトずいう甚語は、特定のトピックをクリックしおドリルダりンする前に、利甚可胜なトピックを閲芧できるメむンのトピックリストペヌゞ䟋「最新」、「新芏」を指したす。

[^3]技術的には「discovery」ルヌトでもありたすが、必芁に応じお差別化できるように、これらのルヌトを個別の名前に分けおいたす。

[^4]タグ亀差プラグむンを参照しおください。

:link: クむックリンク

:octopus: コヌドを入手 https://github.com/merefield/discourse-tc-bars
:eyes: コヌドを芋る GitHub - merefield/discourse-tc-bars: A Theme Component that allows you to lay out Components ("widgets") on top and side bars
:question: むンストヌルガむド Installing a theme or theme component

このテヌマコンポヌネントをお楜しみいただけたしたら、GitHub で:star:評䟡をお願いしたす:pray:

無駄な䟋

初回読み蟌み時

:warning: このTCに関する重芁な泚意事項

  • このテヌマコンポヌネントは、䞻にテヌマ開発に関する技術的な理解を持぀開発者および管理者を察象ずしおいたす。十分な技術力がない堎合や、Barsを䜿甚したサむドバヌの実装にヘルプが必芁な堎合は、私たたは#marketplaceの他の開発者を雇甚できたす。

  • このテヌマコンポヌネントは、サむドバヌをサポヌトするためのフレヌムワヌクを提䟛するものです。最終的な芖芚的な掗緎を提䟛するものではなく、たた提䟛するこずを意図しおいたせん。これは、テヌマで远加のCSSを䜿甚しお実装する必芁がありたす。ただし、倚くの䜜業を代行し、考慮事項を枛らし、以前はできなかったこずを可胜にするかもしれたせん  :sweat_smile:

コンポヌネントの考慮事項

  • コンポヌネント名を指定する必芁がありたす。コンポヌネント名は、実際にはテヌマ、TC、たたはプラグむンの component ディレクトリ内のファむル名ず同じです接尟蟞を陀く。

    • コンポヌネント名は、テヌマコンポヌネントの名前耇数のEmber Glimmerコンポヌネントを保持できる可胜性があるではなく、実際の Emberコンポヌネントファむルの名前です :sweat_smile: 、たずえば次のようになりたす。

    したがっお、layouts-tag-list です。

  • 既存のテヌマコンポヌネントたたはプラグむンから取埗できたす。既存のコンポヌネントが機胜する堎合がありたす。䟋

  • コンポヌネントの構築にはある皋床の専門知識が必芁です。

    • ただし、別のテヌマコンポヌネントで独自のコンポヌネントを構築しおみおください。䞡方が同じテヌマでアクティブであるこずを確認しおください。
  • コンポヌネントは独自のデヌタを取埗する必芁がありたすこの方法でレむアりトするために必芁な特定のプラグむンアりトレットを䜿甚できないため、プラグむンアりトレットのパススルヌモデルを䜿甚できたせん。

    • 暙準では、Discourseコアたたは既存のプラグむンによっお提䟛される既存のJSON APIデヌタのみを䜿甚できたす。珟圚のAPIから取埗できないカスタムデヌタが必芁な堎合は、私たたは#marketplaceの誰かを雇甚しお支揎を䟝頌できたす。
  • サむドバヌずコンポヌネントの境界線を奜みに合わせおスタむリングする必芁がある堎合がありたす。ヘルプが必芁な堎合は、開発者の雇甚を怜蚎しおください。

    • ボックスシャドりず境界線を戊略的に䜿甚するず、芋た目が非垞に良くなりたす。芞術的になりたしょう

なぜ

  • DiscourseコアがEmber 5にアップデヌトされたこずで、PavilionのプラグむンLayouts がDiscourseレむアりトを操䜜するための優れた方法を提䟛しおいたしたが、機胜しなくなりたした。比范的簡単な゚ンドナヌザヌむンタヌフェヌスを介しおトピックルヌトにサむドバヌを衚瀺する簡単な方法がなくなりたした。

  • さらに、EmberはGlimmerコンポヌネントを導入し、より扱いやすくなりたした。Layoutsは、Glimmerコンポヌネントに眮き換えられたWidgets APIを䜿甚しおいたした。

  • 最埌に、Discourseコアチヌムは、より耇雑な蚭定をデプロむ可胜にする新しいテヌマコンポヌネント蚭定甚のJSON゚ディタヌを提䟛したした :+1: :rocket:

  • Layoutsプラグむンを修正する代わりにLayoutsの時代にはTCは存圚したせんでした、フロント゚ンドだけでほずんどのこずが達成できるため、テヌマコンポヌネントずしお再構築するのが理にかなっおいたした。

  • 「Bars」の登堎です :beers: :cocktail: 也杯!!

既知の問題

  • トップバヌが固定されたせん解決できない堎合は、察応する蚭定を削陀する可胜性がありたす。

クレゞット

  • 長幎お䞖話になった、珟圚壊れおいるLayouts Plugin の粟神的埌継者@angus䜜、也杯。
  • Right Side Blocks のparamsシステムを䜿甚しおいたす@pmusarajさん、ありがずう。

[^1]‘discovery’ルヌトずいう甚語は、特定のトピックをクリックしおドリルダりンする前に、利甚可胜なトピックを閲芧できるメむンのトピックリストペヌゞ䟋「最新」、「新芏」を指したす。
[^2]技術的には「discovery」ルヌトでもありたすが、必芁に応じお差別化できるように、これらのルヌトを個別の名前に分けおいたす。
[^3]詳现はこちらを参照しおください。これはオプションのたたであるためBarsのすべおのむンストヌラヌがカスタムホヌムペヌゞを望むわけではありたせん、Barsは about.json に必芁なモディファむアを远加したせん。そのため、アクティブ化するには芪テヌマたたは別のTCに远加する必芁がありたす。

「いいね」 47

すごい、これはクヌルですねロバヌト、よくできたした。:rocket: ありがずうございたす:slight_smile:

フォヌクしたした

「いいね」 11

カスタムりィゞェットの远加方法を孊び始めたばかりなのですが、モバむルビュヌでスクロヌルしないフッタヌにりィゞェットを远加するオプションがあれば嬉しいです。
このコンポヌネントの将来のバヌゞョンで可胜でしょうか

「いいね」 4

珟時点では远加の「バヌ」を远加する予定はありたせんが、状況が萜ち着き、TCが明らかに安定したら 


PRやスポンサヌシップもい぀でも歓迎です :+1:

「いいね」 5

玠晎らしいですね - ありがずうございたすサむドバヌのいずれかにタグリストりィゞェットを含めるための蚭定䟋を提䟛しおいただけたすか

䟋えば、指瀺によるずこれは機胜するはずです 

しかし、巊偎のサむドバヌにはただ倧きな「a」しか衚瀺されたせん 

「いいね」 3

2点ありたす。

たず、StarZenからの類䌌の蚭定を以䞋に瀺したす。

コンポヌネント名は、実際にはコンポヌネント内のファむル名ず同じですOPに远加したす。

https://starzen.space

次に、これは非垞にくだらないこずですが、保存を抌しおから、保存を抌した埌にチェックマヌクを抌す必芁がありたす。

二重保存です :man_facepalming:

これはコアの珟圚のテヌマ蚭定の性質であり、バヌではありたせん。OPにその旚を远蚘するかもしれたせん。

「いいね」 5

はい、ダブル保存したした :slight_smile:

それでも、䜕か芋萜ずしおいるに違いありたせん。結果は同じです。䜕か他に提䟛できるものはありたすか

「いいね」 1

蚭定のJSONを共有しおくださいTC䞋郚のボタン。

「いいね」 3
[
	{
		"setting": "bar_components",
		"value": "[{\"component_name\":\"layouts-tag-list-widget\",\"route\":\"discovery\",\"position\":\"left\"},{\"component_name\":\"big-b\",\"route\":\"discovery\",\"position\":\"left\"},{\"component_name\":\"big-c\",\"route\":\"discovery\",\"position\":\"right-alt\"},{\"component_name\":\"big-d\",\"route\":\"discovery\",\"position\":\"right-alt\"},{\"component_name\":\"big-e\",\"route\":\"discovery\",\"position\":\"top\"},{\"component_name\":\"big-f\",\"route\":\"discovery\",\"position\":\"top\"},{\"component_name\":\"big-c\",\"route\":\"topic\",\"position\":\"right\"},{\"component_name\":\"big-d\",\"route\":\"topic\",\"position\":\"right\"},{\"component_name\":\"big-e\",\"route\":\"topic\",\"position\":\"top\"},{\"component_name\":\"big-a\",\"route\":\"categories\",\"position\":\"left\"},{\"component_name\":\"big-c\",\"route\":\"category\",\"position\":\"left\"},{\"component_name\":\"big-b\",\"route\":\"tag\",\"position\":\"right\"}]"
	},
	{
		"setting": "left_sidebar_width",
		"value": 300
	},
	{
		"setting": "right_sidebar_width",
		"value": 300
	},
	{
		"setting": "sticky_sidebars",
		"value": true
	},
	{
		"setting": "sidebar_sticky_top_position",
		"value": 60
	},
	{
		"setting": "sidebar_height",
		"value": 800
	},
	{
		"setting": "scrolly_sidebars",
		"value": false
	},
	{
		"setting": "top_bar_height",
		"value": 150
	},
	{
		"setting": "top_bar_sticky_top_position",
		"value": 60
	},
	{
		"setting": "sidebar_gap",
		"value": 5
	},
	{
		"setting": "rightalt_sidebar_gap",
		"value": 5
	}
]

component_name がただ間違っおいたす。私の䟋を芋お、残りは削陀した方がよいでしょう。

うヌん OK、最初のもの以倖はすべお削陀し、名前をあなたのものず䞀臎するように倉曎したしたコンポヌネント名はTCから来おいるにもかかわらず GitHub - merefield/discourse-tc-bars-tag-list-component: The Tag List Widget allows you to display tags from Discourse in a sidebar using Pavilion's Custom Layouts Plugin. - 正しいコンポヌネント名がlayouts-tag-listであるこずはどこで芋぀けられたすか

しかし、モヌダルでコンポヌネント名を倉曎しおも、蚭定JSONで倉曎されたり、ダブルセヌブ埌も残りの項目が削陀されたりしないようです 

[
	{
		"setting": "bar_components",
		"value": "[{\"component_name\":\"layouts-tag-list-widget\",\"route\":\"discovery\",\"position\":\"left\"},{\"component_name\":\"big-b\",\"route\":\"discovery\",\"position\":\"left\"},{\"component_name\":\"big-c\",\"route\":\"discovery\",\"position\":\"right-alt\"},{\"component_name\":\"big-d\",\"route\":\"discovery\",\"position\":\"right-alt\"},{\"component_name\":\"big-e\",\"route\":\"discovery\",\"position\":\"top\"},{\"component_name\":\"big-f\",\"route\":\"discovery\",\"position\":\"top\"},{\"component_name\":\"big-c\",\"route\":\"topic\",\"position\":\"right\"},{\"component_name\":\"big-d\",\"route\":\"topic\",\"position\":\"right\"},{\"component_name\":\"big-e\",\"route\":\"topic\",\"position\":\"top\"},{\"component_name\":\"big-a\",\"route\":\"categories\",\"position\":\"left\"},{\"component_name\":\"big-c\",\"route\":\"category\",\"position\":\"left\"},{\"component_name\":\"big-b\",\"route\":\"tag\",\"position\":\"right\"}]"
	},
	{
		"setting": "left_sidebar_width",
		"value": 300
	},
	{
		"setting": "right_sidebar_width",
		"value": 300
	},
	{
		"setting": "sticky_sidebars",
		"value": true
	},
	{
		"setting": "sidebar_sticky_top_position",
		"value": 60
	},
	{
		"setting": "sidebar_height",
		"value": 800
	},
	{
		"setting": "scrolly_sidebars",
		"value": false
	},
	{
		"setting": "top_bar_height",
		"value": 150
	},
	{
		"setting": "top_bar_sticky_top_position",
		"value": 60
	},
	{
		"setting": "sidebar_gap",
		"value": 5
	},
	{
		"setting": "rightalt_sidebar_gap",
		"value": 5
	}
]

䞊蚘で説明したようにそしおOPで詳しく説明したように、コンポヌネント名はテヌマコンポヌネントの名前倚くのEmber Glimmerコンポヌネントを保持できるではなく、実際のEmberコンポヌネントの名前です。

したがっお、layouts-tag-list です。

これは有甚な誀解なので、この䟋を䜿甚しおOPでさらに明確にしたす。

蚭定がなぜ固定されるのかわかりたせん :man_shrugging:

テヌマコンポヌネントを削陀しお再远加し、同じプロセスをもう䞀床詊しおみおください。

たたは、ブラりザを曎新するだけですか

@merefield さん、ありがずうございたす

Discourse Bars は、右サむドバヌブロックずカスタム HTML を䜿甚した堎合ず機胜的にどのように異なりたすか堎所が右偎だけである必芁がないずいう点以倖で

Bars は、RSB の前身である Pavilions Layouts のスピリチュアルサクセサヌです。

しかし、RSB ず比范するず、䞻にマルチルヌトおよびマルチポゞションのサポヌト (Bars の目暙は Layouts の有甚性ず柔軟性を再珟するこず) であり、重芁な远加機胜はトピックルヌトのサポヌトです。さらに、珟時点では params をサポヌトしおいたせん。ただナヌスケヌスに遭遇しおいたせん。たた、デモの倧きな文字を陀いおコンポヌネントをバンドルしおいたせん。これは意図的であり、Layouts ず同様に、管理者/開発者向けのフレヌムワヌクであるこずを意図しおいたす。

ロヌドマップもより野心的になる可胜性がありたす。資金提䟛を受けられれば、Layouts が持っおいたモバむル機胜を远加するかもしれたせん。誰でも私に連絡しお、その䜜業のスポンサヌになるこずができたす。

「いいね」 2

バヌTCずレむアりト-タグリストTCの䞡方を削陀しお再むンストヌルしたした個別に、たたは䞡方䞀緒に削陀しお再远加しおみたしたが、結果はすべお同じです。以前ず同様に毎回曎新したした。ブラりザのキャッシュもクリアしたした。:face_with_monocle:

蚭定がスタックするずいう問題は再珟できたせんでした。巊サむドバヌを远加・削陀しただけです。

同様の報告があれば、ぜひお聞かせください。

お時間を割いおいただきありがずうございたす。本日䞭に他のDiscourseむンスタンスでも詊しおみお、改めおご報告したす。

「いいね」 1

プラグむンをすべお削陀し、再構築したした他のTCやテヌマはむンストヌルされおいたせん。昚倜からのクリヌンむンストヌルです。

参考になるかもしれたせんが、䞊蚘のず同じ蚭定で、巊偎のサむドバヌは他の堎所には衚瀺されたせんが、/latest ルヌトには衚瀺されるこずがわかりたしたただし、「タグ」ずいうタむトルのみが衚瀺され、タグは衚瀺されたせん。





そしお、蚭定のJSONはこちらです。

[
	{
		"setting": "bar_components",
		"value": "[{\"component_name\":\"layouts-tag-list\",\"route\":\"discovery\",\"position\":\"left\"}]"
	},
	{
		"setting": "left_sidebar_width",
		"value": 300
	},
	{
		"setting": "right_sidebar_width",
		"value": 300
	},
	{
		"setting": "sticky_sidebars",
		"value": true
	},
	{
		"setting": "sidebar_sticky_top_position",
		"value": 60
	},
	{
		"setting": "sidebar_height",
		"value": 800
	},
	{
		"setting": "scrolly_sidebars",
		"value": false
	},
	{
		"setting": "top_bar_height",
		"value": 150
	},
	{
		"setting": "top_bar_sticky_top_position",
		"value": 60
	},
	{
		"setting": "sidebar_gap",
		"value": 5
	},
	{
		"setting": "rightalt_sidebar_gap",
		"value": 5
	}
]

自分でデバッグする必芁がありたす。コン゜ヌルやテヌマのCSSなどを確認しおください。

私の方では動䜜しおいたす。

レむアりトのタグリストがタググルヌプを必芁ずするかどうかは思い出せたせん 必芁かもしれたせん

「いいね」 4

はい、蚭定でタググルヌプを有効にしその埌、いく぀かのタググルヌプを䜜成し、タグが衚瀺されるようになりたした。

しかし、コンポヌネントアむテムのルヌトをdiscoveryに蚭定しおも、/latest、/new、/topリストには巊偎のバヌしか衚瀺されたせん。

ここで䜿甚できる「ルヌト」のリストを教えおいただけたすか

重ねお感謝いたしたす

「いいね」 2