Markdown 위젯과 텍스트 참조
Markdown 위젯은 서식 있는 텍스트를 표시하고 객체 참조, 인용 및 주석과 연결합니다. 밑줄이 있는 객체 참조를 선택하면 관련 객체를 다른 위젯이나 이벤트에 전달할 수 있습니다.
Annotation은 텍스트 범위에 주석 객체를 표시하고 기존 주석의 액션이나 새 주석 생성을 연결합니다.
입력과 기본 표시
Text에는 Markdown을 직접 입력하고 Variable에는 String 변수를 연결합니다.
| 설정 | 동작 |
|---|---|
| Tag type: Standard | 기본 Markdown 표현입니다. |
| Tag type: Inline reference | 객체 참조와 선택 이벤트의 확장 문법을 사용합니다. |
| Tag type: Annotation | 주석 객체의 표시와 상호작용 및 생성을 구성합니다. |
| Enable monospace font | 고정폭 글꼴로 표시합니다. |
| Enable scrolling | 위젯 내부의 스크롤을 정합니다. |
| Allow long word wrap | 긴 URL 같은 끊기지 않는 문자열을 다음 줄로 나눕니다. 새 위젯의 기본값은 켜짐입니다. |
| Break on newlines | 켜면 입력 문자열의 한 줄바꿈을 그대로 표시합니다. 새 위젯은 켜져 있으며 끄면 일반 Markdown처럼 공백으로 합칩니다. |
| Text alignment | 기본 Left 또는 Center, Right입니다. |
테이블 문법에서 지정한 열별 정렬이 위젯의 Text alignment보다 우선합니다. 코드 블록은 전체 너비와 왼쪽 정렬을 유지합니다.
사용자 선택 출력
Output user selected raw text의 Selected text는 선택 텍스트를 raw Markdown 문자열로 출력합니다. Output user selected indices는 Selection start index와 Selection end index를 Numeric 변수로 출력합니다.
기본 문법
| 표현 | 문법 예 |
|---|---|
| 제목 | # Main header, ### sub header. 1~6단계를 지원합니다. |
| 기울임 | I *think* this |
| 굵게 | **sentence** is |
| 굵게와 기울임 | ***very important*** |
| 취소선 | ~pretty good~ 또는 ~~pretty good~~ |
| 강조 | ==great== |
| 인라인 코드 | `share` |
| 인용문 | > This is a blockquote |
| 순서 없는 목록 | - Item 1 |
| 순서 있는 목록 | 1. First item |
| 중첩 목록 | 부모 항목의 본문 시작 위치에 맞춰 들여씁니다. |
| 구분선 | --- 또는 *** |
| 링크 | [title](https://palantir.com) |
| URL | https://palantir.com |
| 이미지 | . IMAGE_URL은 실제 이미지 주소로 바꿉니다. |
| 작업 목록 | - [ ] Task 1, - [x] Task 2 |
강조와 작업 목록은 일반 Markdown 구현마다 지원이 다를 수 있지만 이 위젯에서는 지원합니다.
테이블
Header와 본문 사이의 구분선에 colon을 넣어 열별 정렬을 정합니다.
| Left aligned | Centered | Right aligned |
| :----------- | :------: | ------------: |
| Row 1 | Data 1 | 1.00 |
| Row 2 | Data 2 | 22.50 |
코드 블록
세 개의 backtick으로 감싸고 시작 부분에 언어를 쓰면 구문을 강조합니다. 다음은 입력으로 받은 경고별 지연 분을 조회하는 Python 코드를 표시하는 예입니다.
```python
def get_flight_delay(delay_minutes_by_alert: dict[str, int], alert_id: str) -> int:
return delay_minutes_by_alert[alert_id]
```
강조색과 HTML
==text==는 고정된 강조색을 사용하며 문법의 속성이나 다른 표기로 색을 바꿀 수 없습니다. HTML을 렌더링하지 않으므로 <mark style="background-color: blue">text</mark>도 글자 그대로 표시합니다.
다른 색이 필요하면 Inline reference의 객체 유형별 Highlight color 또는 Annotation의 레이어별 Highlight color를 구성합니다. 객체 참조는 고정색, 온톨로지 속성 서식 또는 조건부 규칙을, 주석은 고정색 또는 조건부 규칙을 사용할 수 있습니다.
문법을 조합한 가상 공지
다음은 Text 입력에 넣을 수 있는 설명용 공지입니다. 문장과 체크박스의 내용은 예제이며 실제 알림 실행이나 새로고침 설정을 수행하지 않습니다.
# Flight delay summary
## Status
Newark airport has **two high-priority delays** and ==one unresolved alert==.
The *estimated* recovery time is ~~90 minutes~~ 45 minutes.
| Alert | Delay (minutes) | Status |
| :----- | --------------: | :---------: |
| A00150 | 45 | Unresolved |
| A00182 | 20 | Resolved |
> Delay figures are refreshed every 15 minutes.
### Follow-up items
- [x] Notify the gate agents
- [ ] Update the passenger notice board
- [ ] Terminal A
- [ ] Terminal B
Refer to the `flight-alert` object type for the full schema.
[Palantir](https://palantir.com) provides information about the platform.
---
Inline reference 문법
참조는 objectType에 객체 유형 ID, primaryKey에 실제 객체의 기본 키를 지정합니다. 다음 형식의 대문자 값은 그에 맞는 실제 값으로 바꿉니다.
:objectreference[DISPLAY_TEXT]{objectType="OBJECT_TYPE_ID" primaryKey="OBJECT_PRIMARY_KEY"}
예제의 flight-alert 유형과 A00150, A00182 객체를 참조하는 입력입니다.
Newark airport has __*rarely*__ seen flight issues in May, but there were two high-priority delays: :objectreference[Alert A00150]{objectType="flight-alert" primaryKey="A00150"} and :objectreference[Alert A00182]{objectType="flight-alert" primaryKey="A00182"}
필수 구성과 선택
Selected object set은 참조를 선택했을 때 객체를 출력할 필수 변수입니다. Object types에는 본문에서 참조할 모든 유형을 등록합니다. 등록하지 않은 유형은 객체 참조로 동작하지 않고 일반 텍스트로 표시합니다.
유형별 Highlight color는 고정색, 온톨로지 서식이 있는 속성 또는 사용자 규칙으로 정합니다. Override event on selection은 그 유형을 선택할 때 위젯의 일반 선택 이벤트 대신 실행할 동작입니다.
| Selection behavior | 표시 |
|---|---|
| No highlight | 선택 강조 상태를 남기지 않습니다. |
| Highlight last selected | 가장 최근에 선택한 anchor를 강조합니다. |
| Highlight selected reference | Selected object set의 내용에 따라 강조합니다. 다른 위젯과 같은 선택 집합을 사용하고 참조와 객체가 1:1일 때 활용하기 좋습니다. |
Event on selection에는 상세 drawer를 여는 등의 공통 이벤트를 연결합니다.
객체별 색
같은 문법에서 다른 유형을 참조하고 각 유형에 다른 고정 색을 설정할 수 있습니다.
Two delays were reported at :objectreference[Newark]{objectType="airport" primaryKey="EWR"}:
:objectreference[Alert A00150]{objectType="flight-alert" primaryKey="A00150"} and
:objectreference[Alert A00182]{objectType="flight-alert" primaryKey="A00182"}.
airport와 flight-alert를 모두 Object types에 등록합니다. 문법에 color 속성을 추가해도 색을 바꾸지 않습니다. 같은 유형의 서로 다른 객체를 다른 색으로 표시하려면 속성 서식 또는 조건부 규칙을 사용합니다.
객체 참조는 제목이나 테이블 등 다른 Markdown 서식 안에서도 사용할 수 있습니다.
Annotation
주석은 0부터 시작하는 숫자 인덱스를 사용하며 시작을 포함하고 끝은 제외합니다. 음수 인덱스는 지원하지 않습니다. 위젯이 출력한 선택 시작과 끝을 주석의 속성으로 연결하여 사용합니다.
기존 주석
레이어마다 Name, Annotation object set, 포함 시작의 Start index와 제외 끝의 End index 속성을 지정합니다.
Selected annotation에는 현재 선택한 주석 객체를 받을 집합을, On select event에는 선택 이벤트를 연결합니다. Properties to display in tooltip은 포인터를 올렸을 때의 속성입니다.
On hover interactions에서 아이콘, 포인터를 올렸을 때의 Title과 Action 또는 Event를 구성합니다. Hovered object라는 특수 액션 입력으로 해당 주석을 참조할 수 있습니다.
Highlight color는 고정색이나 조건부 규칙을 사용합니다. Annotation formatting은 색 강조, 실선/점선 밑줄 또는 강조와 밑줄을 함께 사용하는 방식입니다.
새 주석
선택한 텍스트에 대해 실행할 아이콘, Title과 Interaction을 정합니다. Highlighted text라는 특수 입력값으로 선택한 내용을 액션에 전달할 수 있습니다. 필요한 시작/끝 속성에는 앞서 구성한 선택 인덱스 변수를 연결합니다.
주석의 저장은 액션, 후속 동작은 이벤트에 따라 구성합니다. 대화형 협업 기록은 Comments, 입력 편집은 Text Input과 연결할 수 있습니다.