도움말:문서 끼워넣기
이 문서는 L위키의 정보문입니다. 이 문서는 정책과 지침은 아니지만, L위키의 규범과 관습 측면에서 공동체의 확립된 관행이나 기술적인 정보 등을 설명하고 있습니다. |
L위키에서는 {{ }}
문법을 써서, 한 문서를 다른 문서 안에 끼워넣을(transclude) 수 있습니다. 이는 HTML의 아이프레임과 비슷한 일을 합니다. 보통 틀을 사용하는 데 씁니다.
- 일반 문서를 끼워넣을 때는 문서 이름 앞에 쌍점을 찍습니다(
{{:오렌지}}
). - 틀 문서는 ‘틀:’을 뺍니다(
{{스포일러}}
). - 다른 문서는 문서 이름을 그대로 씁니다(
{{L위키:다섯 원칙}}
).
이와 같은 문법을 사용하여 저장한 이후, 나중에 다시 문서의 소스를 보면 해당 문서의 원래 내용 대신, ‘{{스포일러}}
’와 같은 끼워넣기 문법만 그 자리에 위치해 있습니다. 위키백과는 이러한 끼워넣기 문법을 만나면 문서의 원래 내용을 자동으로 가져와서 사용자에게 보여줍니다.
끼워넣어진 문서의 내용이 바뀌면, 끼워넣은 위치의 내용도 그에 따라 자동으로 바뀝니다.
작동 원리[편집 | 원본 편집]
같은 내용을 다른 문서에 끼워넣으려면 다음과 같이 하면 됩니다:
{{문서이름}}
만약 문서 A에 이런 내용이 있다면 바로 그 자리에 언급된 문서이름인 B의 내용이 채워집니다.
부분 끼워넣기[편집 | 원본 편집]
틀이나 문서의 일부만을 끼워 넣는 것도 가능합니다. 이는 noinclude, includeonly, onlyinclude 등 세 종류의 미디어위키 전용 태그를 이용해서 구현할 수 있습니다. 각 태그의 역할은 다음과 같습니다.
- noinclude
- 이 태그로 감싼 부분은 다른 문서에 끼워 넣어지지 않습니다. 끼워 넣어지는 부분에 의도하지 않은 줄바꿈이 들어가지 않도록 주의해야 합니다.
- includeonly
- 이 태그로 감싼 부분은 그 문서 자체에서는 나타나거나 적용되지 않고, 다른 문서에 끼워넣어질 때에만 나타납니다. 이 태그 안에 분류 위키태그를 넣으면 문서(틀) 자체에는 분류를 적용하지 않으면서 그 문서(틀)를 끼워넣은 문서에 분류를 적용할 수 있습니다.
- onlyinclude
- 이 태그로 감싼 부분은 끼워 넣어지며 바깥 부분은 끼워 넣어지지 않습니다. 끼워 넣어지는 부분에 의도하지 않은 줄바꿈이 들어가지 않도록 주의해야 합니다.
유의점[편집 | 원본 편집]
- 시작한 태그가 일단 닫힌 다음에 다른 태그를 시작해야 합니다.
- 부분 끼워넣기 태그를 쓸 때에는 끼워 넣어질 부분의 줄바꿈에 유의해야 합니다. 아래 표에서 줄바꿈이 생기는 코드는 끼워 넣었을 때 줄바꿈이 추가되어 문서 모양이 이상해질 수 있습니다.
구분 | 줄바꿈 없는 코드(권장) | 줄바꿈 생기는 코드 |
---|---|---|
noinclude | 틀 내용<noinclude>
|
틀 내용
|
onlyinclude | <onlyinclude>틀 내용</onlyinclude>
|
<onlyinclude>틀 내용
|
사용 예[편집 | 원본 편집]
기본 사용 예[편집 | 원본 편집]
코드 | 틀 문서에서 | 끼워 넣은 문서에서 |
---|---|---|
가<noinclude>나</noinclude> |
가나 | 가 |
가<onlyinclude>나</onlyinclude> |
가나 | 나 |
가<includeonly>나</includeonly> |
가 | 가나 |
복합 사용 결과[편집 | 원본 편집]
코드 | 틀 문서에서 | 끼워 넣은 문서에서 | 비고 |
---|---|---|---|
가<onlyinclude>나<noinclude>다</noinclude></onlyinclude> |
가나다 | 나 | |
가<onlyinclude>나<includeonly>다</includeonly></onlyinclude> |
가나 | 나다 | |
가<noinclude>나<onlyinclude>다</onlyinclude></noinclude> |
가나다 | 다 | 안쪽의 onlyinclude 우선. |
가<noinclude>나<includeonly>다</includeonly></noinclude> |
가나 | 가 | '다' 부분은 어디에서도 나타나지 않음. |
가<includeonly>나<onlyinclude>다</onlyinclude></includeonly> |
가 | 다 | '나' 부분은 어디에서도 나타나지 않음. |
가<includeonly>나<noinclude>다</noinclude></includeonly> |
가 | 가나 | '다' 부분은 어디에서도 나타나지 않음. |
자주 쓰이는 코드[편집 | 원본 편집]
코드 | 비고 |
---|---|
틀 내용<noinclude>{{설명문서}}</noinclude> |
{{설명문서}}는 설명 문서의 내용을 가져와 보여줌. |
<onlyinclude>틀 내용</onlyinclude>{{설명문서}}
| |
틀 내용<noinclude>틀 설명, 틀 분류 및 다국어 링크</noinclude> |
설명 문서의 내용을 틀 자체에 포함. |
<onlyinclude>틀 내용</onlyinclude>틀 설명, 틀 분류 및 다국어 링크
| |
틀 내용<includeonly>문서 분류</includeonly><noinclude>{{설명문서}}</noinclude> |
(권장 방식) 문서 분류는 끼워 넣어지면 적용됨. |
<onlyinclude>틀 내용<includeonly>문서 분류</includeonly></onlyinclude>{{설명문서}}
|
문서 풀어넣기[편집 | 원본 편집]
문서 풀어넣기는 풀기: 를 이용해 문서의 내용을 직접 끼워 넣는 방법입니다. 사용법은, 원래 끼워넣기 문법에서 {{ 다음에 풀기: 또는 subst: 를 넣으면 됩니다.
- {{풀기:고양이}}
- {{풀기:생물 분류}}
- {{풀기:위키백과:길라잡이}}
이와 같은 문법을 사용하여 저장한 이후, 나중에 다시 문서의 소스를 보면 끼워넣기 문법과는 다르게 풀기 문법은 사라져 있고 그 자리에 문서의 원래 내용이 그대로 복사되어 들어가 있습니다. 그러므로,
- 대체된 문서의 내용이 바뀌어도, 끼워넣은 위치의 내용에는 영향을 주지 않습니다.
- 넘겨주기 문서라면 넘겨받은 문서의 내용이 출력됩니다.
틀을 만들 때의 고려사항[편집 | 원본 편집]
풀어넣기를 이용해 틀을 쓰면 틀 안에 포함된 다른 틀이나 특수 명령문의 코드가 그대로 문서에 쓰여집니다. 코드 대신 실행 결과가 문서에 쓰이게 하려면 틀을 만들 때 풀기:
를 사용하면 됩니다. 단, 틀을 편집하면서 풀기:
를 그대로 쓰면 편집과 동시에 목적 틀이 풀려버리기 때문에 곤란합니다. 이를 해결하는 방법으로, 풀기:
를 includeonly 위키태그로 감싸서 <includeonly>풀기:</includeonly>
와 같이 쓰는 방법이 있고, 매개변수 형식을 이용해서 {{{|풀기:}}}
처럼 쓰는 방법이 있습니다. 예를 들어 다음과 같은 내용으로 A틀을 불러오는 틀을 만들고 이 틀을 다른 문서에서 풀어 쓰면 A틀의 결과가 문서에 쓰여집니다.
{{{{{|풀기:}}}A}}
이렇게 실행 결과가 풀어지도록 만든 틀은 풀어 쓰지 않고 끼워넣어 썼을 때는 해당 부분이 실행되지 않고 {{풀기:A}}
처럼 문자열 그대로 출력되는 문제점이 있습니다. 이를 해결하려면 풀기:
대신 안전풀기:
를 쓰면 됩니다. 안전풀기:
를 위와 같은 방식으로 쓰면, 끼워넣어 썼을 때는 실행되고 풀어서 썼을 때는 실행 결과가 풀어집니다.
틀 안에 또다른 틀·기본 틀·특수함수를 넣는 방식, 그리고 그 틀을 불러오는 방식에 따른 결과를 정리하면 다음과 같습니다.
틀 내부에 쓰인 방식 | 틀을 끼워넣었을 때의 결과 | 틀을 풀어넣었을 때의 결과 |
---|---|---|
끼워넣기 | 실행됨 | 코드가 풀림 |
{{{|풀기:}}} , <includeonly>풀기:</includeonly> |
문자열 그대로 출력 | 결과가 풀림 |
{{{|안전풀기:}}} , <includeonly>안전풀기:</includeonly> |
실행됨 | 결과가 풀림 |