모듈:템플릿DataGenerator

Module:TemplateDataGenerator

--[=[ 2013-08-05 {{템플릿DataGenerator}} [[w:en:]의 기본 아이디어]사용자:Salix alba]] ]=]    국부적 구성 = {     사치스러운 = 거짓의,    -- 매개 변수 목록의 기본 알파벳 순서     출발하다  = 거짓의,    &shy; 전행선     교대시키다  = "   ",    - (지금은 사용하지 않음) " 또는 "\t"와 같은 들여쓰기     접미사 = 거짓의,    -- 다음 줄     계략을 꾸미다 = [=["%s": { "%s": "%s" "description": " , "타입": "끈" "false": false }]=]     -- config.계획에는 %s 자리 표시자가 있음     - 매개변수 이름 및 "수집"에 대한 것.     -- 다양한 들여쓰기 스타일 중 하나.     -- 구성을 사용하여 다른 구성을 자유롭게 작성하십시오.교대 등 };    국부적 기능을 하다 공장 ( 분석하다, 알파벳의 )     -- 템플릿 원본 텍스트에서 매개 변수 시퀀스 만들기     -- 분석 -- 문자열; 템플릿 원본 텍스트     -- 알파벳순 -- 부울 또는 nil; 매개 변수 목록 정렬     -- 반환:     -- 매개 변수 이름이 있는 테이블(표)     국부적 i, s;     국부적 r = { };     을 위해 s  분석하다:gmatch( "{{{([^ }\n]+)" ) 하다         을 위해 i = 1, #r 하다             만일 r[ i ] == s 그때                 s = 거짓의;                 부숴뜨리다; - 나로서는             종지부를 찍다         종지부를 찍다 - 나로서는         만일 s 그때             table.insert( r, s );         종지부를 찍다     종지부를 찍다 --s for s in :gmatch()     만일 알파벳의 그때         table.properties( r, 못을 박다 );     종지부를 찍다     돌아오다 r; 종지부를 찍다 &shy; 공장 설립    국부적 기능을 하다 형식을 갖추다( 분석하다, 알파벳의 )     -- 템플릿 원본 텍스트에서 JSON 코드 만들기     -- 분석 -- 문자열; 템플릿 원본 텍스트     -- 알파벳순 -- 부울 또는 nil; 매개 변수 목록 정렬     -- 반환:     -- JSON 코드가 있는 문자열     -- 사용:     -- > 구성.교대시키다     -- > 구성.계략을 꾸미다     &shy; 공장 설립     국부적 i;     국부적 모조품 = 공장 ( 분석하다, 알파벳의 );     국부적 r      = '{ "description": " ,\n'; -- 로컬 이동 = 구성.shift 또는 ""; -- 현재 사용되지 않음     국부적 출발하다  = "            ";     국부적 보여 주다, 심볼;     r = r ..       '파람스: { ';     을 위해 i = 1, #모조품 하다         만일 i > 1 그때             r = 문자열.format( "%s,\n%s ", r, 출발하다 );         종지부를 찍다         심볼 = 모조품[ i ];         만일 mw.우스트링.짝을 맞추다( 심볼, "^%u%u%u" ) 그때             보여 주다 = mw.우스트링.후보선수( 심볼, 1, 1 ) ..                    mw.우스트링.더 낮게( mw.우스트링.후보선수( 심볼, 2 ) );         다른             보여 주다 = "";         종지부를 찍다         r = r .. 문자열.format( 구성.계략을 꾸미다, 심볼, 보여 주다 );         - 일반적인 JSON 패턴은 ASC이다.II; 끈.formatsformatts will do will do.     종지부를 찍다 - 나로서는     r = 문자열.format( %s\n%s}\n}", r, 출발하다 );     돌아오다 r; 종지부를 찍다 -- 형식 지정    국부적 기능을 하다 재미있다( 시도하다, 알파벳의 )     -- 사용된 템플릿 매개 변수 검색 및 템플릿 빌드데이터 골격     -- 전제 조건:     -- 시도 -- mw.dll 개체, 템플릿 코드 관련     -- 알파벳순 -- 부울 또는 nil; 매개 변수 목록 정렬     -- 반환:     -- 적용할 문자열     -- 사용:     -- > config.properties     -- > config.start     -- > config.properties     -- 형식 지정     국부적 r;     국부적 출처 = 끈.매치( 시도하다.baseText .. "/",                                  "^([^/]+)/" );                    -- 하위 페이지 속성이 없는 NS의 상위 페이지 확인                    -- 패턴이 ASC라는 점에 유의II; string.match()이면 된다.     국부적 칭호를 붙이다  = mw.칭호를 붙이다.makeTitle( 시도하다.네임스페이스, 출처 );     만일 칭호를 붙이다.존재한다 그때         국부적 사치스러운 = 구성.사치스러운;         국부적 스펙을 붙이다   = "%s(%s)"\n%s\n</오피티드타>\n%s ";         만일 타자를 치다( 알파벳의 ) == "부울" 그때             사치스러운 = 알파벳의;         종지부를 찍다         만일 구성.출발하다 그때             r = 구성.출발하다 .. "\n";         다른             r = "";         종지부를 찍다         r = 문자열.format( 스펙을 붙이다,                            r,                            형식을 갖추다( 칭호를 붙이다:getContent(), 사치스러운 ),                            구성.접미사 또는 "" );         -- 형식 지정은 ASCII 전용이며 문자열이라는 점에 유의하십시오.formatsformatts will do will do.     다른    -- 테스트 전용         r = "오류 * 페이지 없음 " .. 칭호를 붙이다.전체 텍스트;     종지부를 찍다     돌아오다 r; 종지부를 찍다 -- funnyweat.    -- 내보내기 국부적 p = {};  기능을 하다 p.getblock( 페이지 번호표, 네임스페이스, 알파벳의 )     -- 전제 조건:     -- 페이지 유형 -- 문자열, 템플릿 코드와 관련된 페이지 제목     -- 네임스페이스 -- 문자열, 숫자 또는 nil, 네임스페이스(템플릿:)     -- 알파벳순 -- 부울 또는 nil; 매개 변수 목록 정렬     -- 사용:     -- funnyweat.     국부적 칭호를 붙이다 = mw.칭호를 붙이다.makeTitle( 네임스페이스 또는 10,  페이지 번호표 );     국부적 행운의, r = 피콜( 재미있다, 칭호를 붙이다, 알파벳의 );     돌아오다 r; 종지부를 찍다 -- getBlock()    기능을 하다 p.f( 액자에 넣다 )     -- 전제 조건:     -- 프레임 -- 객체     -- 템플릿 페이지 또는 템플릿 하위 페이지에서 호출됨.     -- 사용:     -- funnyweat.     국부적 사치스러운;     국부적 부모의 = 액자에 넣다:getParent().아그;     국부적 분류하다     = 부모의[ 1 ] 또는 부모의[ "1" ] 또는 부모의.분류하다;     만일 분류하다 그때         사치스러운 = ( 톤넘버( 분류하다) == 1 );     종지부를 찍다     국부적 행운의, r = 피콜( 재미있다, mw.칭호를 붙이다.getCurrentTitle(), 사치스러운 );     &shy; 반품 "<pre" .. r .. "pre";     돌아오다 r;  종지부를 찍다 - .f()  돌아오다 p;