본문 바로가기
미디어위키

(번역) Transclusion

by 다움위키 2024. 12. 1.
Original article: mw:Transclusion

전달-삽입(Transclusion)은 일반적으로 참조에 의해 문서의 내용을 또 다른 문서에 포함하는 것입니다. 위키 맥락에서, 이는 미디어위키의 템플릿 기능을 사용하여 해당 문서를 별도로 편집하지 않고도 여러 문서에 같은 내용을 포함하는 것입니다.

How transclusion works

(위키피디아와 같은 단일 미디어위키 프로젝트 내의) 임의의 원본 페이지를 또 다른 목표 페이지로 전달-삽입하기 위해, 다음 코드를 포함하십시오: {{SOMEPAGE}}

목표 페이지 A가 렌더링될 때마다, 원본 페이지 B (이 경우에서, SOMEPAGE)의 전체 내용이 전달-삽입 태그가 배치된 위치에서 렌더링됩니다.

예를 들어, 모든 각 신규 사용자의 토론 페이지에 환영 메시지를 게시하기로 결정할 수 있습니다. 전달-삽입은 템플릿 페이지와 메시지가 표시되어야 하는 목표 페이지 사이에 "live" 링크를 만듭니다. 템플릿이 편집될 때, 모든 목표 페이지도 편집됩니다.

우편 주소가 있는 (템플릿) 페이지를 만들고 해당 템플릿을 자신의 페이지뿐만 아니라 모든 친구의 페이지에도 포함하기로 결정할 수도 있습니다. 텔레비전과 소파를 또 다른 아파트로 옮길 때, 주소 템플릿을 변경할 수 있고, 해당 새 정보는 모든 친구의 페이지에 자동으로 업데이트될 것입니다.

Transclusion Markup & Syntax

원본이 템플릿 이름공간 (예를 들어, "Template:Welcome")에 있으면, 이름 자체만 사용합니다: {{Welcome}}

원본이 주요 기사 이름공간 (예를 들어, "VisualEditor")에 있으면, 이름 앞에 콜론 (:)을 추가해야 합니다: {{:VisualEditor}}

원본이 다른 이름공간 (예를 들어, "User:Example")에 있으면, 이름공간을 포함한 전체 이름을 사용해야 합니다: {{User:Example}}

원본이 목표 페이지의 하위 페이지 (예: "Transclusion/ko")에 있으면, 이름공간에 관계없이 하위 페이지의 이름을 간단히 지정할 수 있습니다: {{/ko}}

Etymology

테드 넬슨은 1982년 저서 Literary Machines에서 "hypertext", "hypermedia"와 함께 "transclusion"이라는 용어를 만들어냈습니다.

Partial transclusion

마크업 "noinclude", "onlyinclude", 및 "includeonly"을 사용함으로써, 전체가 아닌 페이지의 일부를 전달-삽입할 수 있습니다. 그러한 부분 전달-삽입은 하위 페이지와 같은 다른 페이지에서 전달-삽입함으로써 수행될 수도 있습니다. 종종 템플릿 문서 및 카테고리와 같은 일부 정보는 전달-삽입하지 않는 것이 바람직합니다.

Examples of when to use full versus partial transclusion

원본 페이지의 전체 내용을 목표 페이지에 포함하기를 원할 경우 전체 전달-삽입을 사용합니다. 예를 들어 사과에 대한 페이지의 전체 내용을 과일 나무에 대한 페이지에 포함할 수 있습니다. 원본 페이지의 일부만 목표 페이지에 포함하기를 원할 경우 부분 전달-삽입을 사용합니다. 예를 들어 사과에 대한 페이지에서 Granny Smith 사과에 대한 정보만 베이킹에 일반적으로 사용되는 재료에 대한 페이지에 포함할 수 있습니다.

Partial transclusion markup

  • noinclude - 마크업 <noinclude>...</noinclude>은 태그 사이의 텍스트가 원본 페이지에서만 볼 수 있고 또 다른 페이지로는 전달-삽입할 수 없음을 의미합니다. 이것은 템플릿 문서와 카테고리에 유용합니다.
  • includeonly - 마크업 <includeonly>...</includeonly>은 태그 사이의 텍스트가 원본 페이지에서 숨겨지고 또 다른 페이지에 전달-삽입될 때만 표시됨을 의미합니다. 이것은, 예를 들어, 템플릿 자체를 이들 카테고리에 추가 없이 템플릿을 전달-삽입하는 페이지에 카테고리를 추가하는 데 유용할 수 있습니다.
  • onlyinclude - 마크업 <onlyinclude>...</onlyinclude>은 태그 사이의 텍스트가 원본 페이지에서 표시되고 또 다른 페이지에 전달-삽입될 때 표시됨을 의미합니다. 이것은 다른 전달-삽입 태그보다 종종 우선하기 때문에 부분 전달-삽입 태그 중에서 가장 미묘합니다. 만약 페이지에 "onlyinclude" 태그 쌍이 하나 이상 있으면, 이 페이지가 전달-삽입될 때마다 "onlyinclude" 태그 내의 자료만 전달-삽입됩니다. 페이지에 그러한 "onlyinclude" 섹션이 여러 개 있을 수 있습니다. 이것은, 예를 들어, 한 페이지의 작은 부분을 다른 페이지에서 반복하는 데 유용할 수 있습니다: 작은 부분을 onlyinclude 태그로 둘러싼 다음 두 번째 페이지에 전달-삽입하기만 하면 됩니다.
<noinclude>, <includeonly>, 및 <onlyinclude>는 <nowiki> 태그 내부에서 다르게 행동합니다. nowiki 태그는 특수 마크업을 탈출하는 것을 활성화하고, <noinclude>와 <includeonly> 태그에 대해 이것을 수행합니다. 어쨌든, <nowiki> 태그 내부에 <onlyinclude> 태그는 <onlyinclude> 태크 내부에 컨텐츠만 생성합니다.

세 가지 유형의 전달-삽입 모두를 서로 중첩할 수 있으므로, 현재 페이지에 어떤 컨텐츠를 표시할지, 전달-삽입된 페이지에 어떤 컨텐츠를 표시할지 정확하게 결정할 수 있습니다.

Subpages

하위 페이지에 삽입할 텍스트를 잘라내어 붙여넣은 다음, 전달-삽입 템플릿에서 하위 페이지의 이름을 사용할 수 있습니다. 이 접근 방식은 하위 페이지가 활성화된 경우에만 사용할 수 있습니다; 예를 들어, 영어 위키피디아에서, 하위 페이지는 User, Talk 또는 Wikipedia 페이지에서만 사용할 수 있습니다; 현재, 하위 페이지는 주요 기사 페이지에서 만들 수 없습니다.

예제: Pussycat을 삭제하고 Cat으로 리다이렉션하는 것에 대해 논의하고 싶습니다. 먼저, 하위 페이지 Talk:Pussycat/Let's delete Pussycat!를 만들고, 여기에 댓글을 쓴 다음, 템플릿 {{Talk:Pussycat/Let's delete Pussycat!}}을 사용하여 Talk:PussycatTalk:Cat에 전달-삽입합니다. 두 토론 페이지에 게시된 댓글은 두 페이지에 모두 표시됩니다.

Special pages

See also:w:Wikipedia:Transclusion#Special pages and Manual:$wgAllowSpecialInclusion

Special:Specialpages에서 일부 페이지는 전달-삽입될 수 있습니다. 예를 들어:

표본: {{Special:Newpages/3}}는 3개의 새로운 페이지를 제공합니다.

URL 매개변수는 템플릿 매개변수처럼 제공될 수 있습니다. 예를 들어, {{Special:RecentChanges|namespace=10|limit=5}}.

Alternatives to transclusion by template

가끔은 템플릿을 사용하고 싶지만, 어떤 이유로든 전달-삽입을 사용하고 싶지 않을 수도 있습니다. 템플릿의 코드/텍스트를 템플릿 태그의 위치로 자동으로 한 번 복사하는 것을 템플릿 대체 또는 대체-전달삽입 (substitution + transclusion)이라고 합니다. 템플릿의 코드/텍스트를 대체-전달삽입하기 위해, 템플릿 태그를 표준 전달-삽입 태그에서 대체 태그로 수정하는데, 간단히 subst:를 추가하여, {{subst:template name}} 형식의 태그를 만듦으로써 수행됩니다.

Labeled Section Transclusion

Labeled Section Transclusion이라는 확장 기능을 사용하면 표시된 텍스트 섹션을 전달-삽입할 수 있습니다.

Scribunto

Lua와 Scribunto 확장 기능을 사용하여 페이지 컨텐츠 또는 일부만 전달-삽입할 수 있습니다. 이 위키의 예제에 대해 Module:Transcluder를 참조하십시오.

Semantic MediaWiki

Semantic MediaWiki extension 기능은 인라인 쿼리를 사용하여 의미 데이터를 쿼리하고 표시합니다. 현재 전달-삽입 또는 이와 유사한 작업을 수행하는 방법은 두 가지가 있습니다:

  1. 적절한 전달-삽입. "embedded" 표시 형식은 선택된 페이지 (주요공간 기사, 템플릿, 등)가 전달-삽입되도록 보장합니다. 템플릿과 마찬가지로 noinclude 태그 사이에 배치된 섹션은 누락될 것입니다.
  2. 페이지에서 선택된 구절에는 'Text' 유형의 속성이 할당될 수 있습니다. 이들 선택은 이 유형의 속성에 대한 인라인 쿼리를 실행함으로써 요청할 수 있습니다.

자세한 내용에 대해 inline queries를 참조하십시오.

Pages related to MediaWiki transclusion

Templates

See also