-- 이 모듈에서는 [Template]를 구현합니다.[Parameters] (파라미터)] -- [SublimeLinter luacheck-globals : mw ] 현지의 정의들 = { 알트 = { 코드 = '<!--이미지 텍스트 대체; WP:ALT -->', 리스트 = '이미지 대체 텍스트. [[WP:[ALT]'}, 좌표 = { 코드 = '<!--{Coord}} 사용 -->', 리스트 = '{tl Coord} 사용'}, 코디자이너스 = { 코드 = '<!--{Coord}} 사용 -->', 리스트 = '{tl Coord} 사용'}, 네이티브_이름 = { 코드 = '<!--로컬 언어 이름. 여러 개일 경우 구분합니다.' .. '{Plainlist} 사용 {{lang}} 사용, native_name_lang --> 생략', 리스트 = '이름(로컬 언어). 여러 개일 경우 구분합니다.' .. '{tl Plainlist} 사용, {{tl lang}} 사용, {{para native_name_lang}} 생략'}, native_name_module = { 코드 = '<!--언어 2글자 또는 3글자 ISO 코드 -->', 리스트 = '언어 2글자 또는 3글자 ISO 코드'}, start_date = { 코드 = '<!--{시작일 YYY MM DD df=y}} -->', 리스트 = '{tlx 시작일 YYY MM DD df=y} 사용'}, end_date = { 코드 = '<!--{종료일 YYY MM DD df=y}} -->', 리스트 = '{tlx 시작일 YYY MM DD df=y} 사용'}, url = { 코드 = '<!--사용 {{}'URL example.com}}: -->', 리스트 = '{tl URL} 사용'}, 웹 사이트 = { 코드 = '<!--사용 {{}'URL example.com}}: -->', 리스트 = ' {{facebook URL example.com}} 사용'},} 현지의 p = {} 현지의 중복 제거 = 요구하다('모듈:테이블 도구').중복 제거 현지의 네, 아니요 = 요구하다('모듈:네, 아니요.) 현지의 기능. makeInvoke 기능(기능명) 돌아가다 기능.(틀) 현지의 취득하다 = 요구하다('모듈:인수').취득하다 돌아가다 p[기능명](취득하다(틀, {공백 제거 = 거짓의})) 끝. 끝. 현지의 기능. 추출 파라미터(페이지입니다.) 현지의 원천 = 음.직함.신규(페이지입니다., '템플릿'):컨텐츠의 취득() 현지의 파라미터 = {} 위해서 파라미터 에 string.gmatch(원천, '{{(-)%f[} <>'') 하다 table.insert(파라미터, 파라미터) 끝. 돌아가다 중복 제거(파라미터) 끝. 현지의 기능. 지도(티비례, 변혁) 현지의 반환 테이블 = {} 위해서 k, v 에 쌍들(티비례) 하다 반환 테이블[k] = 변혁(v) 끝. 돌아가다 반환 테이블 끝. 현지의 기능. strMap(티비례, 변혁) 현지의 반환 테이블 = 지도(티비례, 변혁) 돌아가다 table.concat(반환 테이블) 끝. 기능. p._체크(args) 현지의 직함 = args.기초 또는 음.직함.get Current Title(전류 제목)().전문 돌아가다 string.format( ' { { # private : } 。알 수 없는 매개 변수를 확인합니다. 알 수 없음=' .. '[카테고리:파라미터가 불분명한 %s을(를) 사용하는 페이지] %s}', 직함, table.concat(추출 파라미터(args.기초), ' ')) 끝. 기능. p._코드(args) 현지의 정의들 = 네, 아니요(args.정의들) 현지의 패드 = 네, 아니요(args.패드) 현지의 파라미터 = 추출 파라미터(args.기초) -- 파라미터에 스페이스 패드를 사용하여 등호를 수직으로 정렬합니다. 한다면 패드 그리고나서 현지의 Length Per Para (파라 길이) = 지도(파라미터, 기능. (파라미터) 돌아가다 string.len을 클릭합니다.(파라미터) 끝.) -- Lua는 폭 지정에 printf <*>를 지원하지 않는 것 같습니다. 현지의 fs = string.format(%%-%ss', math.max(개봉하다(Length Per Para (파라 길이)))) 위해서 i, 파라미터 에 쌍들(파라미터) 하다 파라미터[i] = string.format(fs, 파라미터) 끝. 끝. 현지의 직함 = args.기초 또는 음.직함.get Current Title(전류 제목)().기본 텍스트 돌아가다 string.format([[ <nowiki>{%s %s}}<nowiki>]], 직함, strMap(파라미터, 기능.(s) 한다면 정의들 그리고나서 돌아가다 string.format(' %s = %s\n', s, 정의들[s] 그리고. 정의들[s].코드 또는 '') 또 다른 돌아가다 string.format(' %s =\n', s) 끝. 끝.)) 끝. 기능. p._플랫코드(args) 현지의 파라미터 = 추출 파라미터(args.기초) 현지의 직함 = args.기초 또는 음.직함.get Current Title(전류 제목)().기본 텍스트 돌아가다 string.format(' {{tlp %s %s}}', 직함, strMap(파라미터, 기능.(s) 돌아가다 string.format('%sparam=}}: <var> %s </var>, s, s) 끝.) ) 끝. 기능. p._개요(args) 현지의 세트 = 요구하다('모듈:세트') 현지의 기능. 노멀라이즈패럴(파라미터) 현지의 파라메스 노름 = {} -- 원본이 보관되어 있는 키 룩업 메타블을 준비합니다. -- 정규화된 각 파라미터의 파라미터 이름. -- [test] = {TEST, Test} paramPython과 같은 인덱스 기능 --defaultdict 기본값은 테이블입니다. 현지의 paramIndex(파라미터 인덱스) = 설정 가능한({}, {__인덱스 = 기능.(t, k) 한다면 것은 아니다. 생채기(t, k) 그리고나서 rawset(원래 세트)(t, k, {}) 끝. 돌아가다 생채기(t, k) 끝.}) 위해서 _, 파라미터 에 쌍들(파라미터) 하다 table.insert(파라메스 노름, string.lower(string.gsub(파라미터, '%A', ''))) table.insert(paramIndex(파라미터 인덱스)[ string.lower(string.gsub(파라미터, '%A', ''))], 파라미터) 끝. 파라메스 노름 = 중복 제거(파라메스 노름) -- paramsNorm에서의 오버로드 키 검색.반면 [[ 모듈:[설정] 유언 -- 테이블 상에서 동작합니다(즉, 정규화된 파라미터). --array), 키접근은 파라미터를 경유하여 이루어집니다.인덱스 측정 가능. 설정 가능한(파라메스 노름, {__인덱스 = paramIndex(파라미터 인덱스)}) 돌아가다 파라메스 노름 끝. 현지의 베이스 파라미터 = 추출 파라미터(args.기초) 현지의 기타 파라미터 = 추출 파라미터(args.다른.) 현지의 baseNormParams = 노멀라이즈패럴(세트.가치 보완( 기타 파라미터, 베이스 파라미터)) 현지의 otherNormParams = 노멀라이즈패럴(기타 파라미터) 돌아가다 string.format([동일: %s 유사: %s 상이한 것: %s], strMap(세트.값 교차로(베이스 파라미터, 기타 파라미터), 기능.(v) 돌아가다 string.format('* %s\n', v) 끝.), strMap(세트.값 교차로(baseNormParams, otherNormParams), 기능.(v) 돌아가다 string.format('* %s < %s [ %s ]\n', table.concat(baseNormParams[v], '; '), table.concat(otherNormParams[v], '; '), v) 끝.), strMap(세트.가치 보완(otherNormParams, baseNormParams), 기능.(v) 돌아가다 strMap(baseNormParams[v], 기능.(s) 돌아가다 string.format('* %s\n', s) 끝.) 끝.)) 끝. 기능. p._개요(args) 현지의 직함 = args.기초 그리고. ('_filength=' .. args.기초) 또는 '' 돌아가다 string.format('{{파라미터 이름 example%s %s}}}', 직함, table.concat(추출 파라미터(args.기초), ' ')) 끝. 기능. p._dlist(args) 현지의 정의들 = 네, 아니요(args.정의들, 진실의) 현지의 포맷 해제 = '; %s: %s\n' 현지의 비디포맷 = '; %s:\n' 한다면 args._개요 그리고나서 포맷 해제 = '; {{private %s}: %s\n' 비디포맷 = '; {{module %s}:\n' 끝. 돌아가다 strMap(추출 파라미터(args.기초), 기능.(s) 한다면 정의들 그리고나서 돌아가다 string.format(포맷 해제, s, 정의들[s] 그리고. 정의들[s].리스트 또는 '') 또 다른 돌아가다 string.format(비디포맷, s) 끝. 끝.) 끝. 기능. p._dlistpara(args) args._개요 = 진실의 돌아가다 p._dlist(args) 끝. 기능. p._리스트(args) 돌아가다 strMap(추출 파라미터(args.기초), 기능.(s) 돌아가다 string.format('* %s\n', s) 끝.) 끝. p.확인. = makeInvoke 기능('_체크') p.코드 = makeInvoke 기능('_코드') p.플랫코드 = makeInvoke 기능('_플랫코드') p.비교하다 = makeInvoke 기능('_filename') p.데모 = makeInvoke 기능('_filename') p.리스트 = makeInvoke 기능('_dlist') p.리스트패라 = makeInvoke 기능('_dlistpara') p.목록. = makeInvoke 기능('_리스트') 돌아가다 p