모듈:템플릿 데이터 포맷
Module| 이 모듈은 다음 다른 모듈에 의존합니다. |
' – 템플릿 문서화를 위한 보조 기능을 갖춘 모듈, 특히 TemplateData에 의한 모듈Format TemplateData.
주요 기능은 문서 페이지의 프레젠테이션 개선입니다.
템플릿 문서 페이지 개선– MediaWiki 실망
VisualEditor 계약에서 템플릿 묘사를 제시하기 위해 모든 마크업과 클릭 가능한 링크를 폐기하고 모든 환경에서 모든 툴팁을 사용할 수 있도록 했습니다.마크업과 클릭 가능한 링크가 있는 툴팁이 HTML 어플리케이션으로 지원되고 있으며 VisualEditor를 사용할 때는 JavaScript가 존재하지만 기본적으로는 타당합니다.
- 그 결과 템플릿 문서 뷰에서의 프레젠테이션도 효과적인 링크나 마크업을 포함할 수 없게 되었습니다.
- 많은 템플릿 매뉴얼페이지에서는 2개의 독립된 파라미터 매뉴얼테이블이 필요하며 동시에 유지관리해야 합니다.VisualEditor용 플레인텍스트 버전 1개로 링크와 마크업, 리스트와 테이블이 있는 복잡한 환경에 도움이 됩니다.– BTW, Visual Editor는 툴팁뿐만 아니라 정적 GUI 뷰도 갖추고 있습니다.이 경우 파라미터 설명에 심도 있는 링크가 존재하지 않습니다.
이 상태는 방어할 수 없습니다.
프레젠테이션 개선
MediaWiki에서 지원되며 VisualEditor에 표시되는 간단한 구문 외에 템플릿 문서 페이지의 JSON 코드에 다음 기능을 추가할 수 있습니다.InterfaceText로 분류된 요소에 영향을 미치지만 설명 필드에만 유용합니다.
Wikilinks(내부 형식)
- 이중 대괄호 사용 시 공통으로 페이지를 연결할 수 있습니다.
- VisualEditor 에서는 링크 제목만 표시되며, 링크 제목만 표시됩니다.
외부 링크(URL 형식)
- 열려 있는 URL은, 그 자체로 통상과 같이 링크 됩니다.VisualEditor에서는 일반 텍스트로 표시됩니다.
- 간단한 대괄호로 둘러싸인 외부 링크는 템플릿 문서 페이지에 정상적으로 표시됩니다.VisualEditor에서는 제목이 생략되고 URL이 표시되므로 사용자는 이를 c&p하여 브라우저의 주소 필드로 전송할 수 있습니다.그 밖에 다른 방법이 없다.
아포스트로프 '이탤릭체와 볼드체
- 문서 페이지에서 강조하기 위해 사용할 수 있으며 VisualEditor(일반 스크립트)에는 없습니다.
HTML 엔티티
- 다음 엔티티를 사용할 수 있습니다.
< > & " 및 모든 숫자 형식.
HTML 태그
- HTML 태그(및 미리 대체되지 않은 MediaWiki 요소)는 VisualEditor에서 제거됩니다.그렇지 않으면 유효합니다.
- Atribute는 대부분의 경우 에 포함됩니다.
"JSON 구문과 경합합니다.확실히 하는 것이 중요합니다.'템플릿 트랜슬레이션에 문제가 있을 수 있습니다.
<noexport>…</noexport>
- 둘러싸인 영역은 VisualEditor로 내보내지 않습니다.
- 보다 복잡한 Wiki 구문 및 자세한 설명은 문서 페이지로 제한될 수 있습니다.
- no export 영역 내에서는 소스 텍스트의 회선 구조가 고려됩니다.그렇지 않으면 VisualEditor에도 표시되므로 모든 것이 한 줄로 실행됩니다.
템플릿
- 특히 템플릿 파라미터가
JSON=를 사용하면 템플릿을 JSON 코드의 임의의 장소에 배포할 수 있습니다.그러나 확장된 구문이 JSON 구문과 충돌할 수 있습니다.
효과 향상
- 상태(필수, 제안, 옵션, 권장되지 않음)에 따라 테이블 행이 밝은 파란색, 흰색, 회색 및 옅은 빨간색으로 강조 표시됩니다.
- 상태별로 정렬할 때는 키워드의 알파벳 순서가 아니라 이 중요도가 고려됩니다.
- 각 파라미터는 점프처로 지정할 수 있습니다.그 조각은
#templatedata:parameter-name 입니다. - 누락된 라벨은 오류로 강조 표시됩니다.
- 오류가 발생하면 유지 보수 범주가 트리거됩니다.
- 파라미터가 없는 경우 요소는
params:{}는 필수가 아닙니다.
단점 제거
2013-2017년에는 두 가지 측면이 특히 방해가 되는 것으로 나타났다.
- 파라미터가 전혀 정의되어 있지 않은 경우에도 내용이 없는 테이블에 대해서는 항상 테이블헤드가 표시됩니다.더군다나 이것은 분류할 수 있다.
- Fabricator에서 축소가 거부되었습니다.테이블에는 행이 전혀 없고 헤더 행으로만 구성되어 있는 경우에도 파라미터의 정렬 가능한 테이블이 항상 필요합니다.
- 이 어처구니없는 말이 2016년 이 모듈 개발로 이어졌다.
- 컨텍스트에서 기본값 또는 AutoValue 사양의 정의가 허용되지 않는 경우에도 개개의 파라미터 값별로 콘텐츠가 필요 없는6 행의 정의 리스트가 출력됩니다.
일반적인 코멘트를 보면 MediaWiki는 VisualEditor에서 TemplateData 사양의 프레젠테이션만을 중요하게 간주하고 있습니다.단, 사용자는 템플릿을 프로그래밍하고 유지관리해야 하며, 누군가는 템플릿 설명을 생성하여 Visual Editor 폼의 기능 외에 관리할 수 있도록 해야 합니다.그러나 이는 이해할 수 없습니다.
- 2년 후, 비교적 쉬운 태스크인 Fabricator는 커뮤니티에서 유래한 패치를 통해 해결되었습니다.
일반 워크플로우
- 전달된 템플릿파라미터에서 JSON 오브젝트(문자열)를 읽으려고 합니다.
- 이 작업이 실패하면 현재 및 문서 페이지의 소스 코드가 검색됩니다.
<templatedata>요소들. - JSON 객체 입력에서 다음 두 가지 표현을 얻을 수 있습니다.
- JSON 형식으로 현지화된 버전, 마크업 등이 삭제되었습니다.
- 기본적으로 MediaWiki 표현과 유사한 HTML 구조이며 파라미터 표가 있을 수 있으며 기능이 강화되어 있습니다.
- 템플릿의 결과는 마크업과 함께 표시되는 문서와 숨겨진 문서입니다.
<templatedata>요소.이는 내보내기에 대해 수행되며 MediaWiki 가이드라인에 준거합니다.- 현재 페이지가 문서 페이지로 식별된 경우 숨김 페이지
<templatedata>는 억제되어 있습니다.이러한 페이지는, 「스페셜」에 개별적으로 표시되지 않습니다.Pages With Prop/templatata.
- 현재 페이지가 문서 페이지로 식별된 경우 숨김 페이지
템플릿의 함수
세부 사항
- 에프
- 템플릿에서 사용되는 TemplateData-Presentation 개선:템플릿 데이터 포맷
- 템플릿 변환 환경의 파라미터(모두 옵션):
- 1
- JSON 문자열 또는
<templatedata>물건 - JSON
- JSON 문자열
- (제1항)
- 이행처
<templatedata>파이프 기호가 있는 개체에는 특별한 주의가 필요합니다.파이프는 다음과 같이 표시되어야 한다.{{!}}이중 괄호에서는 HTML 엔티티에 의해 부호화되어야 합니다. - TOC
1– 목차는 범용 설명 뒤에 삽입하지만 파라미터 목록 앞에 삽입(존재하는 경우)- 예
- 언어
- ISO 639 등에 따른 언어 코드
- 게으른
1– 프레젠테이션만, 효과적인 데이터 블록 생성 안 함- 일반적인 방법에 대한 설명입니다.
- 디버깅
1– 개발자 모드- 원천
1– 디버깅을 위한 효과적인 JSON 소스 텍스트(템플릿 확장 후) 표시
- 파라미터
#invoke특정 프로젝트 어댑테이션(모두 옵션): - 반환: HTML 코드 및/또는 오류 메시지(아마도 다음 중 하나)
class="error" - 페일 세이프
- 버전 관리
Lua 모듈(API)의 함수
위에서 설명한 일부 기능은 다른 모듈에서 사용할 수 있습니다.
현지의 행운의, 템플릿 데이터 = pcall( 요구하다, "모듈: 서식 템플릿 데이터" ) 한다면 유형( 템플릿 데이터 ) == "테이블" 그리고나서 템플릿 데이터 = 템플릿 데이터.템플릿 데이터() 또 다른 --failure. TemplateData는 오류 메시지입니다. 돌아가다 "<span class='error'>" .. 템플릿 데이터 .. "</span>" 끝. - TemplateData.failsafe(최소)
-
- 적어도
선택적.
0 또는 최소 버전 요청 또는"wikidata"
- 적어도
- 반환: string 또는 false
- TemplateData.getPlainJSON(적응)
- 확장 JSON 정보를 MediaWiki JSON으로 축소합니다.
- 적응하다
문자열, JSON 사용(확장)
- 적응하다
- 반환: 문자열, JSON 포함(MediaWiki )
- TemplateData.test(adapt, arglist)
- 템플릿 기능 시뮬레이션
- 적응하다
테이블,#invoke파라미터 - 리스트
테이블, 템플릿파라미터
- 적응하다
- 반환: 문자열
사용.
현재 하나의 템플릿에만 초점을 맞추고 있습니다.
의존 관계
설정
로컬 모듈:서식 템플릿데이터/구성(존재하는 경우)을 사용하면 로컬 프로젝트에 쉽게 적응할 수 있습니다.
테이블은 다음을 통해 기대됩니다.mw.loadData. 다음 엔트리는 옵션컴포넌트입니다
- 고양이 문제
- 유효하지 않은 파라미터 값 등에 대한 유지보수 카테고리의 제목.
- 클래스 번호TOC
- 목차 클래스 이름. 특히 번호부여를 억제하기 위한 것입니다.
nonumtoc- 클래스 테이블
- 테이블에는 파라미터 테이블에 대한 클래스가 포함되어 있습니다.
{ "wikitable" }- css패럴
- 단일 파라미터 포맷을 위한 CSS 할당이 있는 테이블
- cssParWrap
- 파라미터 테이블 전체를 포맷하기 위한 CSS 할당이 있는 테이블
- docpage Create(작성)
- 하위 페이지 이름 생성 패턴
%s/Doku %s/Doku- docpageDetect(검출)
- 하위 페이지 이름 인식 패턴
/Doku$ /Doku$- 도움말****************
- 세부 정보에 대한 상황별 도움말을 위한 링크 대상
- 헬프부리안
- 도움말 콘텐츠
- help Date(도움말 날짜)
- 도움말 파일
- 도움말 포맷
- Wikitext 변환 레이아웃에 대한 도움말에 대한 대상 링크 대상
- 헬프라인
- 도움말 번호
- 도움말 페이지
- 도움말 문자열
- 도움말 템플릿
- 도움말 URL
- 도움말 사용자
- msgDescMiss
- 현지화: 분실 시 불만 사항 텍스트
description - 허용하다
- 단일 모수에 대한 특성 사양이 포함된 표, 성분:
- 불이 붙다
- 부울 표시 사양이 있는 표
- 2개의 컴포넌트
true그리고.false– 각 표:- css
- 이 값에 대한 설명은 CSS가 있는 표에서 확인할 수 있습니다.
- 이끌다
true– 설명 표시0또는1각각 그 값보다 앞서서false– 설명 표시0또는1각각 그 가치를 따르는- 표시하다
- 설명, 문자열 또는
false억누르다
- css
- 파라미터 테이블의 렌더링 사양이 기재된 표.구성요소:
- 테이블 헤드
- 테이블 헤드용 CSS가 있는 테이블
- 필수의
- CSS가 있는 테이블
required - 제안된
- CSS가 있는 테이블
suggested - 선택적.
- CSS가 있는 테이블
optional - 권장되지 않다
- CSS가 있는 테이블
deprecated
현지의 템플릿 데이터 = { 스위트 = "템플릿 데이터", 시리얼 = "2022-03-10", 아이템 = 46997995 } --[==[ 템플릿 개선:템플릿 데이터 ]==] 현지의 페일 세이프 = 템플릿 데이터 현지의 설정 = { -- 고유한 내부 필드에 매핑된 여러 옵션 이름 기본 Cnf = { 고양이 문제 = "실패", class Multi Columns = "셀 멀티클롬", 클래스 번호TOC = "이러한 것은,TOCNum", 클래스 테이블 = "클래스 테이블", cssParWrap = "css Tab Wrap", css패럴 = "css 테이블", docpage Create(작성) = "실패", docpageDetect(검출) = "서브 페이지, 헬프부리안 = "서포트 4개", 도움말 콘텐츠 = "support4 콘텐츠", help Date(도움말 날짜) = "support4date", 도움말 파일 = "support4file-name", 도움말 포맷 = "지원 포맷", 헬프라인 = "서포트4라인", 도움말 번호 = "support4 number", 도움말 페이지 = "support4dl-page-name", 도움말 문자열 = "support4string", 도움말 템플릿 = "support4support-support-name", 도움말 URL = "support4url", 도움말 사용자 = "support4support-user-name", msgDescMiss = "실패", TStyles TOCnum = "스타일 TOCnum", tStyles Multi Columns(멀티 컬럼) = "스타일 멀티클림" }, 클래스 테이블 = { "불가침" }, -- params 테이블의 클래스 debug multilang = "C0C0C0", 시끄럽게 = 거짓의, -- show exported element 등 단독의 = 거짓의, -- 설명 누락에 대한 불만 이상하다 = 거짓의, -- 유지보수 카테고리의 제목 css 테이블 = 거짓의, -- params 테이블의 스타일 css Tab 랩 = 거짓의, -- params 테이블 래퍼 스타일 디버깅 = 거짓의, 서브 페이지 = 거짓의, -- 서브페이지를 식별하는 패턴 접미사 = 거짓의, -- 서브페이지 작성 스킴 진압하다TOCNum = 거짓의, -- TOC 번호 억제를 위한 클래스 json 디버깅 = "json-code-displicate" -- jsonDebug 툴 클래스 } 현지의 데이터. = { 나누다 = 거짓의, -- <div class="mw-contentatedata-doc-doc-timeout"> 얻었다 = 거짓의, -- 테이블, 초기 템플리타 오브젝트 상속인 = 거짓의, -- 테이블, 상속되는 파라미터 뛰어내리다 = 거짓의, -- 「패럴」의 말미에 있는 소스 위치 더 적은 = 거짓의, -- 메인 설명이 없습니다. 영속적인 = 거짓의, -- 오래된 구문이 발견되었습니다. 게으른 = 거짓의, -- doc 모드. 유효 <인증 완료>는 생성하지 않습니다. 이끄는 = 거짓의, -- TOC 표시 -- low = false, -- 1 = 모드 주문 = 거짓의, -- 파라미터 시퀀스 파라미터 = 거짓의, -- 테이블, 내보낸 파라미터 비명을 지르다 = 거짓의, -- 에러 메시지 형제 = 거짓의, -- TOC 병치 속어. = 제로, -- 프로젝트/사용자 언어 코드 날씬한 = 거짓의, -- JSON은 보통으로 축소되었습니다. 원천 = 거짓의, -- JSON 입력 벗다 = 거짓의, -- <명확한> 평가 태그 = 거짓의, -- 테이블, 내보낸 루트 요소 직함 = 거짓의, -- 페이지 트리 = 거짓의 -- 테이블, 다시 작성된 템플리타 오브젝트 } 현지의 허용하다 = { 빌더 = { 끝나고 = '블록", 정렬하다 = '블록", 블록 = '블록", 압축된 = '블록", 조밀. = '블록", 그룹화된 = "실패", 반 = "실패", 들여쓰다 = '블록", 인라인 = "실패", 지난 = '블록", 이끌다 = '블록", 줄바꿈 = "*", 간격을 두었다 = "실패" }, 색채 = { bg = "FFFF", fg = "000000", 테이블 헤드 = "B3B7FF", 필수의 = "EAF3FF", 제안된 = "FFFF", 선택적. = "EAECF0", 권장되지 않다 = "FFCBCB" }, 파라미터 = { 에일리어스 = "테이블", 자동값 = "문자열', 체납 = 스트링 테이블 I18N 노비키, 권장되지 않다 = "부울 현 I18N", 묘사 = "스트링 테이블 I18N", 예 = 스트링 테이블 I18N 노비키, 라벨. = "스트링 테이블 I18N", 상속하다 = "문자열', 필수의 = "실패", 스타일. = "문자열 테이블", 제안된 = "실패", 제안치 = "문자열 테이블 번호 boolean, 유형 = "문자열' }, 뿌리 = { 묘사 = "스트링 테이블 I18N", 포맷 = "문자열', 지도 = "테이블", 파라미터 = "테이블", param Order(파라미터 순서) = "테이블", 놓다 = "테이블" }, 서치 = [{,]%s*([')\"]) %s%%%%s*:%s*%%%{", 종류들 = { 부울 = 진실의, 내용 = 진실의, 날짜. = 진실의, 선 = 진실의, 번호 = 진실의, 스트링 = 진실의, 알 수 없는 = 진실의, url = 진실의, ["filename-file-name"] = 진실의, ["filen-page-name"] = 진실의, ["filename-filename"] = 진실의, ["사용자 이름"] = 진실의, ["불균형"] = 진실의, ["문자열/행"] = 회선, ["string/http-page-name"] = "filen-page-name", ["string/syslog-user-name"] = "사용자 이름" } } 현지의 기능. 결함.( 경계. ) -- 오류 메시지 기억하기 -- 파라미터: -- alert -- 문자열, 오류 메시지 한다면 데이터..비명을 지르다 그리고나서 데이터..비명을 지르다 = string.format( %s *** %s, 데이터..비명을 지르다, 경계. ) 또 다른 데이터..비명을 지르다 = 경계. 끝. 끝. -- 장애() 현지의 기능. 가지고 오다( 물어보다, 허락하다 ) -- 모듈을 가져옵니다. -- 파라미터: -- ask -- 문자열, 이름 포함 -- "/global" -- "JSONutil" -- "다국어" -- "텍스트" -- "윙크" -- allow -- true: 사용할 수 없는 경우 오류 없음 -- 모듈 테이블을 반환합니다. -- 오류: 모듈을 사용할 수 없습니다. 현지의 서명하다 = 물어보다 현지의 r, 줄기. 한다면 서명하다:후보선수( 1, 1 ) == "/" 그리고나서 서명하다 = 템플릿 데이터.틀:getTitle(제목)() .. 서명하다 또 다른 줄기. = 서명하다 서명하다 = "모듈:" .. 줄기. 끝. 한다면 템플릿 데이터.외부 그리고나서 r = 템플릿 데이터.외부[ 서명하다 ] 또 다른 템플릿 데이터.외부 = { } 끝. 한다면 것은 아니다. r 그리고나서 현지의 행운의, g = pcall( 요구하다, 서명하다 ) 한다면 유형( g ) == "테이블" 그리고나서 한다면 줄기. 그리고. 유형( g[ 줄기. ] ) == "기능' 그리고나서 r = g[ 줄기. ]() 또 다른 r = g 끝. 템플릿 데이터.외부[ 서명하다 ] = r 그렇지 않으면 것은 아니다. 허락하다 그리고나서 에러( string.format( "%s(%s) %s을(Fetch(%s), 서명하다, g ), 0 ) 끝. 끝. 돌아가다 r 끝. -- Fetch() 현지의 기능. 외국의() --인간의 언어를 추측하다 -- 은어를 반환하거나 반환하지 않습니다. 한다면 유형( 데이터..속어. ) == "실패" 그리고나서 현지의 다국어 = 가지고 오다( "다국어", 진실의 ) 한다면 다국어 그리고. 유형( 다국어.userLangCode(사용자랑코드) ) == "기능' 그리고나서 데이터..속어. = 다국어.userLangCode(사용자랑코드)() 또 다른 데이터..속어. = 음.언어.get Content Language(get Content Language)():get 코드() :더 낮게() 끝. 끝. 한다면 데이터..속어. 그리고. 음.스트링.코드 포인트( 데이터..속어., 1, 1 ) > 122 그리고나서 데이터..속어. = 거짓의 끝. 돌아가다 데이터..속어. 끝. --외국어() 현지의 기능. 면( 물어보다, 에 ) -- JSON에서 파라미터 정의의 물리적인 위치를 찾습니다. -- 파라미터: -- ask -- 문자열, 파라미터 이름 ----번호, 정의 내의 물리적인 위치 -- 숫자 또는 0을 반환합니다. 현지의 추구한다. = string.format( 허용하다.서치, 물어보다:서브( "%%", "%%%%" ) :서브( "([%-.()+*?^$%[%]])", "%%%1" ) ) 현지의 i, k, r, 조각을 내라, 원천 한다면 것은 아니다. 데이터..뛰어내리다 그리고나서 데이터..뛰어내리다 = 데이터..원천:발견하다( "패럴", 2 ) 한다면 데이터..뛰어내리다 그리고나서 데이터..뛰어내리다 = 데이터..뛰어내리다 + 7 또 다른 데이터..뛰어내리다 = 1 끝. 끝. i, k = 데이터..원천:발견하다( 추구한다., 에 + 데이터..뛰어내리다 ) 하는 동안에 i 그리고. 것은 아니다. r 하다 원천 = 데이터..원천:후보선수( k + 1 ) 조각을 내라 = 원천:경기( "^%s*\"([^\"]+)\"s*: ) 한다면 것은 아니다. 조각을 내라 그리고나서 조각을 내라 = 원천:경기( "^%s*"([^']+"%s*": ) 끝. 한다면 ( 조각을 내라 그리고. 허용하다.파라미터[ 조각을 내라 ] ) 또는 원천:경기( "^%s*%" ) 그리고나서 r = k 또 다른 i, k = 데이터..원천:발견하다( 추구한다., k ) 끝. 끝. --그동안 나는 돌아가다 r 끝. --facet() 현지의 기능. 시설.( 적용합니다. ) -- 제안된 값의 세부 정보를 가져옵니다. -- 파라미터: -- apply -- 플레인 또는 확장 값을 가진 테이블 -- .table values -- 테이블 문자열 번호 이상 -- 반환 -- 1 -- 테이블, 제안값 포함 -- 2 -- 테이블, CSS 맵 포함 여부 -- 3 -- 문자열, 클래스 포함 여부 -- 4 -- 문자열, 템플리트 스타일 사용 여부 현지의 요소들 = 적용합니다..제안치 현지의 s = 유형( 요소들 ) 현지의 r1, r2, r3, r4 한다면 s == "테이블" 그리고나서 현지의 가치 = 요소들.가치 한다면 유형( 가치 ) == "테이블" 그리고나서 r1 = 가치 한다면 유형( 요소들.스크롤 ) == "문자열' 그리고나서 r2 = r2 또는 { } r2.높이 = 적용합니다..스크롤 r2.오버 플로 = "자동" 끝. 한다면 유형( 요소들.최소 폭 ) == "문자열' 그리고나서 현지의 s = 유형( 요소들.최대 열 ) r2 = r2 또는 { } r2["컬럼 폭"] = 요소들.최소 폭 한다면 s == "문자열' 또는 s == "숫자" 그리고나서 s = 스트링( 요소들.최대 열 ) r2["컬럼 카운트"] = s 끝. 한다면 유형( 설정.셀멀티클롬 ) == "문자열' 그리고나서 r3 = 설정.셀멀티클롬 끝. 한다면 유형( 설정.styles MultClm ) == "문자열' 그리고나서 현지의 src = 설정.styles MultClm .. "/styles.css" r4 = 템플릿 데이터.틀 :확장 태그( '패턴 스타일', 제로, { src = src } ) 끝. 끝. 그렇지 않으면 요소들 그리고. 요소들 ~= "" 그리고나서 r1 = 요소들 끝. 그렇지 않으면 s == "문자열' 그리고나서 s = 음.본문.다듬다( 대해서 ) 한다면 s ~= "" 그리고나서 r1 = { } table.insert( r1, { 코드 = s } ) 끝. 그렇지 않으면 s == "숫자" 그리고나서 r1 = { } table.insert( r1, { 코드 = 스트링( 요소들 ) } ) 끝. 돌아가다 r1, r2, r3, r4 끝. -- 퍼실리티스() 현지의 기능. 공장 ( 적응하다 ) -- 시스템 메시지에서 현지화된 텍스트를 가져옵니다. -- 파라미터: -- adapt -- 문자열, "templatedata-" 뒤에 메시지 ID가 표시됩니다. -- 현지화된 텍스트를 포함한 문자열을 반환합니다. 현지의 o = 음.메세지.신규( "인증된 데이터" .. 적응하다 ) 한다면 외국의() 그리고나서 o:언어 사용 안 함( 데이터..속어. ) 끝. 돌아가다 o:평지() 끝. -- factory() 현지의 기능. 교수진( 조정한다. ) -- 부울 테스트템플릿 arg -- adjust -- 문자열 또는 제로 -- 부울을 반환합니다. 현지의 s = 유형( 조정한다. ) 현지의 r 한다면 s == "문자열' 그리고나서 r = 음.본문.다듬다( 조정한다. ) r = ( r ~= "" 그리고. r ~= "0" ) 그렇지 않으면 s == "실패" 그리고나서 r = 조정한다. 또 다른 r = 거짓의 끝. 돌아가다 r 끝. --교직원() 현지의 기능. 실패.() -- 에러 수집과 카테고리를 취득합니다. -- 문자열을 반환합니다. 현지의 r 한다면 데이터..비명을 지르다 그리고나서 현지의 e = 음.html.만들다( "스판" ) :클래스 추가( "에러" ) :위키텍스트( 데이터..비명을 지르다 ) r = 스트링( e ) 음.경고 추가( "'템플릿 데이터'"<br />" .. 데이터..비명을 지르다 ) 한다면 설정.이상하다 그리고나서 r = string.format( %s(카테고리:%s]), r, 설정.이상하다 ) 끝. 또 다른 r = "" 끝. 돌아가다 r 끝. --failures() 현지의 기능. 공정한( 조정한다. ) -- 텍스트를 일반 텍스트의 한 줄로 줄이거나 Wikitext 블록을 내보내지 않습니다. -- adjust -- 문자열 -- 텍스트를 수정한 문자열을 반환합니다. 현지의 f = 기능. ( a ) 돌아가다 a:서브( %s*\n%s*", " " ) :서브( %s%s+, " " ) 끝. 현지의 태그 = { { 개시하다 = "<no export>", 이제 그만 = "</no export>" }, { 개시하다 = "<내보내기 전용>", 이제 그만 = "</export only>", l = 거짓의 } } 현지의 r = 조정한다. 현지의 i, j, k, s, 태그 위해서 m = 1, 2 하다 태그 = 태그[ m ] 한다면 r:발견하다( 태그.개시하다, 1, 진실의 ) 그리고나서 s = r r = "" i = 1 태그.l = 진실의 j, k = s:발견하다( 태그.개시하다, i, 진실의 ) 하는 동안에 j 하다 한다면 j > 1 그리고나서 r = r .. f( s:후보선수( i, j - 1 ) ) 끝. i = k + 1 j, k = s:발견하다( 태그.이제 그만, i, 진실의 ) 한다면 j 그리고나서 한다면 m == 1 그리고나서 r = r .. s:후보선수( i, j - 1 ) 끝. i = k + 1 j, k = s:발견하다( 태그.개시하다, i, 진실의 ) 또 다른 결함.( "이러한" .. 태그.이제 그만 ) 끝. 끝. -- 한편 j r = r .. s:후보선수( i ) 그렇지 않으면 m == 1 그리고나서 r = f( r ) 끝. 끝. -- m의 경우 한다면 태그[ 2 ].l 그리고나서 r = r:서브( "<export only >.*</export only>", "" ) 끝. 돌아가다 r 끝. -- fair() 현지의 기능. 멋지다( 발전, 경계. ) -- JSON 소스 표시 -- 파라미터: --어드밴스 --맞아, 좋은 걸 위해서 -- alert -- true, 표시용 -- 문자열을 반환합니다. 현지의 r 한다면 데이터..원천 그리고나서 현지의 지지하다 = 설정.json 디버깅 현지의 css 한다면 발전 그리고나서 css = { 높이 = "6em", 크기 조정 = "실패" } r = { [ 1 ] = "하이라이트 표시", [ 2 ] = 데이터..원천, 언어 = "json", 스타일. = table.concat( css, ";" ) } 한다면 경계. 그리고나서 r.학급( 지지하다 ) 끝. r = 템플릿 데이터.틀:callParser 기능( "#태그", r ) 또 다른 css = { [ "크기" ] = "77%", [ "라인 하이트" ] = "1.35" } 한다면 경계. 그리고나서 css.크기 조정 = "실패" 또 다른 css.표시 = "없음" 끝. r = 음.html.만들다( "예비" ) :클래스 추가( 지지하다 ) :css( css ) :위키텍스트( 음.본문.부호화( 데이터..원천 ) ) r = 스트링( r ) 끝. r = "\n".. r 또 다른 r = "" 끝. 돌아가다 r 끝. --fancy() 현지의 기능. 아득히( 대체 수단 ) -- 다국어 텍스트에서 최적의 언어 버전 검색 -- 파라미터: -- 대체안 -- 테이블, 평가 대상 -- 반환 -- 1 -- 스트링, 베스트 매치 -- 2 -- 다른 버전의 표(있는 경우) 현지의 n = 0 현지의 변종 = { } 현지의 r1, r2 위해서 k, v 에 쌍들( 대체 수단 ) 하다 한다면 유형( v ) == "문자열' 그리고나서 v = 음.본문.다듬다( v ) 한다면 v ~= "" 그리고. 유형( k ) == "문자열' 그리고나서 k = k:더 낮게() 변종[ k ] = v n = n + 1 끝. 끝. 끝. -- k, v의 경우 한다면 n > 0 그리고나서 현지의 다국어 = 가지고 오다( "다국어", 진실의 ) 한다면 다국어 그리고. 유형( 다국어.18n ) == "기능' 그리고나서 현지의 표시하다, 속어. = 다국어.18n( 변종 ) 한다면 표시하다 그리고나서 r1 = 표시하다 변종[ 속어. ] = 제로 r2 = 변종 끝. 끝. 한다면 것은 아니다. r1 그리고나서 외국의() 위해서 k, v 에 쌍들( 변종 ) 하다 한다면 n == 1 그리고나서 r1 = v 그렇지 않으면 데이터..속어. == k 그리고나서 변종[ k ] = 제로 r1 = v r2 = 변종 끝. 끝. -- k, v의 경우 끝. 한다면 r2 그리고. 다국어 그리고나서 위해서 k, v 에 쌍들( r2 ) 하다 한다면 v 그리고. 것은 아니다. 다국어.랑( k, 진실의 ) 그리고나서 결함.( string.format( %s <code> syslog=%s </code>, "유효하지않음, k ) ) 끝. 끝. -- k, v의 경우 끝. 끝. 돌아가다 r1, r2 끝. -- farway() 현지의 기능. 정형화된( 대해서, 물었다, 할당하다 ) -- 설명 헤드 작성 -- 파라미터: -- about -- 테이블, 설명을 포함해야 합니다. --squested --설명 필수인 경우 true -- <block>을 할당합니다(장착하는 경우). -- 헤드 또는 제로와 함께 <block>을 반환합니다. 현지의 패러 = 할당하다 또는 음.html.만들다( "div" ) 현지의 플러스, r 한다면 대해서 그리고. 대해서.묘사 그리고나서 한다면 유형( 대해서.묘사 ) == "문자열' 그리고나서 패러:위키텍스트( 대해서.묘사 ) 또 다른 패러:위키텍스트( 대해서.묘사[ 1 ] ) 플러스 = 음.html.만들다( '음' ) 플러스:css( "텍스트 정렬", "왼쪽 ) 위해서 k, v 에 쌍들( 대해서.묘사[ 2 ] ) 하다 플러스:노드( 음.html.만들다( '리' ) :노드( 음.html.만들다( "코드" ) :위키텍스트( k ) ) :노드( 음.html.만들다( "br" ) ) :위키텍스트( 공정한( v ) ) ) 끝. -- k, v의 경우 한다면 설정.시끄럽게 그리고나서 플러스 = 음.html.만들다( "div" ) :css( "배경색", "#" .. 설정.debug multilang ) :노드( 플러스 ) 또 다른 플러스:클래스 추가( "검증 완료" ) :css( "디스플레이", "없음" ) 끝. 끝. 그렇지 않으면 설정.단독의 그리고. 물었다 그리고나서 패러:클래스 추가( "에러" ) :위키텍스트( 설정.단독의 ) 데이터..더 적은 = 진실의 또 다른 패러 = 거짓의 끝. 한다면 패러 그리고나서 한다면 플러스 그리고나서 r = 음.html.만들다( "div" ) :노드( 패러 ) :노드( 플러스 ) 또 다른 r = 패러 끝. 끝. 돌아가다 r 끝. --formed() 현지의 기능. 살찌다( 접근 ) -- 하위 제목에 대한 표 행을 작성합니다. -- 파라미터: -- access -- 문자열(이름 포함 -- <tr>를 반환합니다. 현지의 PARAM. = 데이터..트리.파라미터[ 접근 ] 현지의 후보선수, 종류 = 접근:경기( "(=+)%s*(%S.*)$" ) 현지의 표제 = 음.html.만들다( string.format( "h%d", #후보선수 ) ) 현지의 r = 음.html.만들다( "tr" ) 현지의 td = 음.html.만들다( "실패" ) :특성( "colspan", "5" ) :특성( "data-param-value", "!" .. 종류 ) 현지의 s 한다면 PARAM..스타일. 그리고나서 s = 유형( PARAM..스타일. ) 한다면 s == "테이블" 그리고나서 td:css( PARAM..스타일. ) 그렇지 않으면 s == "문자열' 그리고나서 td:css텍스트( PARAM..스타일. ) 끝. 끝. s = 정형화된( PARAM., 거짓의, 표제 ) 한다면 s 그리고나서 표제 = s 또 다른 표제:위키텍스트( 종류 ) 끝. td:노드( 표제 ) r:노드( td ) 돌아가다 r 끝. --살찐() 현지의 기능. 아버지들() -- 상속된 값과 매개 변수 병합 현지의 n = 0 현지의 p = 데이터..파라미터 현지의 t = 데이터..트리.파라미터 현지의 p2, t2 위해서 k, v 에 쌍들( 데이터..상속인 ) 하다 n = n + 1 끝. -- k, v의 경우 위해서 i = 1, n 하다 한다면 데이터..상속인 그리고나서 위해서 k, v 에 쌍들( 데이터..상속인 ) 하다 한다면 v 그리고. 것은 아니다. 데이터..상속인[ v ] 그리고나서 n = n - 1 t[ k ].상속하다 = 제로 데이터..상속인[ k ] = 제로 p2 = { } t2 = { } 한다면 p[ v ] 그리고나서 위해서 k2, v2 에 쌍들( p[ v ] ) 하다 p2[ k2 ] = v2 끝. -- k2, v2의 경우 한다면 p[ k ] 그리고나서 위해서 k2, v2 에 쌍들( p[ k ] ) 하다 한다면 유형( v2 ) ~= "실패" 그리고나서 p2[ k2 ] = v2 끝. 끝. -- k2, v2의 경우 끝. p[ k ] = p2 위해서 k2, v2 에 쌍들( t[ v ] ) 하다 t2[ k2 ] = v2 끝. -- k2, v2의 경우 위해서 k2, v2 에 쌍들( t[ k ] ) 하다 한다면 유형( v2 ) ~= "실패" 그리고나서 t2[ k2 ] = v2 끝. 끝. -- k2, v2의 경우 t[ k ] = t2 또 다른 결함.( 상속받는 매개 변수 없음[] .. v ) 끝. 끝. 끝. -- k, v의 경우 끝. 끝. -- i = 1, n 한다면 n > 0 그리고나서 현지의 s 위해서 k, v 에 쌍들( 데이터..상속인 ) 하다 한다면 v 그리고나서 한다면 s 그리고나서 s = string.format( %s " %s, s, k ) 또 다른 s = "순환 상속: " .. k 끝. 끝. 끝. -- k, v의 경우 결함.( s ) 끝. 끝. --아버지() 현지의 기능. 편애하다() -- 로컬 커스터마이즈 문제 현지의 불이 붙다 = { ["크기"] = "125%" } 현지의 l, cx = pcall( 음.로드 데이터, 템플릿 데이터.틀:getTitle(제목)() .. "/config" ) 현지의 스크립트 작성, 스타일. 템플릿 데이터.ltr = 것은 아니다. 음.언어.get Content Language(get Content Language)():RTL() 한다면 템플릿 데이터.ltr 그리고나서 스크립트 작성 = "왼쪽 또 다른 스크립트 작성 = "올바른" 끝. 불이 붙다[ "어느 쪽인가" .. 스크립트 작성 ] = '3em' 허용하다.불이 붙다 = { [거짓의] = { css = 불이 붙다, 이끌다 = 진실의, 표시하다 = "☐" }, [진실의] = { css = 불이 붙다, 이끌다 = 진실의, 표시하다 = "☑" } } 허용하다.css = { } 위해서 k, v 에 쌍들( 허용하다.색채 ) 하다 한다면 k == "테이블 헤드" 그리고나서 k = "테이블헤드" 끝. 한다면 k == "fg" 그리고나서 스타일. = "컬러" 또 다른 스타일. = "배경색" 끝. 허용하다.css[ k ] = { } 허용하다.css[ k ][ 스타일. ] = "#" .. v 끝. -- k, v의 경우 한다면 유형( cx ) == "테이블" 그리고나서 현지의 c, s 한다면 유형( cx.허용하다 ) == "테이블" 그리고나서 한다면 유형( cx.허용하다.불이 붙다 ) == "테이블" 그리고나서 한다면 유형( cx.허용하다.불이 붙다[ 진실의 ] ) == "테이블" 그리고나서 허용하다.불이 붙다[ 거짓의 ] = cx.허용하다.불이 붙다[ 거짓의 ] 끝. 한다면 유형( cx.허용하다.불이 붙다[ 진실의 ] ) == "테이블" 그리고나서 허용하다.불이 붙다[ 진실의 ] = cx.허용하다.불이 붙다[ 진실의 ] 끝. 끝. 한다면 유형( cx.허용하다.css ) == "테이블" 그리고나서 위해서 k, v 에 쌍들( cx.허용하다.css ) 하다 한다면 유형( v ) == "테이블" 그리고나서 허용하다.css[ k ] = v 끝. 끝. -- k, v의 경우 끝. 끝. 위해서 k, v 에 쌍들( 설정.기본 Cnf ) 하다 s = 유형( cx[ k ] ) 한다면 s == "문자열' 또는 s == "테이블" 그리고나서 설정[ v ] = cx[ k ] 끝. 끝. -- k, v의 경우 끝. 한다면 유형( 설정.서브 페이지 ) ~= "문자열' 또는 유형( 설정.접미사 ) ~= "문자열' 그리고나서 현지의 얻었다 = 음.메세지.신규( "containatedata-doc-subpage" ) 현지의 접미사 한다면 얻었다:is Disabled(사용 안 함)() 그리고나서 접미사 = "doc" 또 다른 접미사 = 얻었다:평지() 끝. 한다면 유형( 설정.서브 페이지 ) ~= "문자열' 그리고나서 설정.서브 페이지 = string.format( "/%s$", 접미사 ) 끝. 한다면 유형( 설정.접미사 ) ~= "문자열' 그리고나서 설정.접미사 = string.format( %%s/%s, 접미사 ) 끝. 끝. 끝. --favorize() 현지의 기능. 실현 가능한( 모든., 에, 대해서 ) -- 파라미터 내에서 제안된 값을 처리합니다. -- 파라미터: -- all -- 파라미터 상세 -- .디폴트 -- .type -- at -- 문자열, 파라미터 이름 포함 --제안값 --표, --값과 가능한 설명 -- 테이블에는 다음과 같은 요소가 있습니다. -- .code --필수 -- .label --테이블 문자열 -- .support --테이블 문자열 -- .icon -- 문자열 -- .class -- 테이블 문자열 -- .css -- 테이블 -- .style -- 문자열 -- .less -- true : suppress 코드 -- 반환 -- 1: mw.120 오브젝트 <ul> -- 2: 값이 있는 시퀀스테이블 또는 0 현지의 h = { } 현지의 e, r1, r2, s, v 한다면 #대해서 > 0 그리고나서 위해서 i = 1, #대해서 하다 e = 대해서[ i ] s = 유형( e ) 한다면 s == "테이블" 그리고나서 한다면 유형( e.코드 ) == "문자열' 그리고나서 s = 음.본문.다듬다( e.코드 ) 한다면 s == "" 그리고나서 e = 제로 또 다른 e.코드 = s 끝. 또 다른 e = 제로 s = string.format( "패럴.%s.%s[%d]%s", 에, "값", i, "'코드:' 누락" ) 끝. 그렇지 않으면 s == "문자열' 그리고나서 s = 음.본문.다듬다( e ) 한다면 s == "" 그리고나서 e = 제로 s = string.format( "패럴.%s.%s[%d] 비었다", 에, "값", i ) 결함.( s ) 또 다른 e = { 코드 = s } 끝. 그렇지 않으면 s == "숫자" 그리고나서 e = { 코드 = 스트링( e ) } 또 다른 s = string.format( "패럴.%s.%s[%d] 무효", 에, "값", i ) 결함.( s ) e = 거짓의 끝. 한다면 e 그리고나서 v = v 또는 { } table.insert( v, e ) 한다면 h[ e.코드 ] 그리고나서 s = string.format( "패럴.%s.%s 반복 %s", 에, "값", e.코드 ) 결함.( s ) 또 다른 h[ e.코드 ] = 진실의 끝. 끝. 끝. -- i의 경우 또 다른 결함.( string.format( "패럴.%s.svalues %s", 에, "어레이가 아니다" ) ) 끝. 한다면 v 그리고나서 현지의 코드, d, k, 더 적은, 이야기, 재빠르다, t, u r1 = 음.html.만들다( '음' ) r2 = { } 위해서 i = 1, #v 하다 u = 음.html.만들다( '리' ) e = v[ i ] table.insert( r2, e.코드 ) 이야기 = 거짓의 더 적은 = ( e.더 적은 == 진실의 ) 한다면 것은 아니다. 더 적은 그리고나서 재빠르다 = e.코드 한다면 e.지지하다 그리고나서 현지의 비명을 지르다, 지지하다 s = 유형( e.지지하다 ) 한다면 s == "문자열' 그리고나서 지지하다 = e.지지하다 그렇지 않으면 s == "테이블" 그리고나서 지지하다 = 아득히( e.지지하다 ) 또 다른 비명을 지르다 = "무효" 끝. 한다면 지지하다 그리고나서 s = 음.본문.다듬다( 지지하다 ) 한다면 s == "" 그리고나서 비명을 지르다 = "비었다" 그렇지 않으면 s:발견하다( [%[%] % <%> ) 그리고나서 비명을 지르다 = "부정한 페이지" 또 다른 지지하다 = s 끝. 끝. 한다면 비명을 지르다 그리고나서 s = string.format( "패럴.%s.%s[%d]%s 지원", 에, "값", i, 비명을 지르다 ) 결함.( s ) 또 다른 재빠르다 = string.format( "[:%s %s]", 지지하다, 재빠르다 ) 끝. 끝. 한다면 모든..유형:후보선수( 1, 5 ) == "어느 쪽인가" 그리고. 재빠르다 == e.코드 그리고나서 현지의 방 = { 파일 = 6, 임시직 = 10, 유저 = 2 } 현지의 ns = 방[ 모든..유형:후보선수( 6, 9 ) ] 또는 0 t = 음.직함.make Title(메이크 타이틀)( ns, 재빠르다 ) 한다면 t 그리고. t.존재한다 그리고나서 재빠르다 = string.format( "[:%s %s]", t.프리픽스본문, 재빠르다 ) 끝. 끝. 한다면 e.코드 == 모든..체납 그리고나서 k = 800 또 다른 k = 300 끝. 코드 = 음.html.만들다( "코드" ) :css( "중량", 스트링( k ) ) :css( "공백 공간", "nowrap" ) :위키텍스트( 재빠르다 ) u:노드( 코드 ) 끝. 한다면 e.학급 그리고나서 s = 유형( e.학급 ) 한다면 s == "문자열' 그리고나서 u:클래스 추가( e.학급 ) 그렇지 않으면 s == "테이블" 그리고나서 위해서 k, s 에 쌍들( e.학급 ) 하다 u:클래스 추가( s ) 끝. -- k, s의 경우 또 다른 s = string.format( "패럴.%s.%s[%d.class invalid", 에, "값", i ) 결함.( s ) 끝. 끝. 한다면 e.css 그리고나서 한다면 유형( e.css ) == "테이블" 그리고나서 u:css( e.css ) 또 다른 s = string.format( "패럴.%s.%s[%d.css 무효", 에, "값", i ) 결함.( s ) 끝. 끝. 한다면 e.스타일. 그리고나서 한다면 유형( e.스타일. ) == "문자열' 그리고나서 u:css텍스트( e.스타일. ) 또 다른 s = string.format( "패럴.%s.%s[%d]잘못된 스타일", 에, "값", i ) 결함.( s ) 끝. 끝. 한다면 모든..유형 == "filename-file-name" 그리고. 것은 아니다. e.아이콘 그리고나서 e.아이콘 = e.코드 끝. 한다면 e.라벨. 그리고나서 s = 유형( e.라벨. ) 한다면 s == "문자열' 그리고나서 s = 음.본문.다듬다( e.라벨. ) 한다면 s == "" 그리고나서 s = string.format( "패럴.%s.%s[%d].라벨 %s", 에, "값", i, "비었다" ) 결함.( s ) 또 다른 이야기 = s 끝. 그렇지 않으면 s == "테이블" 그리고나서 이야기 = 아득히( e.라벨. ) 또 다른 s = string.format( "패럴.%s.%s[%d.label 무효", 에, "값", i ) 결함.( s ) 끝. 끝. s = 거짓의 한다면 유형( e.아이콘 ) == "문자열' 그리고나서 t = 음.직함.make Title(메이크 타이틀)( 6, e.아이콘 ) 한다면 t 그리고. t.파일.존재한다 그리고나서 현지의 g = 음.html.만들다( "스판" ) s = string.format( [[%s 16px]], t.프리픽스본문 ) g:특성( "역할", '프레젠테이션" ) :위키텍스트( s ) s = 스트링( g ) 끝. 끝. 한다면 것은 아니다. s 그리고. 것은 아니다. 더 적은 그리고. e.라벨. 그리고나서 s = 음.스트링.차( 0x2013 ) 끝. 한다면 s 그리고나서 d = 음.html.만들다( "스판" ) :위키텍스트( s ) 한다면 템플릿 데이터.ltr 그리고나서 한다면 것은 아니다. 더 적은 그리고나서 d:css( "좌향좌향", "0.5em" ) 끝. 한다면 이야기 그리고나서 d:css( "오른쪽", "0.5em" ) 끝. 또 다른 한다면 것은 아니다. 더 적은 그리고나서 d:css( "오른쪽", "0.5em" ) 끝. 한다면 이야기 그리고나서 d:css( "좌향좌향", "0.5em" ) 끝. 끝. u:노드( d ) 끝. 한다면 이야기 그리고나서 u:위키텍스트( 이야기 ) 끝. r1:줄바꿈() :노드( u ) 끝. -- i의 경우 끝. 한다면 것은 아니다. r1 그리고. v ~= 거짓의 그리고나서 결함.( string.format( "패럴.%s.제안된 값이 잘못되었습니다.", 에 ) ) r1 = 음.html.만들다( "코드" ) :클래스 추가( "에러" ) :위키텍스트( "무효" ) 끝. 돌아가다 r1, r2 끝. -- 피지블() 현지의 기능. 위업() -- 파라미터 시퀀스 확인 및 저장 한다면 데이터..원천 그리고나서 현지의 i = 0 현지의 s 위해서 k, v 에 쌍들( 데이터..트리.파라미터 ) 하다 한다면 i == 0 그리고나서 데이터..주문 = { } i = 1 s = k 또 다른 i = 2 브레이크. -- k, v의 경우 끝. 끝. -- k, v의 경우 한다면 i > 1 그리고나서 현지의 포인터 = { } 현지의 포인트 = { } 현지의 정해진 = { } 위해서 k, v 에 쌍들( 데이터..트리.파라미터 ) 하다 i = 면( k, 1 ) 한다면 유형( v ) == "테이블" 그리고나서 한다면 유형( v.라벨. ) == "문자열' 그리고나서 s = 음.본문.다듬다( v.라벨. ) 한다면 s == "" 그리고나서 s = k 끝. 또 다른 s = k 끝. 한다면 정해진[ s ] 그리고나서 한다면 정해진[ s ] == 1 그리고나서 현지의 비명을 지르다 = "매개 변수 레이블 '%s'이(가) 여러 번 검색됨" 결함.( string.format( 비명을 지르다, s ) ) 정해진[ s ] = 2 끝. 또 다른 정해진[ s ] = 1 끝. 끝. 한다면 i 그리고나서 table.insert( 포인트, i ) 포인터[ i ] = k i = 면( k, i ) 한다면 i 그리고나서 s = "%s 매개 변수가 두 번 검색됨" 결함.( string.format( s, k ) ) 끝. 또 다른 s = "%s 매개 변수가 검색되지 않음" 결함.( string.format( s, k ) ) 끝. 끝. -- k, v의 경우 table.displaces( 포인트 ) 위해서 i = 1, #포인트 하다 table.insert( 데이터..주문, 포인터[ 포인트[ i ] ] ) 끝. -- i = 1, # 포인트 그렇지 않으면 s 그리고나서 table.insert( 데이터..주문, s ) 끝. 끝. 끝. -- feat() 현지의 기능. 특징( 접근 ) -- 파라미터의 테이블 행을 작성하고 위반을 체크 및 표시합니다. -- 파라미터: -- access -- 문자열(이름 포함 -- <tr>를 반환합니다. 현지의 모드, s, 상황 현지의 좋아. = 기능. ( a ) s = 음.본문.다듬다( a ) 돌아가다 a == s 그리고. a ~= "" 그리고. 것은 아니다. a:발견하다( "% =\n" ) 그리고. 것은 아니다. a:발견하다( %s%s ) 끝. 현지의 시작한다. = 음.html.만들다( "실패" ) 현지의 코드 = 음.html.만들다( "코드" ) 현지의 기술하다 = 음.html.만들다( "실패" ) 현지의 열심인 = 음.html.만들다( "실패" ) 현지의 합법적인 = 진실의 현지의 PARAM. = 데이터..트리.파라미터[ 접근 ] 현지의 순위 = { "필수", "실패", "옵션", "권장되지 않음" } 현지의 r = 음.html.만들다( "tr" ) 현지의 스타일 = "mw-containatedata-doc-doc-contain-" 현지의 종류, 입력했다 위해서 k, v 에 쌍들( PARAM. ) 하다 한다면 v == "" 그리고나서 PARAM.[ k ] = 거짓의 끝. 끝. -- k, v의 경우 --라벨 종류 = PARAM..라벨. 또는 접근 한다면 종류:경기( "^%d+$" ) 그리고나서 시작한다.:특성( "data-param-value", string.format( %05d, 톤수( 종류 ) ) ) 끝. 시작한다.:css( "중량", "대담한" ) :위키텍스트( 종류 ) -- 이름과 에일리어스 코드:css( "크기", "92%" ) :css( "공백 공간", "nowrap" ) :위키텍스트( 접근 ) 한다면 것은 아니다. 좋아.( 접근 ) 그리고나서 코드:클래스 추가( "에러" ) 결함.( string.format( "잘못된 아이디입니다.<code> %s </code>", 접근 ) ) 합법적인 = 거짓의 시작한다.:특성( "data-param-value", " " .. 종류 ) 끝. 코드 = 음.html.만들다( "실패" ) :클래스 추가( 스타일 .. "이름 ) :노드( 코드 ) 한다면 접근:경기( "^%d+$" ) 그리고나서 코드:특성( "data-param-value", string.format( %05d, 톤수( 접근 ) ) ) 끝. 한다면 유형( PARAM..에일리어스 ) == "테이블" 그리고나서 현지의 랩서스, 동기 위해서 k, v 에 쌍들( PARAM..에일리어스 ) 하다 코드:태그( "br" ) 한다면 유형( v ) == "문자열' 그리고나서 한다면 것은 아니다. 좋아.( v ) 그리고나서 랩서스 = 진실의 코드:노드( 음.html.만들다( "스판" ) :클래스 추가( "에러" ) :css( "스티브 스타일", "이탈리아" ) :위키텍스트( "문자열' ) ) :위키텍스트( s ) 또 다른 동기 = 음.html.만들다( "스판" ) :클래스 추가( 스타일 .. "실패" ) :css( "공백 공간", "nowrap" ) :위키텍스트( s ) 코드:노드( 동기 ) 끝. 또 다른 랩서스 = 진실의 코드:노드( 음.html.만들다( "코드" ) :클래스 추가( "에러" ) :위키텍스트( 유형( v ) ) ) 끝. 끝. -- k, v의 경우 한다면 랩서스 그리고나서 s = string.format( "패럴.<code> %s </code>에일리어스", 접근 ) 결함.( 공장 ( "가산치" ):서브( "$1", s ) ) 합법적인 = 거짓의 끝. 끝. --설명 등 s = 정형화된( PARAM. ) 한다면 s 그리고나서 기술하다:노드( s ) 끝. 한다면 PARAM..스타일. 그리고나서 s = 유형( PARAM..스타일. ) 한다면 s == "테이블" 그리고나서 기술하다:css( PARAM..스타일. ) 그렇지 않으면 s == "문자열' 그리고나서 기술하다:css텍스트( PARAM..스타일. ) 끝. 끝. 한다면 PARAM..제안치 또는 PARAM..체납 또는 PARAM..예 또는 PARAM..자동값 그리고나서 현지의 세부 사항 = { "값", "디폴트", "실패", "자동값" } 현지의 dl = 음.html.만들다( "dl" ) 현지의 dd, 부분, 표시하다 위해서 i = 1, #세부 사항 하다 s = 세부 사항[ i ] 표시하다 = PARAM.[ s ] 한다면 표시하다 그리고나서 dd = 음.html.만들다( "dd" ) 부분 = 공장 ( "doc-doc-doc-doc-filename-" .. s ) 한다면 PARAM..유형 == "실패" 그리고. ( 표시하다 == "0" 또는 표시하다 == "1" ) 그리고나서 현지의 불이 붙다 = 허용하다.불이 붙다[ ( 표시하다 == "1" ) ] 한다면 불이 붙다.이끌다 == 진실의 그리고나서 dd:노드( 음.html.만들다( "코드" ) :위키텍스트( 표시하다 ) ) :위키텍스트( " " ) 끝. 한다면 유형( 불이 붙다.표시하다 ) == "문자열' 그리고나서 현지의 v = 음.html.만들다( "스판" ) :특성( "아리아 숨김", "진짜" ) :위키텍스트( 불이 붙다.표시하다 ) 한다면 불이 붙다.css 그리고나서 v:css( 불이 붙다.css ) 끝. dd:노드( v ) 끝. 한다면 유형( 불이 붙다.접미사 ) == "문자열' 그리고나서 dd:위키텍스트( 불이 붙다.접미사 ) 끝. 한다면 불이 붙다.이끌다 == 거짓의 그리고나서 dd:위키텍스트( " " ) :노드( 음.html.만들다( "코드" ) :위키텍스트( 표시하다 ) ) 끝. 그렇지 않으면 s == "값" 그리고나서 현지의 v, css, 학급, ts = 시설.( PARAM. ) 한다면 v 그리고나서 현지의 울 울, v = 실현 가능한( PARAM., 접근, v ) 한다면 v 그리고나서 dd:줄바꿈() :노드( 울 ) 한다면 css 그리고나서 dd:css( css ) 한다면 학급 그리고나서 dd:클래스 추가( 학급 ) 끝. 한다면 ts 그리고나서 dd:줄바꿈() dd:노드( ts ) 끝. 끝. 데이터..파라미터[ 접근 ].제안치 = v 끝. 끝. 또 다른 dd:위키텍스트( 표시하다 ) 끝. dl:노드( 음.html.만들다( "dt" ) :위키텍스트( 부분 ) ) :노드( dd ) 끝. 끝. -- i = 1, #120 기술하다:노드( dl ) 끝. -- 입력 한다면 유형( PARAM..유형 ) == "문자열' 그리고나서 PARAM..유형 = 음.본문.다듬다( PARAM..유형 ) 한다면 PARAM..유형 == "" 그리고나서 PARAM..유형 = 거짓의 끝. 끝. 한다면 PARAM..유형 그리고나서 s = 허용하다.종류들[ PARAM..유형 ] 입력했다 = 음.html.만들다( "실패" ) :클래스 추가( 스타일 .. "타입" ) 한다면 s 그리고나서 한다면 s == "문자열' 그리고나서 데이터..파라미터[ 접근 ].유형 = s 입력했다:위키텍스트( 공장 ( "doc-facebook-type-" .. s ) ) :태그( "br" ) 입력했다:노드( 음.html.만들다( "스판" ) :클래스 추가( "에러" ) :위키텍스트( PARAM..유형 ) ) 데이터..영속적인 = 진실의 또 다른 현지의 지지하다 = 설정[ "지원 4" .. PARAM..유형 ] s = 공장 ( "doc-facebook-type-" .. PARAM..유형 ) 한다면 지지하다 그리고나서 s = string.format( "[%s %s]", 지지하다, s ) 끝. 입력했다:위키텍스트( s ) 끝. 또 다른 데이터..파라미터[ 접근 ].유형 = "실패" 입력했다:클래스 추가( "에러" ) :위키텍스트( "무효" ) s = string.format( "패럴.<code> %s </code>.type", 접근 ) 결함.( 공장 ( "가산치" ):서브( "$1", s ) ) 합법적인 = 거짓의 끝. 또 다른 입력했다 = 음.html.만들다( "실패" ) :위키텍스트( 공장 ( "doc-filename-type-filename" ) ) 데이터..파라미터[ 접근 ].유형 = "실패" 한다면 PARAM..체납 그리고나서 데이터..파라미터[ 접근 ].체납 = 제로 결함.( "기본값에는 <code> 타입 </code>가 필요합니다." ) 합법적인 = 거짓의 끝. 끝. 입력했다:클래스 추가( "검색 불가" ) --상태 한다면 PARAM..필수의 그리고나서 모드 = 1 한다면 PARAM..자동값 그리고나서 결함.( string.format( "auto value <code> %s </code> 필수", 접근 ) ) 합법적인 = 거짓의 끝. 한다면 PARAM..체납 그리고나서 결함.( string.format( "기본 <code> %s </code> 필수", 접근 ) ) 합법적인 = 거짓의 끝. 한다면 PARAM..권장되지 않다 그리고나서 결함.( string.format( "필수 폐지 <코드> %s </code>", 접근 ) ) 합법적인 = 거짓의 끝. 그렇지 않으면 PARAM..권장되지 않다 그리고나서 모드 = 4 그렇지 않으면 PARAM..제안된 그리고나서 모드 = 2 또 다른 모드 = 3 끝. 상황 = 순위[ 모드 ] 순위 = 공장 ( "doc-doc-doc-status-" .. 상황 ) 한다면 모드 == 1 또는 모드 == 4 그리고나서 순위 = 음.html.만들다( "스판" ) :css( "중량", "대담한" ) :위키텍스트( 순위 ) 한다면 유형( PARAM..권장되지 않다 ) == "문자열' 그리고나서 순위:태그( "br" ) 순위:위키텍스트( PARAM..권장되지 않다 ) 끝. 한다면 PARAM..제안된 그리고. 모드 == 4 그리고나서 s = string.format( "추천되지 않는 <코드> %s </code>를 제안하고 있습니다.", 접근 ) 결함.( s ) 합법적인 = 거짓의 끝. 끝. 열심인:특성( "data-param-value", 스트링( 모드 ) ) :노드( 순위 ) :클래스 추가( string.format( %s status-%s %s, 스타일, 상황, "검색 불가" ) ) --<tr> r:특성( "id", "인증된 데이터:" .. 음.uri.anchorEncode(앵커코드)( 접근 ) ) :css( 허용하다.css[ 상황 ] ) :클래스 추가( 스타일 .. 상황 ) :노드( 시작한다. ) :노드( 코드 ) :노드( 기술하다 ) :노드( 입력했다 ) :노드( 열심인 ) :줄바꿈() 한다면 것은 아니다. 합법적인 그리고나서 r:css( "경계", "#FF0000 3px 솔리드" ) 끝. 돌아가다 r 끝. -- feature() 현지의 기능. 특징들() -- 파라미터의 <테이블>을 작성합니다. -- <table>을 반환하거나 0을 반환합니다. 현지의 r 한다면 데이터..트리 그리고. 데이터..트리.파라미터 그리고나서 현지의 티비례 = 음.html.만들다( "테이블" ) 현지의 tr = 음.html.만들다( "tr" ) 위업() 한다면 데이터..주문 그리고. #데이터..주문 > 1 그리고나서 티비례:클래스 추가( "어플리케이션 가능" ) 끝. 한다면 유형( 설정.클래스 테이블 ) == "테이블" 그리고나서 위해서 k, v 에 쌍들( 설정.클래스 테이블 ) 하다 티비례:클래스 추가( v ) 끝. -- k, v의 경우 끝. 한다면 유형( 설정.css 테이블 ) == "테이블" 그리고나서 티비례:css( 설정.css 테이블 ) 끝. tr:클래스 추가( "검색 불가" ) :노드( 음.html.만들다( "th" ) :특성( "colspan", "2" ) :css( 허용하다.css.테이블 헤드 ) :위키텍스트( 공장 ( "doc-facebook-name" ) ) ) :노드( 음.html.만들다( "th" ) :css( 허용하다.css.테이블 헤드 ) :위키텍스트( 공장 ( "doc-disc-desc" ) ) ) :노드( 음.html.만들다( "th" ) :css( 허용하다.css.테이블 헤드 ) :위키텍스트( 공장 ( "doc-facebook-type" ) ) ) :노드( 음.html.만들다( "th" ) :css( 허용하다.css.테이블 헤드 ) :위키텍스트( 공장 ( "doc-doc-status-status" ) ) ) 티비례:줄바꿈() -- : node ( mw . second . create ( " thead " ) :노드( tr ) -- ) :줄바꿈() 한다면 데이터..주문 그리고나서 현지의 떠나, s 위해서 i = 1, #데이터..주문 하다 s = 데이터..주문[ i ] 한다면 s:후보선수( 1, 1 ) == "=" 그리고나서 떠나 = 진실의 티비례:노드( 살찌다( s ) ) 데이터..주문[ i ] = 거짓의 그렇지 않으면 s:경기( "[= ]" ) 그리고나서 결함.( string.format( "Bad param <code> %s </code>", s ) ) 또 다른 티비례:노드( 특징( s ) ) 끝. 끝. -- i = 1, #Data.order의 경우 한다면 떠나 그리고나서 위해서 i = #데이터..주문, 1, -1 하다 한다면 것은 아니다. 데이터..주문[ i ] 그리고나서 테이블.삭제( 데이터..주문, i ) 끝. 끝. -- i = #Data.order, 1, -1의 경우 끝. 데이터..태그.param Order(파라미터 순서) = 데이터..주문 끝. 한다면 설정.css Tab 랩 또는 데이터..스크롤 그리고나서 r = 음.html.만들다( "div" ) 한다면 유형( 설정.css Tab 랩 ) == "테이블" 그리고나서 r:css( 설정.css Tab 랩 ) 그렇지 않으면 유형( 설정.css Tab 랩 ) == "문자열' 그리고나서 -- 권장되지 않음 r:css텍스트( 설정.css Tab 랩 ) 끝. 한다면 데이터..스크롤 그리고나서 r:css( "높이', 데이터..스크롤 ) :css( "실패", "자동" ) 끝. r:노드( 티비례 ) 또 다른 r = 티비례 끝. 끝. 돌아가다 r 끝. -- features() 현지의 기능. 펠로우( 조금도, 맡겨진, 에 ) -- sets [ ]파라미터를 확인하고 필요에 따라 오류 메시지를 발행합니다. -- 파라미터: -- any --는 숫자여야 합니다. -- assigned -- 파라미터 이름 ----번호, 세트 현지의 s 한다면 유형( 조금도 ) ~= "숫자" 그리고나서 s = "< code > sets [ %d . params [ %s ] // code >??" 결함.( string.format( s, 에, 음.본문.노우키( 스트링( 조금도 ) ) ) ) 그렇지 않으면 유형( 맡겨진 ) == "문자열' 그리고나서 한다면 것은 아니다. 데이터..얻었다.파라미터[ 맡겨진 ] 그리고나서 s = "< code > sets [ %d . params %s < / code > 정의되지 않았습니다." 결함.( string.format( s, 에, 맡겨진 ) ) 끝. 또 다른 s = "< code > sets [ %d ]params [ %d ]= %s < / code >??" 결함.( string.format( s, k, 유형( 맡겨진 ) ) ) 끝. 끝. -- fellow() 현지의 기능. 펠로우() -- sets [ ]를 체크하고, 필요에 따라서 에러 메세지를 발행합니다. 현지의 s 한다면 유형( 데이터..얻었다.놓다 ) == "테이블" 그리고나서 한다면 유형( 데이터..얻었다.파라미터 ) == "테이블" 그리고나서 위해서 k, v 에 쌍들( 데이터..얻었다.놓다 ) 하다 한다면 유형( k ) == "숫자" 그리고나서 한다면 유형( v ) == "테이블" 그리고나서 위해서 ek, 에바 에 쌍들( v ) 하다 한다면 ek == "라벨" 그리고나서 s = 유형( 에바 ) 한다면 s ~= "문자열' 그리고. s ~= "테이블" 그리고나서 s = "<code>sets[%d.label</code>??" 결함.( string.format( s, k ) ) 끝. 그렇지 않으면 ek == "패럴" 그리고. 유형( 에바 ) == "테이블" 그리고나서 위해서 패킷, pv 에 쌍들( 에바 ) 하다 펠로우( 패킷, pv, k ) 끝. -- pk, pv의 경우 또 다른 ek = 음.본문.노우키( 스트링( ek ) ) s = "<code>sets[%d][%s]<code>??" 결함.( string.format( s, k, ek ) ) 끝. 끝. -- ek, ev의 경우 또 다른 k = 음.본문.노우키( 스트링( k ) ) v = 음.본문.노우키( 스트링( v ) ) s = string.format( "<code>sets(%s)[%s]</code>??", k, v ) 결함.( s ) 끝. 또 다른 k = 음.본문.노우키( 스트링( k ) ) s = string.format( "<code>sets[%s]<code>?--"?", k ) 결함.( s ) 끝. 끝. -- k, v의 경우 또 다른 s = "<code> 설정에 필요한 파라미터 </code>" 결함.( s ) 끝. 또 다른 s = "<code> sets</code>는 <code>오브젝트</code>타입이어야 합니다." 결함.( s ) 끝. 끝. --fellows() 현지의 기능. 마무리짓다( 발전 ) --프레젠테이션을 프레임으로 정리합니다. -- 파라미터: --어드밴스 --맞아, 좋은 걸 위해서 -- 문자열을 반환합니다. 현지의 r, 랩서스 한다면 데이터..나누다 그리고나서 r = 스트링( 데이터..나누다 ) 그렇지 않으면 데이터..벗다 그리고나서 r = 데이터..벗다 또 다른 랩서스 = 진실의 r = "" 끝. r = r .. 실패.() 한다면 데이터..원천 그리고나서 현지의 라이브 = ( 발전 또는 랩서스 ) 한다면 것은 아니다. 라이브 그리고나서 라이브 = 템플릿 데이터.틀:전처리( "{REVISIONID}}" ) 라이브 = ( 라이브 == "" ) 끝. 한다면 라이브 그리고나서 r = r .. 멋지다( 발전, 랩서스 ) 끝. 끝. 돌아가다 r 끝. -- finalize() 현지의 기능. 발견하다() -- 페이지 소스(제목) 내에서 JSON 데이터 검색 -- 문자열 또는 0을 반환합니다. 현지의 s = 데이터..직함:컨텐츠의 취득() 현지의 i, j = s:발견하다( "<certatedata>, 1, 진실의 ) 현지의 r 한다면 i 그리고나서 현지의 k = s:발견하다( "</containedata>", j, 진실의 ) 한다면 k 그리고나서 r = 음.본문.다듬다( s:후보선수( j + 1, k - 1 ) ) 끝. 끝. 돌아가다 r 끝. -- find() 현지의 기능. 평평한( 조정한다. ) -- VE 텍스트 문자열에서 서식 삭제 -- 파라미터: -- arglist -- 문자열, 제거 또는 제로 -- 문자열 또는 0을 반환합니다. 현지의 r 한다면 조정한다. 그리고나서 r = 조정한다.:서브( "\n", " " ) 한다면 r:발견하다( "<no export>", 1, 진실의 ) 그리고나서 r = r:서브( "<no export>.*</export 없음>", "" ) 끝. 한다면 r:발견하다( "<내보내기 전용>", 1, 진실의 ) 그리고나서 r = r:서브( "<?export only>", "" ) 끝. 한다면 r:발견하다( "''", 1, 진실의 ) 그리고나서 r = r:서브( "'''", "" ):서브( "''", "" ) 끝. 한다면 r:발견하다( "<", 1, 진실의 ) 그리고나서 현지의 본문 = 가지고 오다( "텍스트" ) r = 본문.겟플레인( r:서브( "<br */?>", "\r\n" ) ) 끝. 한다면 r:발견하다( "[", 1, 진실의 ) 그리고나서 현지의 링크 = 가지고 오다( "윙크" ) 한다면 링크.브라켓URL( r ) 그리고나서 r = r:서브( %[[[hf]tt?ps?//%S+] [^%]]+%], "%1" ) 끝. r = 링크.겟플레인( r ) 끝. 한다면 r:발견하다( "&", 1, 진실의 ) 그리고나서 r = 음.본문.해독하다( r ) 한다면 r:발견하다( "­", 1, 진실의 ) 그리고나서 r = r:서브( "­", "" ) 끝. 끝. 끝. 돌아가다 r 끝. -- 플랫() 현지의 기능. 붉어지다() -- JSON 부호화, 좁은 입력, 이름 없는(숫자) 파라미터에 따름 -- <templatedata> JSON 문자열을 반환합니다. 현지의 r 한다면 데이터..태그 그리고나서 r = 음.본문.json Encode(입력 코드)( 데이터..태그 ):서브( "%}$", "," ) 또 다른 r = "{" 끝. r = r .. "\n\"파라미터\":{" 한다면 데이터..주문 그리고나서 현지의 세프 = "" 현지의 s 위해서 i = 1, #데이터..주문 하다 s = 데이터..주문[ i ] r = string.format( %s%s\n%s: %s", r, 세프, 음.본문.json Encode(입력 코드)( s ), 음.본문.json Encode(입력 코드)( 데이터..파라미터[ s ] ) ) 세프 = ",\n" 끝. -- i = 1, #Data.order의 경우 끝. r = r .. "\n}\n}" 돌아가다 r 끝. --flash() 현지의 기능. 초점( 접근 ) -- 컴포넌트 체크, 다국어 설명 집중, 트리 작성 -- 파라미터: -- access -- 문자열, 파라미터 이름, 루트의 경우 null 현지의 f = 기능. ( a, 에 ) 현지의 r 한다면 에 그리고나서 r = string.format( "<code>패럴.%s </code>", 에 ) 또 다른 r = '루트' 끝. 한다면 a 그리고나서 r = string.format( %s <코드>.%s </code>", r, a ) 끝. 돌아가다 r 끝. 현지의 부모 한다면 접근 그리고나서 부모 = 데이터..얻었다.파라미터[ 접근 ] 또 다른 부모 = 데이터..얻었다 끝. 한다면 유형( 부모 ) == "테이블" 그리고나서 현지의 일람, 얻었다, 허용하다, s, 범위, 슬롯, 태그, 타깃 한다면 접근 그리고나서 허용하다 = 허용하다.파라미터 한다면 유형( 접근 ) == "숫자" 그리고나서 슬롯 = 스트링( 접근 ) 또 다른 슬롯 = 접근 끝. 또 다른 허용하다 = 허용하다.뿌리 끝. 위해서 k, v 에 쌍들( 부모 ) 하다 범위 = 허용하다[ k ] 한다면 범위 그리고나서 s = 유형( v ) 한다면 s == "문자열' 그리고. k ~= "형식" 그리고나서 v = 음.본문.다듬다( v ) 끝. 한다면 범위:발견하다( s, 1, 진실의 ) 그리고나서 한다면 범위:발견하다( 'I18N', 1, 진실의 ) 그리고나서 한다면 s == "문자열' 그리고나서 일람 = 공정한( v ) 그렇지 않으면 s == "테이블" 그리고나서 현지의 번역된 v, 번역된 = 아득히( v ) 한다면 v 그리고나서 한다면 번역된 그리고. k == "설명" 그리고나서 일람 = { [ 1 ] = 공정한( v ), [ 2 ] = 번역된 } 또 다른 일람 = 공정한( v ) 끝. 또 다른 일람 = 거짓의 끝. 끝. 한다면 유형( v ) == "문자열' 그리고나서 한다면 k == "권장되지 않음" 그리고나서 한다면 v == "1" 그리고나서 v = 진실의 그렇지 않으면 v == "0" 그리고나서 v = 거짓의 끝. 일람 = v 그렇지 않으면 범위:발견하다( '노우키', 1, 진실의 ) 그리고나서 일람 = 음.본문.노우키( v ) 일람 = 일람:서브( " \n", "<br>" ) v = v:서브( string.char.( 13 ), "" ) 또 다른 v = 평평한( v ) 끝. 그렇지 않으면 s == "실패" 그리고나서 한다면 범위:발견하다( "실패", 1, 진실의 ) 그리고나서 일람 = v 또 다른 s = "유형 <code> boolean </code> bad for " .. f( k, 슬롯 ) 결함.( s ) 끝. 끝. 또 다른 한다면 k == "패럴" 그리고. 것은 아니다. 접근 그리고나서 v = 제로 일람 = 제로 그렇지 않으면 k == "형식" 그리고. 것은 아니다. 접근 그리고나서 일람 = 음.본문.해독하다( v ) v = 제로 그렇지 않으면 k == "실패" 그리고나서 일람 = v 한다면 것은 아니다. 데이터..상속인 그리고나서 데이터..상속인 = { } 끝. 데이터..상속인[ 슬롯 ] = v v = 제로 그렇지 않으면 k == "스타일" 그리고나서 일람 = v v = 제로 그렇지 않으면 s == "문자열' 그리고나서 v = 음.본문.노우키( v ) 일람 = v 또 다른 일람 = v 끝. 끝. 한다면 유형( 일람 ) ~= "실패" 그리고나서 한다면 것은 아니다. 타깃 그리고나서 한다면 접근 그리고나서 한다면 것은 아니다. 데이터..트리.파라미터 그리고나서 데이터..트리.파라미터 = { } 끝. 데이터..트리.파라미터[ 슬롯 ] = { } 타깃 = 데이터..트리.파라미터[ 슬롯 ] 또 다른 데이터..트리 = { } 타깃 = 데이터..트리 끝. 끝. 타깃[ k ] = 일람 일람 = 거짓의 끝. 한다면 유형( v ) ~= "실패" 그리고나서 한다면 것은 아니다. 태그 그리고나서 한다면 접근 그리고나서 한다면 유형( v ) == "문자열' 그리고. v.후보선수( 1, 1 ) == "=" 그리고나서 v = 제로 또 다른 한다면 것은 아니다. 데이터..파라미터 그리고나서 데이터..파라미터 = { } 끝. 데이터..파라미터[ 슬롯 ] = { } 태그 = 데이터..파라미터[ 슬롯 ] 끝. 또 다른 데이터..태그 = { } 태그 = 데이터..태그 끝. 끝. 한다면 유형( v ) ~= "실패" 그리고. k ~= "값" 그리고나서 태그[ k ] = v 끝. 끝. 또 다른 s = string.format( "%s의 <code> %s </code> 타입이 잘못되었습니다.", 범위, f( k, 슬롯 ) ) 결함.( s ) 끝. 또 다른 결함.( "알 수 없는 구성 요소" .. f( k, 슬롯 ) ) 끝. 끝. -- k, v의 경우 한다면 것은 아니다. 접근 그리고. 데이터..얻었다.놓다 그리고나서 펠로우() 끝. 또 다른 결함.( f() .. " <code> 오브젝트 </code> 타입이어야 합니다." ) 끝. 끝. --focus() 현지의 기능. 포맷() -- 포맷된 요소를 빌드합니다. --<inline>을 반환합니다. 현지의 원천 = 데이터..트리.포맷:더 낮게() 현지의 r, s 한다면 원천 == "실패" 또는 원천 == '블록" 그리고나서 r = 음.html.만들다( '나' ) :위키텍스트( 원천 ) 또 다른 현지의 코드 한다면 원천:발견하다( " ", 1, 진실의 ) 그리고나서 현지의 스캔 = "^[\n]*%{%{[\n_]* [\n_]*=[\n_]*%}%}[\n]*$" 한다면 원천:경기( 스캔 ) 그리고나서 코드 = 원천:서브( "\n", 'N' ) 또 다른 s = 음.본문.노우키( 원천 ):서브( "\n", "\n" ) s = 스트링( 음.html.만들다( "코드" ) :위키텍스트( s ) ) 결함.( "잘못된 형식" .. s ) 원천 = 거짓의 끝. 또 다른 현지의 단어 = 음.본문.분열되다( 원천, %s+ ) 현지의 표시하다, 개시하다, 지지하다, 알 수 없는 위해서 i = 1, #단어 하다 s = 단어[ i ] 한다면 i == 1 그리고나서 개시하다 = s 끝. 지지하다 = 허용하다.빌더[ s ] 한다면 지지하다 == 개시하다 또는 지지하다 == "*" 그리고나서 허용하다.빌더[ s ] = 진실의 그렇지 않으면 s:경기( "^[1-9]%d?" ) 그리고. 허용하다.빌더.정렬하다 그리고나서 허용하다.빌더.정렬하다 = 톤수( s ) 또 다른 한다면 알 수 없는 그리고나서 알 수 없는 = string.format( %s %s, 알 수 없는, s ) 또 다른 알 수 없는 = s 끝. 끝. 끝. -- i = 1, #words 한다면 알 수 없는 그리고나서 s = 스트링( 음.html.만들다( "코드" ) :css( "공백 공간", "nowrap" ) :위키텍스트( s ) ) 결함.( "Unknown/misplaced format 키워드" .. s ) 원천 = 거짓의 개시하다 = 거짓의 끝. 한다면 개시하다 == "실패" 그리고나서 한다면 허용하다.빌더.반 == 진실의 그리고나서 표시하다 = '반쪽' 코드 = "{{_ _=_}}" 그렇지 않으면 허용하다.빌더.그룹화된 == 진실의 그리고나서 표시하다 = "그룹화된 패키지" 코드 = "{{_ _=_}}" 그렇지 않으면 허용하다.빌더.간격을 두었다 == 진실의 그리고나서 표시하다 = '간격 코드 = "{{_ _ = _ }}" 끝. 한다면 허용하다.빌더.줄바꿈 == 진실의 그리고나서 표시하다 = 표시하다 또는 "실패" 코드 = 코드 또는 "{{_ _=_}}" 표시하다 = 표시하다 .. "새 행" 코드 = string.format( "N%sN", 코드 ) 끝. 그렇지 않으면 개시하다 == '블록" 그리고나서 현지의 공간 = "" " 와 이름" 가운데 현지의 간격을 두었다 = " " -- "=" 앞 현지의 스페이스 바 = " " -- "="에 이어 현지의 접미사 = 'N' -- 새 줄에서 "}"을(를) 닫습니다. 표시하다 = '블록" 한다면 허용하다.빌더.들여쓰다 == 진실의 그리고나서 개시하다 = " " 표시하다 = "블록 들여쓰기" 또 다른 개시하다 = "" 끝. 한다면 허용하다.빌더.압축된 == 진실의 그리고나서 간격을 두었다 = "" 스페이스 바 = "" 표시하다 = 표시하다 .. "압축" 한다면 허용하다.빌더.지난 == 진실의 그리고나서 표시하다 = 표시하다 .. "마지막" 또 다른 접미사 = "" 끝. 또 다른 한다면 허용하다.빌더.이끌다 == 진실의 그리고나서 표시하다 = 표시하다 .. "리드" 공간 = " " 끝. 한다면 유형( 허용하다.빌더.정렬하다 ) ~= "문자열' 그리고나서 현지의 n s = 정렬 한다면 허용하다.빌더.정렬하다 == 진실의 그리고나서 n = 0 한다면 유형( 데이터..얻었다 ) == "테이블" 그리고. 유형( 데이터..얻었다.파라미터 ) == "테이블" 그리고나서 위해서 k, v 에 쌍들( 데이터..얻었다.파라미터 ) 하다 한다면 유형( v ) == "테이블" 그리고. 것은 아니다. v.권장되지 않다 그리고. 유형( k ) == "문자열' 그리고나서 k = 음.스트링.렌( k ) 한다면 k > n 그리고나서 n = k 끝. 끝. 끝. -- k, v의 경우 끝. 또 다른 n = 허용하다.빌더.정렬하다 한다면 유형( n ) == "숫자" 그리고. n > 1 그리고나서 s = string.format( %s %d, s, n ) 또 다른 n = 0 왜? 끝. 끝. 한다면 n > 1 그리고나서 간격을 두었다 = string.rep( "_", n - 1 ) .. " " 끝. 표시하다 = 표시하다 .. s 그렇지 않으면 허용하다.빌더.끝나고 == 진실의 그리고나서 간격을 두었다 = "" 표시하다 = 표시하다 .. "후" 그렇지 않으면 허용하다.빌더.조밀. == 진실의 그리고나서 간격을 두었다 = "" 스페이스 바 = "" 표시하다 = 표시하다 .. 고밀도 끝. 한다면 허용하다.빌더.지난 == 진실의 그리고나서 접미사 = 스페이스 바 표시하다 = 표시하다 .. "마지막" 끝. 끝. 코드 = string.format( "N{_N%s %s_%s=%s_%s}"N", 개시하다, 공간, 간격을 두었다, 스페이스 바, 접미사 ) 한다면 표시하다 == '블록" 그리고나서 표시하다 = "새 줄 차단" 끝. 끝. 한다면 표시하다 그리고나서 r = 음.html.만들다( "스판" ) :위키텍스트( 표시하다 ) 끝. 끝. 한다면 코드 그리고나서 원천 = 코드:서브( 'N', "\n" ) 코드 = 음.본문.노우키( 코드 ):서브( 'N', "\n" ) 코드 = 음.html.만들다( "코드" ) :css( "좌향좌향", "1em" ) :css( "오른쪽", "1em" ) :위키텍스트( 코드 ) 한다면 r 그리고나서 r = 음.html.만들다( "스판" ) :노드( r ) :노드( 코드 ) 또 다른 r = 코드 끝. 끝. 끝. 한다면 원천 그리고. 데이터..태그 그리고나서 데이터..태그.포맷 = 원천 끝. 돌아가다 r 끝. -- format() 현지의 기능. 포맷하는 사람() -- 제시된 문서를 작성합니다. -- <div>를 반환합니다. 현지의 r = 음.html.만들다( "div" ) 현지의 x = 정형화된( 데이터..트리, 진실의, r ) 현지의 s 한다면 x 그리고나서 r = x 끝. 한다면 데이터..이끄는 그리고나서 현지의 틱 = 음.html.만들다( "div" ) 현지의 교대하다 한다면 설정.진압하다TOCNum 그리고나서 틱:클래스 추가( 설정.진압하다TOCNum ) 한다면 유형( 설정.스타일 TOCNum ) == "문자열' 그리고나서 현지의 src = 설정.스타일 TOCNum .. "/styles.css" s = 템플릿 데이터.틀:확장 태그( '패턴 스타일', 제로, { src = src } ) r:줄바꿈() :노드( s ) 끝. 끝. 틱:클래스 추가( "검색 불가" ) :css( "상단", "0.5em" ) :위키텍스트( "_TOC__" ) 한다면 데이터..형제 그리고나서 현지의 블록 = 음.html.만들다( "div" ) 한다면 템플릿 데이터.ltr 그리고나서 교대하다 = "올바른" 또 다른 교대하다 = "왼쪽 끝. 블록:css( "실패", 교대하다 ) :위키텍스트( 데이터..형제 ) r:줄바꿈() :노드( 블록 ) :줄바꿈() 끝. r:줄바꿈() :노드( 틱 ) :줄바꿈() 한다면 교대하다 그리고나서 r:노드( 음.html.만들다( "div" ) :css( "클리어", 교대하다 ) ) :줄바꿈() 끝. 끝. s = 특징들() 한다면 s 그리고나서 한다면 데이터..이끄는 그리고나서 r:노드( 음.html.만들다( "h" .. 설정.중첩된 ) :위키텍스트( 공장 ( "doc-params" ) ) ) :줄바꿈() 끝. r:노드( s ) 끝. 한다면 데이터..공유했습니다. 그리고나서 현지의 세계적인 = 음.html.만들다( "div" ) :특성( "id", "글로벌 인증 완료" ) 현지의 교대하다 한다면 템플릿 데이터.ltr 그리고나서 교대하다 = "올바른" 또 다른 교대하다 = "왼쪽 끝. 세계적인:css( "실패", 교대하다 ) :위키텍스트( string.format( "[%s %s]", 데이터..공유했습니다., "글로벌" ) ) r:줄바꿈() :노드( 세계적인 ) 끝. 한다면 데이터..트리 그리고. 데이터..트리.포맷 그리고나서 현지의 e = 포맷() 한다면 e 그리고나서 현지의 표시하다 = "형식" 한다면 설정.support Format 그리고나서 표시하다 = string.format( "[%s %s]", 설정.support Format, 표시하다 ) 끝. r:노드( 음.html.만들다( "p" ) :클래스 추가( "검색 불가" ) :위키텍스트( 표시하다 .. ": " ) :노드( e ) ) 끝. 끝. 돌아가다 r 끝. -- formatter() 현지의 기능. 공짜() -- JSON 댓글 행 삭제 한다면 데이터..원천:발견하다( "//", 1, 진실의 ) 그리고나서 데이터..원천:서브( "([{,\"']'(%s*)\n%s*//.*\n%s*([{})\"'])", "%1%3" ) 끝. 끝. -- free() 현지의 기능. 가득한() -- JSON 데이터로 조사표 작성, 보이지 않는 <템플릿타> 추가 데이터..나누다 = 음.html.만들다( "div" ) :클래스 추가( "mw-containatedata-doc-doc-disc" ) 한다면 허용하다.css.bg 그리고나서 데이터..나누다:css( 허용하다.css.bg ) 끝. 한다면 허용하다.css.fg 그리고나서 데이터..나누다:css( 허용하다.css.fg ) 끝. 초점() 한다면 데이터..태그 그리고나서 한다면 유형( 데이터..얻었다.파라미터 ) == "테이블" 그리고나서 위해서 k, v 에 쌍들( 데이터..얻었다.파라미터 ) 하다 초점( k ) 끝. -- k, v의 경우 한다면 데이터..상속인 그리고나서 아버지들() 끝. 끝. 끝. 데이터..나누다:노드( 포맷하는 사람() ) 한다면 것은 아니다. 데이터..게으른 그리고나서 데이터..날씬한 = 붉어지다() 한다면 템플릿 데이터.틀 그리고나서 현지의 나누다 = 음.html.만들다( "div" ) 현지의 데이터 = { [ 1 ] = "검증 완료", [ 2 ] = 데이터..날씬한 } 데이터..벗다 = 템플릿 데이터.틀:callParser 기능( "#태그", 데이터 ) 나누다:위키텍스트( 데이터..벗다 ) 한다면 설정.시끄럽게 그리고나서 데이터..나누다:노드( 음.html.만들다( "hr" ) :css( { 높이 = "7ex" } ) ) 또 다른 나누다:css( "디스플레이", "없음" ) 끝. 데이터..나누다:노드( 나누다 ) 끝. 끝. 한다면 데이터..영속적인 그리고나서 결함.( "사용되지 않는 형식 구문" ) 끝. 한다면 데이터..더 적은 그리고나서 결함.( 설정.단독의 ) 끝. 끝. --full() 현지의 기능. 제공하다( 적응하다, 리스트 ) -- 트랜스클루전 분석 -- 파라미터: -- adapt -- 테이블, #parameters 파라미터 -- arglist -- 테이블, 템플릿파라미터 -- 문자열을 반환합니다. 현지의 원천 편애하다() -- 권장되지 않음: 위해서 k, v 에 쌍들( 설정.기본 Cnf ) 하다 한다면 적응하다[ k ] 그리고. 적응하다[ k ] ~= "" 그리고나서 설정[ v ] = 적응하다[ k ] 끝. 끝. -- k, v의 경우 한다면 리스트.표제 그리고. 리스트.표제:경기( "^[3-6]$" ) 그리고나서 설정.중첩된 = 리스트.표제 또 다른 설정.중첩된 = "2" 끝. 설정.시끄럽게 = 교수진( 리스트.디버깅 또는 적응하다.디버깅 ) 데이터..게으른 = 교수진( 리스트.게으른 ) 그리고. 것은 아니다. 설정.시끄럽게 데이터..이끄는 = 교수진( 리스트.TOC ) 한다면 데이터..이끄는 그리고. 리스트.TOC시블링 그리고나서 데이터..형제 = 음.본문.다듬다( 리스트.TOC시블링 ) 끝. 한다면 리스트.언어 그리고나서 데이터..속어. = 리스트.언어:더 낮게() 그렇지 않으면 적응하다.언어 그리고나서 데이터..속어. = 적응하다.언어:더 낮게() 끝. 한다면 리스트.JSON 그리고나서 원천 = 리스트.JSON 그렇지 않으면 리스트.세계적인 그리고나서 원천 = 템플릿 데이터.getGlobalJ아들.( 리스트.세계적인, 리스트.현지의 ) 그렇지 않으면 리스트[ 1 ] 그리고나서 현지의 s = 음.본문.다듬다( 리스트[ 1 ] ) 현지의 개시하다 = s:후보선수( 1, 1 ) 한다면 개시하다 == "<" 그리고나서 데이터..벗다 = s 그렇지 않으면 개시하다 == "{" 그리고나서 원천 = s 그렇지 않으면 음.스트링.후보선수( s, 1, 8 ) == 음.스트링.차( 127, 39, 34, 96, 85, 78, 73, 81 ) 그리고나서 데이터..벗다 = s 끝. 끝. 한다면 유형( 리스트.수직의 ) == "문자열' 그리고. 리스트.수직의:경기( "^%d*%?"%d+[emprx]+$" ) 그리고나서 데이터..스크롤 = 리스트.수직의 끝. 한다면 것은 아니다. 원천 그리고나서 데이터..직함 = 음.직함.get Current Title(전류 제목)() 원천 = 발견하다() 한다면 것은 아니다. 원천 그리고. 것은 아니다. 데이터..직함.본문:경기( 설정.서브 페이지 ) 그리고나서 현지의 s = string.format( 설정.접미사, 데이터..직함.프리픽스본문 ) 데이터..직함 = 음.직함.신규( s ) 한다면 데이터..직함.존재한다 그리고나서 원천 = 발견하다() 끝. 끝. 끝. 한다면 것은 아니다. 데이터..게으른 그리고나서 한다면 것은 아니다. 데이터..직함 그리고나서 데이터..직함 = 음.직함.get Current Title(전류 제목)() 끝. 데이터..게으른 = 데이터..직함.본문:경기( 설정.서브 페이지 ) 끝. 한다면 유형( 원천 ) == "문자열' 그리고나서 템플릿 데이터.getPlainJ아들.( 원천 ) 끝. 돌아가다 마무리짓다( 교수진( 리스트.원천 ) ) 끝. -- 제공() 페일 세이프.페일 세이프 = 기능. ( 적어도 ) --버전 관리를 취득하여 컴플라이언스를 확인합니다. -- 전제 조건: -- 최소 -- 문자열(필요한 버전 포함) -- 또는 wikidata 항목 ~ @ 또는 false -- 사후 조건: --문제의 버전/항목과 함께 문자열을 반환합니다(문제가 있는 경우에도 마찬가지). -- false -- 적절한 경우 -- 2020-08-17 현지의 부터 = 적어도 현지의 지난 = ( 부터 == "~" ) 현지의 링크된 = ( 부터 == "@" ) 현지의 링크 = ( 부터 == "항목" ) 현지의 r 한다면 지난 또는 링크 또는 링크된 또는 부터 == "카메리다타" 그리고나서 현지의 아이템 = 페일 세이프.아이템 부터 = 거짓의 한다면 유형( 아이템 ) == "숫자" 그리고. 아이템 > 0 그리고나서 현지의 적합. = string.format( "Q%d", 아이템 ) 한다면 링크 그리고나서 r = 적합. 또 다른 현지의 독립체 = 음.키보드.엔티티( 적합. ) 한다면 유형( 독립체 ) == "테이블" 그리고나서 현지의 추구한다. = 페일 세이프.serial Property 또는 "P348" 현지의 vsn = 독립체:format Property Values( 추구한다. ) 한다면 유형( vsn ) == "테이블" 그리고. 유형( vsn.가치 ) == "문자열' 그리고. vsn.가치 ~= "" 그리고나서 한다면 지난 그리고. vsn.가치 == 페일 세이프.시리얼 그리고나서 r = 거짓의 그렇지 않으면 링크된 그리고나서 한다면 음.직함.get Current Title(전류 제목)().프리픽스본문 == 음.키보드.get Sitelink를 취득하다( 적합. ) 그리고나서 r = 거짓의 또 다른 r = 적합. 끝. 또 다른 r = vsn.가치 끝. 끝. 끝. 끝. 끝. 끝. 한다면 유형( r ) == "실패" 그리고나서 한다면 것은 아니다. 부터 또는 부터 <=> 페일 세이프.시리얼 그리고나서 r = 페일 세이프.시리얼 또 다른 r = 거짓의 끝. 끝. 돌아가다 r 끝. -- Failsafe.failsafe() 템플릿 데이터.getGlobalJ아들. = 기능. ( 접근, 적응하다 ) -- 글로벌 저장소(JSON)에서 템플릿 데이터 가져오기 -- 파라미터: -- access -- 페이지 지정자를 포함한 문자열(WikiMedia Commons) --adapt -- JSON 문자열 또는 로컬오버라이드가 있는 테이블 -- 성공하면 true를 반환합니다. 현지의 플러그인 = 가지고 오다( "/글로벌" ) 현지의 r 한다면 유형( 플러그인 ) == "테이블" 그리고. 유형( 플러그인.가지고 오다 ) == "기능' 그리고나서 현지의 s, 얻었다 = 플러그인.가지고 오다( 접근, 적응하다 ) 한다면 얻었다 그리고나서 데이터..얻었다 = 얻었다 데이터..주문 = 얻었다.param Order(파라미터 순서) 데이터..공유했습니다. = s r = 진실의 가득한() 또 다른 결함.( s ) 끝. 끝. 돌아가다 r 끝. -- TemplateData.getGlobalJSON() 템플릿 데이터.getPlainJ아들. = 기능. ( 적응하다 ) --확장된 JSON 데이터를 일반 텍스트로 현지화된 JSON으로 변환합니다. -- 파라미터: --adapt -- 문자열, 확장 JSON을 사용합니다. -- 문자열을 반환하거나 반환하지 않습니다. 한다면 유형( 적응하다 ) == "문자열' 그리고나서 현지의 JSONutil = 가지고 오다( "JSONutil", 진실의 ) 데이터..원천 = 적응하다 공짜() 한다면 JSONutil 그리고나서 현지의 다국어 = 가지고 오다( "다국어", 진실의 ) 현지의 f 한다면 다국어 그리고나서 f = 다국어.18n 끝. 데이터..얻었다 = JSONutil.가지고 오다( 데이터..원천, 진실의, f ) 또 다른 현지의 행운의 행운의, 데이터..얻었다 = pcall( 음.본문.json 디코드, 데이터..원천 ) 끝. 한다면 유형( 데이터..얻었다 ) == "테이블" 그리고나서 가득한() 그렇지 않으면 것은 아니다. 데이터..벗다 그리고나서 현지의 비명을 지르다 = 유형( 데이터..얻었다 ) 한다면 비명을 지르다 == "문자열' 그리고나서 비명을 지르다 = 데이터..얻었다 또 다른 비명을 지르다 = "Data.got: " .. 비명을 지르다 끝. 결함.( 치명적인 JSON 오류: .. 비명을 지르다 ) 끝. 끝. 돌아가다 데이터..날씬한 끝. -- TemplateData . getPlainJSON() 템플릿 데이터.시험 = 기능. ( 적응하다, 리스트 ) 템플릿 데이터.틀 = 음.get Current Frame(전류 프레임)() 돌아가다 제공하다( 적응하다, 리스트 ) 끝. -- TemplateData.test() -- 내보내기 현지의 p = { } p.f = 기능. ( 틀 ) -- 템플릿콜 현지의 행운의, r 템플릿 데이터.틀 = 틀 행운의, r = pcall( 제공하다, 틀.args, 틀:부모 취득().args ) 한다면 것은 아니다. 행운의 그리고나서 결함.( "내부: " .. r ) r = 실패.() 끝. 돌아가다 r 끝. -- 페이지 p.페일 세이프 = 기능. ( 틀 ) --버전 관리 인터페이스 현지의 s = 유형( 틀 ) 현지의 부터 한다면 s == "테이블" 그리고나서 부터 = 틀.args[ 1 ] 그렇지 않으면 s == "문자열' 그리고나서 부터 = 틀 끝. 한다면 부터 그리고나서 부터 = 음.본문.다듬다( 부터 ) 한다면 부터 == "" 그리고나서 부터 = 거짓의 끝. 끝. 돌아가다 페일 세이프.페일 세이프( 부터 ) 또는 "" 끝. -- p. fail safe p.템플릿 데이터 = 기능. () -- 모듈 인터페이스 돌아가다 템플릿 데이터 끝. 돌아가다 p