Text Block
Text Block(텍스트 블록)은 말풍선에서 가장 기본인 텍스트를 표현하는 블록입니다. Text Block은 단독으로도 존재할 수 있지만, 레이아웃 블록을 구성하는 엘리먼트의 속성으로 사용되기도 합니다.
표Text Block블록 유형 | 블록명 | 엘리먼트 | 레이아웃 블록 |
---|---|---|---|
말풍선 | Text Block | O |
X |
기능 소개
Text Block은 다음 기능을 지원합니다.
표Text Block 구성카카오워크 1.7 버전 이후부터 Text Block의 표준 포맷이 Markdown에서 다음과 같이 변경되었습니다.
- Plain Text 또는 Inlines 포맷으로 내용 입력 가능
- Plain Text와 Inlines 모두 줄 넘김(
\n
) 기능 지원
블록 | 포맷 | 설명 |
---|---|---|
Text Block | Plain Text | 글자 수: 최대 500자(공백 및 줄바꿈 포함) |
Inlines | 글자 수: 최대 500자(공백 및 줄바꿈 포함) | |
styled : 텍스트 스타일 설정 |
||
link : 링크 연결 |
||
mention : 사용자 멘션 |
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
type | String | 필수 |
타입 고정값 - text 로 고정 |
text | String | 필수 |
관련 내용 - 전체 텍스트를 \n 을 포함하여 기술- inlines 서식을 적용할 텍스트까지 포함하여 작성 필요 - inlines와 정합성이 맞지 않을 경우, inlines의 text를 우선으로 적용함 |
inlines | Array | 선택 |
다양한 추가 서식을 적용하여 텍스트 및 스타일 설정 가능 |
styled: Text Block에 bold, italic, strike, color 스타일을 적용 | |||
link: Text Block에 HTTP 또는 HTTPS 스킴을 적용 | |||
mention: Text Block에서 사용자를 멘션 | |||
Plain Text
Plain Text(플레인 텍스트)는 별도의 서식 없이 단순 텍스트로만 구성된 Text Block 포맷으로, 텍스트만 입력하여 메시지를 구성할 때 활용합니다.
그림Plain Text 블록 예시
주의
Plain Text로 Text Block을 구성한 경우, 별도의 링크 자동 변환 기능은 지원하지 않습니다.
Inlines
Inlines(인라인스)는 텍스트에 다양한 추가 서식을 적용할 때 사용하는 Text Block 포맷입니다.
Inlines 포맷은 styled, link, mention 속성으로 구성됩니다.
안내
폰트 종류와 크기 설정 기능은 지원하지 않습니다.
그림Inlines(styled와 link 속성)를 적용한 Text Block 예시
styled
styled
는 Text Block에 bold, italic, strike, color 스타일을 지정하여 텍스트를 꾸미는 속성입니다. styled
속성은 굵은 글씨체, 기울어진 글씨체, 취소선, 글자 색상의 스타일을 중복하여 지정할 수 있습니다. 값을 명시하지 않은 경우에는 속성별 기본값이 적용됩니다.
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
type | String | 필수 |
타입 고정값 - styled 로 고정 |
text | String | 필수 |
스타일을 적용할 텍스트 |
bold | Boolean | 선택 |
굵은 글씨체 |
true : 굵은 글씨체 적용 |
|||
false (기본값): 굵은 글씨체 미적용 |
|||
italic | Boolean | 선택 |
기울어진 글씨체 |
true : 기울기 글씨체 적용 |
|||
false (기본값): 기울기 글씨체 미적용 |
|||
strike | Boolean | 선택 |
취소선 |
true : 취소선 적용 |
|||
false (기본값): 취소선 미적용 |
|||
color | String | 선택 |
글자 색상 |
default (기본값): 검은색 |
|||
red : 빨간색 |
|||
blue : 파란색 |
|||
grey : 회색 |
코드예제styled 속성 적용 예시
{
"type": "text",
"text": "카카오워크 텍스트 블록 변경",
"inlines": [
{
"type": "styled",
"text": "카카오워크 "
},
{
"type": "styled",
"text": "텍스트",
"bold": true
},
{
"type": "styled",
"text": " 블록 변경",
"color": "red"
}
]
}
link
link
는 Text Block에 다음과 같은 HTTP 또는 HTTPS 스킴을 적용할 수 있는 속성입니다. 메일 주소(mailto:)와 연락처(tel:)가 입력될 경우, 각 클라이언트 특성에 맞게 링크가 자동으로 연결합니다.
URL 예시 | 결과 |
---|---|
“https://blog.kakaowork.com/43” | 브라우저로 연결 |
“tel:010-1234-5678” | 통화 또는 브라우저로 연결 |
“mailto:someone@foo.com” | 메일 작성으로 연결 |
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
type | String | 필수 |
타입 고정값 - link 로 고정 |
text | String | 필수 |
링크를 적용할 텍스트 |
url | String | 필수 |
연결할 링크 주소 |
주의
URL 링크에는 bold, italic, strike, color 속성을 적용할 수 없습니다.
코드예제link 속성 적용 예시
{
"type": "text",
"text": "카카오워크 기술문서",
"inlines": [
{
"type": "link",
"text": "카카오워크 기술 문서",
"url": "https://blog.kakaowork.com/43"
}
]
}
mention
mention
은 Text Block에서 사용자를 멘션할 수 있는 속성이며, 채팅방에 멘션된 참여자가 존재할 경우에만 동작합니다. 멘션된 사용자를 클릭하면, 해당 사용자의 프로필 카드가 표시됩니다.
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
type | String | 필수 |
타입 고정값 - mention 으로 고정 |
text | String | 필수 |
멘션을 적용할 텍스트 |
Object | 필수 |
참조할 사용자 정보 | |
type | String | 필수 |
타입 고정값 - kw 로 고정 |
value | Integer | 필수 |
멤버의 고유 정보인 user_id - 자세한 설명은 기술 문서 참고 |
코드예제mention 속성 적용 예시
{
"type": "text",
"text": "@ryan",
"inlines": [
{
"type": "mention",
"text": "@ryan",
"ref": {
"type": "kw",
"value": 000
}
}
]
}
예시
코드예제Text Block Sample Code
{
"type": "text",
"text": "카카오워크 텍스트 블록이 변경되었습니다. 자세한 설명은 기술 문서를 참고하시기 바랍니다. 담당자는 @ryan 입니다.",
"inlines": [
{
"type": "styled",
"text": "카카오워크 "
},
{
"type": "styled",
"text": "텍스트",
"bold": true,
"color": "red"
},
{
"type": "styled",
"text": "블록이 변경되었습니다. 자세한 설명은 "
},
{
"type": "link",
"text": "기술 문서",
"url": "https://blog.kakaowork.com/43"
},
{
"type": "styled",
"text": "를 참고하시기 바랍니다. 담당자는"
},
{
"type": "mention",
"text": "@ryan",
"ref": {
"type": "kw",
"value": 000
}
},
{
"type": "styled",
"text": "입니다."
}
]
}
안내
inlines 상위의text
의 값과 inlines 하위의text
의 값은 동일해야 합니다.
- 값이 동일하지 않은 경우에는 inlines의 하위
text
값이 우선으로 표시됩니다.