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값이 우선으로 표시됩니다.