모듈:트랜스루더/샌드박스
Module| 모듈 샌드박스 페이지는 다음과 같습니다.트랜슬루더(diff). |
| 이 모듈은 베타판이며 널리 사용할 수 있습니다.아직 새로운 제품이기 때문에 결과가 예상대로 나오도록 주의를 기울여 사용해야 합니다. |
이 모듈은 범용 트랜슬루전 엔진으로 모든 페이지의 모든 부분을 초월할 수 있으며 일반 트랜슬루전에는 제공되지 않는 많은 옵션이 있습니다.
사용.
모듈
모듈의 주요 진입점은get방법.
get( 'Title' )- 요청된 페이지를 가져옵니다(통상적인 변환과 동일한 결과).get( 'Title#' )- 요청된 페이지의 선두 섹션을 가져옵니다.get( 'Title#Section' )- 요청된 섹션 또는 <섹션> 태그를 가져옵니다(서브섹션 포함).
<noinclude> 및 <onlyinclude> 태그는 통상적인 방법으로 처리되며 결과에서 다양한 요소를 제외하기 위한 두 번째 파라미터(옵션)도 있습니다.
get( 'Title#Section', { files = 0 } ): 모든 파일 제외get( 'Title#Section', { files = 1 } ): 첫 번째 파일을 제외한 모든 파일 제외get( 'Title#Section', { files = 2 } ): 두 번째 파일을 제외한 모든 파일 제외get( 'Title#Section', { files = '1,2' } ): 첫 번째 파일과 두 번째 파일을 제외한 모든 파일 제외get( 'Title#Section', { files = '1-3' } ): 첫 번째, 두 번째 및 세 번째 파일을 제외한 모든 파일 제외get( 'Title#Section', { files = '1,3-5' } )- 첫 번째, 세 번째, 네 번째 및 다섯 번째 파일을 제외한 모든 파일 제외get( 'Title#Section', { files = -2 } ): 두 번째 파일 제외get( 'Title#Section', { files = '-2,3' } )- 두 번째 및 세 번째 파일 제외get( 'Title#Section', { files = '-1,3-5' } )- 첫 번째, 세 번째, 네 번째 및 다섯 번째 파일 제외get( 'Title#Section', { files = 'A.png' } ): A.png를 제외한 모든 파일 제외get( 'Title#Section', { files = '-A.png' } ): A.png 제외get( 'Title#Section', { files = 'A.png, B.jpg, C.gif' } ): A.png, B.jpg 및 C.gif를 제외한 모든 파일 제외get( 'Title#Section', { files = '-A.png, B.jpg, C.gif' } )- A.png, B.jpg 및 C.gif 제외get( 'Title#Section', { files = { [1] = true, [3] = true } } ): 첫 번째 및 세 번째 파일을 제외한 모든 파일 제외get( 'Title#Section', { files = { [1] = false, [3] = false } } ): 첫 번째 및 세 번째 파일 제외get( 'Title#Section', { files = { ['A.png'] = false, ['B.jpg'] = false } } ): A.png 및 B.jpg 제외get( 'Title#Section', { files = '.+%.png' } ): PNG 파일을 제외한 모든 파일 제외(Lua 패턴 참조)get( 'Title#Section', { files = '-.+%.png' } ): 모든 PNG 파일 제외
동일한 구문을 사용하여 다른 많은 요소를 제외할 수 있습니다.
get( 'Title#Section', { sections = 0 } ): 모든 서브섹션 제외get( 'Title#Section', { sections = 'History, Causes' } )- '이력' 및 '원인'을 제외한 모든 하위 섹션 제외get( 'Title#Section', { lists = 1 } ): 첫 번째 목록을 제외한 모든 목록 제외get( 'Title#Section', { tables = 'stats' } ): ID가 'stats'인 테이블을 제외한 모든 테이블get( 'Title#Section', { paragraphs = '1-3' } )- 첫 번째, 두 번째 및 세 번째 단락을 제외한 모든 단락 제외get( 'Title#Section', { references = 0 } ): 모든 참조 제외get( 'Title#Section', { categories = '0' } ): 모든 카테고리 제외get( 'Title#Section', { templates = '-.+infobox' } ): 정보 상자 템플릿 제외get( 'Title#Section', { parameters = 'image' } ): 'image'라는 이름의 템플릿을 제외한 모든 템플릿에서 모든 파라미터를 제외합니다.
옵션을 자유롭게 조합할 수 있습니다.예를 들어 다음과 같습니다.
get( 'Title#Section', { sections = 0, files = 1, paragraphs = '1-3' } )- 모든 서브섹션, 첫 번째를 제외한 모든 파일 및 첫 번째 3개 문단을 제외합니다.
또한 다음과 같은 일부 요소만 얻을 수 있습니다.
get( 'Title#Section', { only = 'files' } )- 파일만 가져옵니다.get( 'Title#Section', { only = 'lists', lists = 1 } )- 첫 번째 목록만 가져옵니다.get( 'Title#Section', { only = 'tables', tables = 'stats' } )- ID가 'stats'인 테이블만 가져옵니다.get( 'Title#Section', { only = 'paragraphs', paragraphs = '1,3-5' } )- 첫 번째, 세 번째, 네 번째 및 다섯 번째 단락만 가져옵니다.get( 'Title#Section', { only = 'templates', templates = 'Infobox' } )- 정보 상자만 가져옵니다.
출력은 몇 가지 특별한 옵션을 사용하여 추가로 변경할 수 있습니다.
get( 'Title#Section', { noFollow = true } )- 리다이렉트를 따르지 않음get( 'Title#Section', { linkBold = true } )- 굵은 글씨 제목 또는 동의어를 텍스트 시작 부분에 링크합니다.get( 'Title#Section', { noBold = true } )- 굵은 글씨 텍스트 삭제get( 'Title#Section', { noSelfLinks = true } )- 셀프링크 삭제get( 'Title#Section', { noBehaviorSwitches = true } )- 다음과 같은 동작 스위치를 제거합니다.__NOTOC__get( 'Title#Section', { fixReferences = true } ): 참조 이름에 '제목'을 붙이면 트랜슬레이스 시 이름 경합을 피할 수 있습니다.또한 요청된 섹션 밖에서 정의된 참조를 복구하여 정의되지 않은 참조 오류를 방지할 수 있습니다.
그 외에getmethod, 모듈은 Wikitext의 특정 부분을 얻기 위해 몇 가지 다른 방법을 공개합니다.이것에 의해, 다른 모듈에서는 보다 고도의 방법으로 요소를 조합할 수 있습니다.
템플릿
템플릿의 주요 진입점은main방법.기본적으로는 의 포장지입니다.get템플릿에 사용할 수 있도록 하는 방법을 지정합니다.의 메뉴얼을 참조해 주세요.get방법을 참조하십시오.
{{#invoke:Transcluder main Title}}: 요청된 페이지를 제외합니다.{{#invoke:Transcluder main Title#}}- 요청된 페이지의 선두 섹션을 제외합니다.{{#invoke:Transcluder main Title#Section}}- 요청된 섹션 또는 <섹션> 태그를 가져옵니다(서브섹션 포함).{{#invoke:Transcluder main Title#Section sections=0}}: 서브섹션을 제외하고 요청된 섹션을 변환합니다.{{#invoke:Transcluder main Title only=files files=1}}- 페이지의 첫 번째 파일만 변환{{#invoke:Transcluder main Title#Section only=tables tables=2}}: 요청된 섹션의 두 번째 테이블만 변환합니다.{{#invoke:Transcluder main Title# only=paragraphs linkBold=yes}}- 선두 섹션의 단락만 생략하고 굵은 글씨로 링크합니다.
-- 모듈:트랜슬루더는 범용 트랜슬루전 엔진입니다. -- 매뉴얼 https://www.mediawiki.org/wiki/Module:Transcluder -- 사용자별:Sophivorus, 사용자:증명서 및 기타 -- 버전 1.2 -- 라이선스 CC-BY-SA-3.0 현지의 p = {} -- helper 함수로 truthy 및 false 값을 테스트합니다. -- @to do 어떻게든 국제화 시켜라 현지의 기능. 밧테리(가치) 한다면 것은 아니다. 가치 또는 가치 == '' 또는 가치 == 0 또는 가치 == '0' 또는 가치 == 'false' 또는 가치 == '아니요' 또는 가치 == '없음' 그리고나서 돌아가다 거짓의 끝. 돌아가다 진실의 끝. -- 정규 표현 목록에서 일치시키는 도우미 함수 - 이렇게 : 매치프리..리스트[1]..투고 또는 프리..리스트[2]..투고 또는 ... 현지의 기능. match Any(임의)(본문, 미리, 목록., 포스트., 초기화) 현지의 경기 = {} 위해서 i = 1, #목록. 하다 경기 = { 음.스트링.경기(본문, 미리 .. 목록.[i] .. 포스트., 초기화) } 한다면 경기[1] 그리고나서 돌아가다 개봉하다(경기) 끝. 끝. 돌아가다 제로 끝. -- match Any와 비슷하지만 오버헤드가 적은 카테고리/파일 링크는 제외합니다. 현지의 기능. match AnyLink(본문, 목록.) 현지의 경기 위해서 _, v 에 아이페어(목록.) 하다 경기 = string.match(본문, %[%[%s*] .. v .. '%s*:.*%]%]') 한다면 경기 그리고나서 브레이크. 끝. 끝. 돌아가다 경기 끝. -- 정규식에서 사용할 문자열을 이스케이프하는 도우미 함수 현지의 기능. 이스케이프 스트링(스트레이트) 돌아가다 string.gsub(스트레이트, '[%^%$%(%)%.%[%]%*%+%-%?%%]', '%%%0') 끝. -- 텍스트에서 문자열을 삭제하는 도우미 기능 현지의 기능. remove String(스트링 제거)(본문, 스트레이트) 현지의 양식 = 이스케이프 스트링(스트레이트) 한다면 #양식 > 9999 그리고나서 -- 10000바이트보다 긴 문자열은 정규식에 넣을 수 없습니다. 양식 = 이스케이프 스트링(음.스트링.후보선수(스트레이트, 1, 999)) .. '.-' .. 이스케이프 스트링(음.스트링.후보선수(스트레이트, -999)) 끝. 돌아가다 string.gsub(본문, 양식, '') 끝. -- 쉼표로 구분된 숫자 목록 또는 min-max 범위를 부언 목록으로 변환하는 도우미 함수 -- @param flags 쉼표로 구분된 숫자 또는 최소값 범위 목록(예: '1, 3-5') -- @return 정수에서 부울란으로 매핑합니다(예: {1=true, 2=false, 3=true, 4=true, 5=true). -- @return 플래그가 블랙리스트로 처리되는지 여부를 나타내는 부울입니다. 현지의 기능. 해석 플래그(가치) 현지의 플래그 = {} 현지의 블랙리스트 = 거짓의 한다면 것은 아니다. 가치 그리고나서 돌아가다 제로, 거짓의 끝. 한다면 유형(가치) == '숫자' 그리고나서 한다면 가치 < > 0 그리고나서 가치 = -가치 블랙리스트 = 진실의 끝. 플래그 = { [가치] = 진실의 } 그렇지 않으면 유형(가치) == '문자열 그리고나서 한다면 스트링.서브(가치, 1, 1) == '-' 그리고나서 블랙리스트 = 진실의 가치 = 스트링.서브(가치, 2) 끝. 현지의 범위 = 음.본문.분열되다(가치, ',') -- 스플릿 범위: '1,3-5' ~ {'1', 3-5'} 위해서 _, 범위 에 쌍들(범위) 하다 범위 = 음.본문.다듬다(범위) 현지의 분, 맥스. = 음.스트링.경기(범위, '^(%d+)%s*[-]%s*(%d+)