このドキュメントでは、新しいトピックを投稿するために事前に入力された情報を持つリンクを作成する方法について説明します。
必要なユーザーレベル: すべてのユーザー
場合によっては、特定の情報が事前に入力された状態で新しいトピック作成ウィンドウを開くリンクをユーザーに提供したいことがあります。これは、バグレポートのテンプレート、機能リクエスト、標準化された投稿など、さまざまなユースケースで役立ちます。
URLの構成
ベースURL
追加情報なしで事前入力された新しいトピックを作成するには、サイトのURLに /new-topic を追加します。次のとおりです。
https://discourse.example.com/new-topic
これをクリックすると、ログインしているユーザーに対して空の新しいトピック作成ウィンドウが開きます(ログインしていない場合は、先にサインイン/サインアップを促されます)。
追加のパラメータ
空の作成ウィンドウを開くリンクも役立つことがありますが、この機能の主な強みは、作成ウィンドウに余分な情報を事前に入力できることです。
これを行うには、ベースURLにパラメータを追加できます。
https://discourse.example.com/new-topic?title=topic%20title&body=topic%20body&category=category/subcategory&tags=email,planned
これにより、トピックのタイトル、本文、カテゴリ、タグが事前に入力された作成ウィンドウが開きます。
利用可能なオプションを示すためにリンク/URLを分解すると、次のようになります。
- ベースURL:
https://discourse.example.com/new-topic - 異なるオプションを追加するための
?URL演算子 - トピックのタイトル:
title=topic%20title - パラメータをもう1つ含めるたびに使用される
& - 本文:
body=topic%20body - カテゴリとサブカテゴリを含めたい場合はスラッシュ
/で区切ります:category=category/subcategory - 複数のタグを含めたい場合はカンマ
,で区切ります:tags=email,planned
各パラメータはオプションであり、目的の最終結果に応じて組み合わせることができます。
カテゴリ/サブカテゴリ名の代わりに、数値の category_id を指定することもできます。次はその例です。
https://meta.discourse.org/new-topic?title=topic%20title&category_id=3
例
こちらで試すことができます(Meta):
https://meta.discourse.org/new-topic?title=topic%20title&body=topic%20body&category=support/wordpress&tags=wordpress
ただし、実際にトピックを作成しないでください
より実践的にこの機能を探索するには、デモサイト try.discourse.org をご利用ください。
ブラウザの開発者ツールを使用する
ブラウザコンソール(F12 → Console)を開き、組み込みの URLSearchParams を使用してURLを構築します。これにより、すべてのパーセントエンコーディングが自動的に処理されます。
const base = 'https://discourse.example.com/new-topic';
const url = base + '?' + new URLSearchParams({
title: 'My topic title',
body: `Body text here...
supports multi line`,
category: 'support',
tags: 'bug,urgent'
});
console.log(url); // このurlをコピー
事前入力されたURLを特集リンクで使用する
この機能は、body パラメータが含まれていない場合に限り、特集リンクもサポートしています。
リンクが機能するには、URLをURLエンコードする必要があります。
たとえば、次のURL https://www.xkcd.com/556 を持つトピックを作成する場合、リンクは次のようになります。
https://meta.discourse.org/new-topic?title=https%3A%2F%2Fwww.xkcd.com%2F556
ベストプラクティス
- w3Schools の HTML URLエンコーディングリファレンス は、テキスト文字がURLでどのようにエンコードされるかを確認するための良いリソースです。多くのテキストを追加する場合は、「Try It Yourself」セクションにテキストからURLへのコンバーターもあります。
- 特殊文字に関する問題を回避するため、常にパラメータをURLエンコードしてください。
- カテゴリIDが不明な場合は、カテゴリURLの番号を確認することで確認できます。(例: https://meta.discourse.org/c/documentation/using-discourse/126)
- 事前入力されたリンクが期待どおりに機能するかどうかをテストしてください。
現在、特定のトピックに返信する作成ウィンドウを開く事前入力されたリンクを持つことはできません。