본문으로 이동

틀토론:삭제 토론/핵심/preload

문서 내용이 다른 언어로는 지원되지 않습니다.
새 주제
위키백과, 우리 모두의 백과사전.

현재 틀:삭제 토론 (진행중)/preload의 소스코드에 대한 설명[편집]

아래는 현재(8872082판)의 소스코드입니다.

<noin<includeonly></includeonly>clude>{<includeonly></includeonly>{삭제 토론 상자}}</noin<includeonly></includeonly>clude>

<noinclude><nowiki>==</nowiki></noinclude><includeonly>==</includeonly> [<includeonly></includeonly>[:{<includeonly></includeonly>{풀기:SUBPAGENAME}}]] ==

(삭제 토론을 시작한 이유) --~~<includeonly></includeonly>~~<noinclude>

{{틀 설명문서}}
</noinclude>

mw:Manual:Creating pages with preloaded text에 따르면, <noinclude></noinclude> 태그와 <includeonly></includeonly> 태그가 preload되는 텍스트에서 제외된다고 합니다. 구체적으로는 <noinclude>~</noinclude> 사이에 있는 내용은 이 문서를 직접 볼 때는 보이지만 preload에서는 제외됩니다. 또 <includeonly>~</includeonly> 사이에 있는 내용은 이 문서를 직접 볼 때는 안 보이지만 이 문서를 preload할 때에는 제외됩니다. 그래서 맨 마지막에 {{틀 설명문서}}를 <noinclude>~<noinclude>에 담았습니다.

<noin<includeonly></includeonly>clude> 같은 표기는 preload 시 <noinclude>가 preload에 포함되도록 하는 트릭입니다. preload에서는 <nowiki>~</nowiki>가 제외되지 않기 때문에(<nowiki>~</nowiki> 태그도 preload됨) 이런 식의 트릭을 쓴 것입니다. 소스 첫번째 줄

<noin<includeonly></includeonly>clude>{<includeonly></includeonly>{삭제 토론 상자}}</noin<includeonly></includeonly>clude>

는 삭제 토론 문서에서 preload했을 때 다음과 같이 보입니다.

<noinclude>{{삭제 토론 상자}}</noinclude>

{{삭제 토론 상자}}를 삭제 토론 문서에 추가하되, 삭제 토론 문서가 '위키백과:삭제 토론/xxxx년 xx월' 문서에 삽입됐을 때에는 해당 틀이 보이지 않게 하기 위한 것입니다.

그리고 위 소스 코드의 {<includeonly></includeonly>{나 [<includeonly></includeonly>[ 부분은 preload 시 각각 {{와 [[로 보입니다. 이것들은 preload를 위한 트릭은 아니고, 틀 문서(틀:삭제 토론 (진행중)/preload)를 직접 열람할 때를 위한 트릭입니다. 틀 문서를 직접 열어봤을 때 해당 부분이 위키 문법으로 해석되지 않고 그냥 preload에 들어갈 소스코드가 그대로 보이도록 한 것입니다. 그 밖에 위 소스의 여러 부분에서 이런 식의 트릭을 써서, 틀 문서에서 위키 문법으로 해석되지 않도록 했습니다.

위 소스의

<noinclude><nowiki>==</nowiki></noinclude><includeonly>==</includeonly>

이 부분도 목적은 비슷한데 구조는 다릅니다. <noinclude>~~</noinclude>와 <includeonly>~~</includeonly> 구문을 이용했습니다. 전자는 틀 문서를 열람할 때만 보이고 preload에서는 빠집니다. 반대로, 후자는 preload되는 문서에는 들어가고 틀 문서를 볼 때는 안 보입니다. 결국 <noinclude><nowiki>==</nowiki></noinclude><includeonly>==</includeonly> 부분은 틀 문서/preload 문서 모두 ==로 출력이 되게 하는 장치입니다.

만약 이렇게 복잡하게 쓰지 않고 그냥 ==를 쓸 경우, preload 시에는 문제가 없지만, 틀 문서에서는 ==으로 출력되는 게 아니라 절(section)로 나뉘어서 보입니다(텍스트를 그대로 출력하는 게 아니라 위키 문법으로 해석). 만약 그냥 <nowiki>==</nowiki>라고 할 경우, 틀 문서에서는 정상적으로 출력되지만, 이 문서를 preload한 삭제 토론 문서에서 문제가 됩니다. 그래서 위와 같이 복잡하게 처리하여 양쪽 모두 정상적으로 ==로 출력되도록 복잡하게 표기하였습니다. --Yes0song (토론) 2012년 6월 8일 (금) 21:12 (KST)답변

참고: 위 안내를 작성한 이후에 사소한 변동이 있습니다. --Yes0song (토론) 2012년 6월 9일 (토) 00:34 (KST)답변