폼 템플릿 포스트 스타일링에 대한 제어를 좀 더 주세요

폼 템플릿에서 생성된 게시물의 스타일링 방식이 마음에 들지 않습니다.

제가 기대했던 결과는 다음과 같았습니다:

라벨: 답변
라벨: 답변
라벨: 답변

마크다운 보기
**라벨:** 답변
**라벨:** 답변
**라벨:** 답변

실제로 얻은 결과는 다음과 같습니다:

라벨

답변

라벨

답변

라벨

답변

마크다운 보기
> ### 라벨
> 답변
> 
> 
> 
> ### 라벨
> 답변
> 
> 
> ### 라벨
> 답변

이 부분에 대한 제어 권한이 있었으면 좋겠습니다. 그 동안에는 라벨에 공백을 넣어 폼을 만드는 방법을 검토 중입니다 (이렇게 하면 필수 필드에 대한 * 표시가 여전히 유지됩니다).

이렇게 하면 다음과 같은 결과가 나옵니다.

답변

답변

답변

마크다운 보기
###
답변


###
답변


### 
답변

여전히 공백이 너무 많지만, 덜 보기 흉해 보이기는 합니다.

제안: 폼 입력의 attribute로 이 기능을 구현하는 것은 어떨까요? 예를 들어:

- type: input
  id: rule
  attributes:
    label: "라벨"
    placeholder: "무언가 말해봐!"
    answer-styling: bold
  validations:
    required: true
10개의 좋아요

대체 표현 방식에 대해 후속으로 말씀드리자면…

오늘 스탠드업 회의에서 팀원들에게 이 폼과 그 결과물로 생성되는 게시물을 보여준 후, 다음과 같은 반응이 있었습니다.

상단에 서식 툴바가 없네요… 게시물을 생성하는 폼이 아니라, 필수 필드가 포함된 일반 게시물이 필요하다는 걸 깨닫고 있습니다.

그리고

이 필드들이 (결과물인) 게시물 상단의 작은 상자 안에 있거나, 옆에 배치되는 식이면 좋겠습니다.

그래서… 이 기능이 어떻게 발전해 나갈지 기대가 큽니다. :smiley:

3개의 좋아요

이 용도의 경우 카테고리에서 일반 주제 템플릿을 편집하면 됩니다:

이것은 아마도 Discourse Templates 플러그인을 사용하여 달성할 수 있을 것입니다?

어쨌든… 템플릿 옵션이 정말 많습니다 :exploding_head: :smile:

3개의 좋아요

안녕하세요,

해당 카테고리에 ‘일반’ 템플릿을 이미 설정해 두었습니다. 하지만 사람들이 요청된 데이터를 입력해 주리라는 보장은 없습니다. :sadpanda:

음… 아니요. 이것은 폼 입력에서 수집된 데이터의 표시 방식에 관한 것이었습니다.

그래도 감사합니다. :smiley:

3개의 좋아요

+1 기능 요청에 동의합니다.

비슷한 맥락에서, 짧은 형식 또는 긴 형식의 텍스트박스 답변에 대해 표준 서식 툴바를 사용자에게 제공해 주셨으면 좋겠습니다.

3개의 좋아요

그동안 나는 a) “checkbox” 답변을 숨기고, b) textarea가 아닌 질문을 같은 줄(<question?>: <answer>)에 표시하며, c) 항목 간 간격을 수정하기 위해 이 지저분한 해킹 방법을 고안했습니다.

자바스크립트에 어느 정도 익숙하시다면, 필요에 맞게 수정하여 사용할 수 있습니다:

(이것은 app.yml의 hooks 섹션에 추가되어야 합니다)

hooks:
  after_code:
    - exec:
        # 보통 여기에는 플러그인 관련 설정이 있습니다
    - 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");

3개의 좋아요

해킹(수정) 감사합니다. 여기서 투표했는데, 강화된 부제목이 우리의 기본 게시 지침과 관례를 깨뜨립니다.