フォームのテンプレート投稿のスタイルをやや制御できるようにしてください

フォームテンプレートから生成された投稿のスタイルが気に入っていません。

期待していたのは次のとおりです。

ラベル: 回答
ラベル: 回答
ラベル: 回答

Markdownを見る
**ラベル:** 回答
**ラベル:** 回答
**ラベル:** 回答

実際の結果は次のとおりです。

ラベル

回答

ラベル

回答

ラベル

回答

Markdownを見る
> ### ラベル
> 回答
>
>
>
> ### ラベル
> 回答
>
>
>
> ### ラベル
> 回答

これにはもう少し制御が欲しいです。それまでの間、ラベル用のスペースを設けたフォームを作成することを検討しています(そうすれば、必須フィールドの * が引き続き表示されます)。

これは次のような結果になります。

回答

回答

回答

Markdownを見る
###
回答


###
回答


###
回答

まだ余白が多すぎますが、まあ… それほど 不快ではありません。

提案: フォーム入力の attribute にするのはどうでしょうか? 例:

- type: input
  id: rule
  attributes:
    label: "ラベル"
    placeholder: "何か言って!"
    answer-styling: bold
  validations:
    required: true
「いいね!」 8

代替プレゼンテーションのフォローアップです。

今朝のスタンドアップで、このフォームと生成された投稿の出力をチームに示したところ、次のような反応がありました。

フォーマットツールバーが上部にありません…投稿を作成するフォームではなく、必須フィールドがいくつかある通常の投稿が欲しいです。

および

これらのフィールドを(生成された投稿の)上部にある小さなボックスや、横などに配置できればと思います。

それで…どのように進化するか楽しみにしています。:smiley:

「いいね!」 3

このユースケースでは、カテゴリの通常のトピックテンプレートを編集するだけで済みます。

そして、これはおそらくDiscourse Templates プラグインを使用して達成できるでしょう。

いずれにしても…テンプレートのオプションがたくさんありますね :exploding_head: :smile:

「いいね!」 3

こんにちは。

関連するカテゴリには「通常の」テンプレートが用意されています。しかし、だからといって、人々が要求されたデータを提供してくれるわけではありません。:sadpanda:

えーと…いいえ。これは、フォーム入力から収集されたデータの表示に関するものでした。

でも、ありがとうございます。:smiley:

「いいね!」 3

機能リクエストに賛成します。

同様に、ショートまたはロングフォームのテキストボックスの回答に、標準のフォーマットツールバーを提供してください。

「いいね!」 3

Meanwhile, I came up with this ugly hack to a) hide “checkbox” answers, and b) display non-textarea questions on the same line (<question?>: <answer>) and c) fix spacing between items

If you’re somewhat familiar with Javascript, you can adapt it to your needs:

(This is to be added in app.yml’s hooks section)

hooks:
  after_code:
    - exec:
        # Typically here you have the plugin thingies
    - replace:
        filename: /var/www/discourse/app/assets/javascripts/discourse/app/lib/form-template-validation.js
        from: 'return formattedOutput.join("\n\n");'
        to: |
          const formattedOutput2 = mergedData.map((item) => {
            const key = Object.keys(item)[0];
            const value = item[key];
            const type = formTemplate.find(x => x.id == key).type;
            if (type == 'checkbox') return;
            if ((value) && (type != 'textarea')) return `**${labelMap[key]}**: ${value}`;
            if (value) return`\n### ${labelMap[key]}\n${value}\n`;
          });
          return formattedOutput2.join("\n");

「いいね!」 2