Cloudwiki/기능/틀
# 개요
Cloudwiki는 동일한 내용을 여러 문서에 삽입하고, 한번의 문서 수정으로 해당 부분들이 전체 자동 수정되게 만드는 틀 (트랜스클루전) 기능을 지원합니다.
틀 내부에 파라미터를 설정하고, 문서별로 다른 내용을 입력하는 방식도 사용 가능합니다.
# 틀 작성 방법
제목이 `틀:` 로 시작하는 문서를 생성하고, 여러 문서에 동일하게 적용하고 싶은 내용을 작성합니다.
여러 주제가 공유하는 공통된 설명문, 주의사항등 내용을 틀로 만들어 관리하는것을 권장합니다.
틀 내부의 내용을 동적으로 바꿔야 한다면, 틀 내부에 `{{{파라미터 이름}}}` 을 입력하세요.
# 틀 삽입
[[Cloudwiki/위키 문법 가이드#3.2]] 문서를 참고하세요.
# 틀 예시
`{{틀:테스트}}`
---
테스트 틀입니다
```
틀 내부 코드블럭 테스트
```
테스트용 틀 끝
---
`{{틀:파라미터테스트|이름=하츠네미쿠|나이=16|성별=여}}`
참고 : 표의 병합된 셀은 빈칸으로 표시됩니다
| 프로필 | |
| --- | --- |
| 이름 | 하츠네미쿠 |
| 나이 | 16 |
| 성별 | 여 |
# 틀 조건문
틀 파라미터 값에 따라 출력 내용을 다르게 만들고 싶을 때, 조건문을 사용할 수 있습니다. 주로 틀 본문에서 `{{{파라미터}}}` 값에 따라 출력을 분기할 때 사용합니다.
세 가지 조건문을 지원하며, 복잡한 계산은 하지 않고 **글자·숫자 비교를 바탕으로 한 단순한 분기**만 수행합니다.
## 조건 분기 (#if)
`{{#if: 조건 | 참일때 | 거짓일때}}`
조건 텍스트가 (앞뒤 공백 제거 후) 비어있지 않으면 *참일때* 를, 비어있으면 *거짓일때* 를 출력합니다. *거짓일때* 는 생략할 수 있습니다.
```
{{#if: {{{별명|}}} | (별명: {{{별명}}}) }}
```
→ `별명` 파라미터가 채워져 있으면 `(별명: ...)` 을 출력하고, 비어 있으면 아무것도 출력하지 않습니다.
## 값 비교 (#ifeq)
`{{#ifeq: A | B | 같을때 | 다를때}}`
A 와 B 가 같으면 *같을때* 를, 다르면 *다를때* 를 출력합니다. 양쪽이 모두 숫자면 수치로 비교하고(`1` 과 `1.0` 은 같음), 아니면 문자열로 비교합니다.
```
{{#ifeq: {{{성별|}}} | 여 | 그녀 | 그 }}
```
## 다중 분기 (#switch)
`{{#switch: 값 | 키1 = 결과1 | 키2 = 결과2 | #default = 기본값}}`
*값* 과 일치하는 첫 번째 케이스의 결과를 출력합니다. 일치하는 케이스가 없으면 `#default` 의 값을, `#default` 도 없으면 아무것도 출력하지 않습니다. 빈 문자열에 대응하려면 키 없이 `= 결과` 처럼 적습니다.
```
{{#switch: {{{등급|}}}
| S = 🥇 최상위
| A = 🥈 상위
| B = 🥉 중위
| #default = 일반
}}
```
> 조건·비교에 쓰는 값은 그 시점의 *문자열* 로 처리됩니다. 즉 조건 안에서 다른 틀(`{{다른틀}}`)을 불러온 *표시 결과* 에 따라 분기할 수는 없으며, 보통은 `{{{파라미터}}}` 값을 기준으로 분기합니다.
# 틀 수정
틀 문서를 수정하면, 해당 틀을 포함한 문서들에서 틀로 가져와 표시하는 내용에 일괄적으로 반영됩니다.