- 주의! -- 이 버전의 발췌는 포털 이름 공간 및 관련 템플릿 전용으로 설계되었습니다. -- 선호 모듈:가능한 한 발췌하다 -- 오류가 있는 콘텐츠 페이지를 추적할 카테고리 이름 현지의 error Category = 발췌가 깨진 기사 -- 에러 메시지 현지의 에러 메시지 = { 접두사 = "제외 오류: ", 페이지 없음 = "페이지 없음", page Not Found(찾을 수 없음) = "%s 페이지를 찾을 수 없습니다", 납이 비어 있다 = "리드 섹션이 비어 있습니다.", 섹션 비어 있음 = "섹션 '%s'이(가) 비어 있습니다.", 섹션 찾을 수 없음 = "섹션 '%s'을(를) 찾을 수 없습니다.", 프래그먼트 비어 있음 = "'%s' 조각이 비어 있습니다.", fragment Not Found(찾을 수 없음) = "'%s 조각'을 찾을 수 없습니다." } -- 파일 이름 공간의 모든 별칭과 일치하는 정규 표현식 현지의 파일 네임스페이스 = { [후루룩], [II] 마이지 } -- 모든 이미지 파라미터와 일치하는 정규 표현 현지의 imageParams(이미지 파라미터) = { {"실패", "실패", "프레임", "실패", "프레임 없음"}, {"올바른", "왼쪽, "중앙", "없음"}, {"실패", "중간", '서브", "슈퍼", "텍스트 톱", "텍스트 하단", "상부", '하단'} } -- 이미지 캡션의 모든 정보 상자 매개 변수와 일치하는 정규 표현식 현지의 캡션 파라미터 = { [^=]*[Cc]Action[^=]*", [^=]*[Ll]egend[^=]*" } -- 트랜스코드할 수 있는 파일 형식 현지의 파일 타입 = {[GG] [Ii] [FF], [JJ] [Pp] [EE]?[아이고], [Pp] [Nn] [Gg], [Ss] [VV] [GG], [TT][II][Ff] [FF], [XX] [Cc] [FF]} -- 발췌에서 바람직하지 않은 모든 인라인템플릿과 일치하는 정규 표현식 현지의 바람직하지 않다Inline Templates = { [이] fn, [이] fn%-[lu][arg], [이] fn [%a ]-, [이]l[mn], "[으르렁]p?", [Ss]fn[bmp], [Ss]f[bn], [없음][TT]ag], "#[Tt]ag:%s*[Rr]ef", [으르렁] 응?, [CcDd]n], [참조] [%-_]필요], [Dd] 명확화 필요], [FF]특징 기사, [GG] 굿 기사, [드] ISPLAYTITLE, [Ss]hort[ _ ] + description ], [참조], [Cc]ite[%-_]+[%w_%s]-, [Cc]oor[%w_%s]-, [어] 응?[Rr] 사용 가능한 소스[%]%w_%s]-, [Rr]%??", [VV]c], [VV]신뢰성 확인], [Bb]y [ _ ] *[우]호[m]*%??", [Ww]ikisource[-_]*멀티, [Ii]nflation[_/-]*[FF]n], [Bb] iblesource], -- 명확화를 위한 에일리어스 필요 [Cc]f[ny], [Cc] 확대[ _ ] + 인라인, [Cc] 확대[%-_]*필요], [Cc] 확대, [Cc] 확대 %-inline, [Cc]확대%-?me, [Cc]larize [ _ ]+inline, [Cc] 넓어지다, [Cc] 라리파이, [Cc] onfusing %-inline, [Cc] onfusing%-short, [이] xplainme, [H]어[_]*%??", [우와] 모자%?, [Ii]nline[ _ ] +[UU] nclear., [Ii]n[ _ ] + What [ _ ] + sense ], [우우우우우우], [Pp] 리스[ _ ] + clarify ], [uu]nclear [ _ ]+inline ], [우와] 이게 뭐야[ _]+이 %?, [G] eoQuelle, [Nn]e(s)+[%-_]+[II] [Pp] [Aa], [Ii] PA 필요, -- 설명에 필요한 에일리어스 [Cc]itation에 %(?lea?de?%)가 필요했습니다., [Cc]nl, [FF] 액트 %(?lea?de?%)?, "ll]ead 인용 필요", [Nn] 몸에 없음], [Nn]본문 검증 안 됨], - 1차 소스 등 [Pp] s[ci], [N] psn, [Nn] on%-primary [ _ ] + source [ _ ] + needed ], [Ss]elf%-published[%w_%s]-, [Uu] 서버 % 생성 [%w_%s]-, [Pp] 주요 소스[%w_%s]-, [ Ss ] eledary source [ %w _ %s ]-, [Tt] 기록 소스[%w_%s]-, [TT] hird%-party[%w_%s]-, -- 명확화(페이지) 등의 에일리어스 [Bb] 에그리프스크래룽, [아아아아아아아아아아아아아아아아아아아아아아아아악], [드]크다, [%w_%s]-%f[%w][Dd]이삼[%w_%s]-, [HH] [Nn] [Dd] [ii] [Ss], -- 검증 실패의 에일리어스 [Bb] 어드레프, [아일][ds] ?[filename][%w_%s]-, [F] [VV], [NN] [II]?[Cc] [GG], [ Nn ] not ?in ? [ crs ][ %w _ % s ] 。, [Nn] 특별히 출처는 없습니다., [VV] 삭제 실패[%-_], -- 시간 에일리어스 [Aa]s[ _ ]+ of [ _ ]+ 언제 %??", [Aa]s [ _% - ]+%??", [날짜 확대], [ Dd ]ate [ _ ] * 필요, "아니요?"[ _ ] + 날짜", [rr]요즘은, [Ss]ince [ _ ] + 언제 %??", [WW]HEN], [우와]헨%??", -- 업데이트의 에일리어스 [Nn]ot [ _ ] * up [ _ ] * to [ _ ] * date ],[어] 어? [Tt] [Dd],[우]ut[%-_]*o?f?[%-_]*날짜?", [UU]PDATE, [Uu]pdate[ _ ] + sect ], [ UU ]pdate [ _ ] +보다, -- 발음을 위한 에일리어스가 필요합니다. [pp] 발음%??[%-_]*n?e?d?e?d?d?", [Pp] 로넌스, [Rr] 등가 [%-_]* 발음], [Rr]e?q?pron ], [Nn]ees[%-_]*발음], -- 차트(차트/시작 등) [Cc]하트, [Cc]hart/[%w_%s]-, -- Cref 및 기타 [Cc]ref2?, [참고] 메모, -- 설명 및 기타 [이] x ], [F] 기타 [ ] * 설명 필요 [ ]*", [이] 노동[ ]*필요], [이] xplanation [ ]* 필요, -- TOC 템플릿 [Cc] [Oo] [Mm] [Pp][아] [Cc][TT][ _ ]*[TT] [Oo] [Cc] [8]*[5]*", [TT] [Oo] [Cc], "09[Aa][ZZ]", [Tt] [Oo] [Cc][ ]*[Cc][Oo][Mm][Pp][Aa] [Cc] [Tt], [TT] [Oo] [Cc][]*[Ss][Mm][Aa][LL][LL], [Cc] [Oo] [Mm] [Pp][아] [Cc][Tt] [ _ ] * [ Aa ][Ll][Pp][으으으으으으으으으으으으으악[이] [Tt][Ii] [Cc][ _ ] *[TT] [Oo] [Cc], "DEFAULT SORT: -", [OO]ne[ _ ] + 소스, [Cc]ontains [ _ ] + special [ _ ] + characters ], [Ii]nfox[ _ ] +[Cc] 중국어 } -- 발췌에서 바람직한 모든 블록 템플릿과 일치하는 정규 표현식 현지의 wanted Block Templates = { [Bb] 아스켓볼 [_]로스터[_]헤더], [Cc]abinet [ _ ]테이블 [^ } ]*", [Cc]hart[^ }]*, [Cc]학습], [Cc]ol [^ } ]*, -- 모든 열 템플릿 "COVID-19 [ _ ] pandemic [ _ ] data [ ^ } ]*", [cc]yycling [ _ ]스쿼드 [^ } ]*", [Dd]ynamic [ _ ]리스트, [이] 리전[ _ ]박스[^ } ]*", [G] Allery, [G]raph[^ }]*, [HH]idden], [Hh] istorical [ _ ]인구, [ll] egend [ _ ]inline ], [Pp] 라인 리스트], [pp]층[^ } ]*, [Ss]eries [ _ ]개요, [Ss]ide [ _ ]박스, [Ss] 위처, [TT]ree [ _ ]chart [^ } ]*", [TT] levision [ _ ]등급[ _ ]그래프 } 현지의 네, 아니요 = 요구하다('모듈:네, 아니요.) 현지의 p = {} -- helper 함수로 truthy 및 false 값을 테스트합니다. 현지의 기능. 이(가치) 한다면 것은 아니다. 가치 또는 가치 == "" 또는 가치 == "0" 또는 가치 == "false" 또는 가치 == "아니요" 그리고나서 돌아가다 거짓의 끝. 돌아가다 진실의 끝. -- 에러 처리 기능 -- 오류 보고가 비활성화되어 있는 경우 Lua 오류를 발생시키거나 빈 문자열을 반환합니다. 현지의 에러 = 진실의 -- 디폴트로 에러를 표시합니다. 현지의 기능. lua Error(루오류)(메세지, 가치) 한다면 것은 아니다. 이(에러) 그리고나서 돌아가다 '' 끝. -- 에러 리포트는 무효입니다. 메세지 = 에러 메시지[메세지] 또는 메세지 또는 '' 메세지 = 음.스트링.포맷(메세지, 가치) 에러(메세지, 2) 끝. -- 에러 처리 기능 -- Wiki에서 사용하기 쉬운 오류 또는 오류 보고를 사용하지 않도록 설정한 경우 빈 문자열을 반환합니다. 현지의 기능. wiki 에러(메세지, 가치) 한다면 것은 아니다. 이(에러) 그리고나서 돌아가다 '' 끝. -- 에러 리포트는 무효입니다. 메세지 = 에러 메시지[메세지] 또는 메세지 또는 '' 메세지 = 음.스트링.포맷(메세지, 가치) 메세지 = 에러 메시지.접두사 .. 메세지 한다면 음.직함.get Current Title(전류 제목)().isContentPage 그리고나서 현지의 error Category = 음.직함.신규(error Category, '카테고리') 한다면 error Category 그리고나서 메세지 = 메세지 .. '[[' .. error Category.프리픽스본문 .. ']]' 끝. 끝. 메세지 = 음.html.만들다('div'):클래스 추가(에러):위키텍스트(메세지) 돌아가다 메세지 끝. -- 리스트 정규식에서 대조하는 도우미 함수 - 이렇게 : 매치프리..리스트[1]..투고 또는 프리..리스트[2]..투고 또는 ... 현지의 기능. match Any(임의)(본문, 미리, 목록., 포스트., 초기화) 현지의 경기 = {} 위해서 i = 1, #목록. 하다 경기 = { 음.스트링.경기(본문, 미리 .. 목록.[i] .. 포스트., 초기화) } 한다면 경기[1] 그리고나서 돌아가다 개봉하다(경기) 끝. 끝. 돌아가다 제로 끝. -- 이미지 맵을 표준 이미지로 변환하는 도우미 기능 현지의 기능. convert Image Map(이미지 맵) 현지의 이미지 = match Any(임의)(이미지 맵, 「 「 > 」\n%s*", 파일 네임스페이스, "[^\n]*") 한다면 이미지 그리고나서 돌아가다 "<!--map-->[" .. 음.스트링.서브(이미지, 「 「 > 」\n%s*", "", 1) .. "]]" 또 다른 돌아가다 "" -- 이미지를 추출할 수 없는 경우 블록 전체를 삭제합니다. 끝. 끝. -- 쉼표로 구분된 숫자 목록 또는 min-max 범위를 부언 목록으로 변환하는 도우미 함수 -- 예: "1,3-5" ~ {1=true,2=false,3=true,4=true,5=true} 현지의 기능. 번호 플래그(스트레이트) 한다면 것은 아니다. 스트레이트 그리고나서 돌아가다 {} 끝. 현지의 플래그 = {} 현지의 범위 = 음.본문.분열되다(스트레이트, ",") -- 구문 분석 범위: "1,3-5" ~ {"1", 3-5"} 위해서 _, r 에 쌍들(범위) 하다 현지의 분, 맥스. = 음.스트링.경기(r, "^%s*(%d+)%s*[-]%s*(%d+)%s*$") -- "3-5" ~ 최소=3 max=5 한다면 것은 아니다. 맥스. 그리고나서 분, 맥스. = 음.스트링.경기(r, "^%s*(%d+)%s*$") 끝. -- "1" ~ 최소=1 max=1 한다면 맥스. 그리고나서 위해서 p = 분, 맥스. 하다 플래그[p] = 진실의 끝. 끝. 끝. 돌아가다 플래그 끝. -- 템플릿 인수를 get()에 적합한 인수 배열로 변환하는 도우미 함수 현지의 기능. 구문 분석(틀) 현지의 args = {} 위해서 열쇠, 가치 에 쌍들(틀:부모 취득().args) 하다 args[열쇠] = 가치 끝. 위해서 열쇠, 가치 에 쌍들(틀.args) 하다 args[열쇠] = 가치 끝. -- Lua 콜의 arg가 템플릿의 부모 arg보다 우선됩니다. args.패러 플래그 = 번호 플래그(args["문단"] 또는 "") -- 패러그래프: "1,3-5"에서 {1」, "3-5"} args.파일 플래그 = 번호 플래그(args["파일"] 또는 "") -- 파일 번호의 해석 돌아가다 args 끝. -- 각주 없이 {{Airreg}} 시뮬레이트('N 485US' 등) 현지의 기능. 에어레그(p) 현지의 s = 음.본문.분열되다(p, %s*%s*) 한다면 s[1] ~= 'N' 그리고. s[1] ~= 'HL' 그리고. s[1] ~= 'JA' 그리고나서 s[1]=s[1] .. "-" 끝. 돌아가다 table.concat(s, "") 끝. -- #tag:ref 및 DEFAULTSORT 등의 불필요한 템플릿 및 유사 템플릿을 삭제하는 도우미 기능 현지의 기능. 스트립 템플릿(t) --템플릿이 불필요한 경우 "를 반환하고(gsub는 아무것도 대체하지 않음), 그렇지 않으면 nero를 반환한다(gsub은 기존 문자열을 유지합니다). 한다면 match Any(임의)(t, "^{{%s*", 바람직하지 않다Inline Templates, %s*%f[ }") 그리고나서 돌아가다 "" 끝. -- 템플릿이 필요하지만 원하지 않는 참조가 생성되는 경우 Note=, ref 또는 shortref가 제거된 문자열을 반환합니다. 현지의 noRef = 음.스트링.서브(t, "%s*주의%s=.-%f[ }", "") noRef = 음.스트링.서브(noRef, "%s*ref%s*%f[ }", "") noRef = 음.스트링.서브(noRef, "%s*shortref%s*%f[ }", "") -- 원하는 템플릿에 원치 않는 중첩된 템플릿이 있는 경우 해당 템플릿도 삭제합니다. noRef = 음.스트링.후보선수(noRef, 1, 2) .. 음.스트링.서브(음.스트링.후보선수(noRef, 3), %b{}, 스트립 템플릿) -- {{audio}}을(를) 텍스트 파라미터로 바꿉니다: {{Audio Foo.ogg Bar}} → Bar noRef = 음.스트링.서브(noRef, "^{{%s*[Aa]udio.- (.-)%f[ }"*", "%1") - {{니혼고 풋}을 텍스트 파라미터 {{니혼고 풋 영어 e eigo igo}}}} igo}} igo}}igo }}igo}}igoigo igo}}}}}}igo}로 치환합니다. noRef = 음.스트링.서브(noRef, "^{{%s*[Nn]ihongo[ _ ] + foot %s* ( - ) %f [ } ]*", "%1") -- {Airreg}을(를) 텍스트 파라미터 {{Airreg N 485US,}} → N485US로 바꿉니다. noRef = 음.스트링.서브(noRef, "^{{%s*[Aa]irreg%s*%s*(-)}", 에어레그) 한다면 noRef ~= t 그리고나서 돌아가다 noRef 끝. 돌아가다 제로 -- 불필요한 템플릿이 아님: 유지 끝. -- 페이지 내용을 가져오고 리디렉션에 따릅니다. -- 또한 페이지 이름, 리디렉션된 경우 대상 페이지 이름을 반환하고 페이지를 찾을 수 없는 경우 false를 반환합니다. -- 파일 페이지의 경우 파일 설명 페이지의 내용을 반환합니다. 현지의 기능. 컨텐츠의 취득(페이지입니다.) 현지의 직함 = 음.직함.신규(페이지입니다.) 한다면 것은 아니다. 직함 그리고나서 돌아가다 거짓의, 거짓의 끝. 현지의 타깃 = 직함.리다이렉트 타깃 한다면 타깃 그리고나서 직함 = 타깃 끝. 돌아가다 직함:컨텐츠의 취득(), 직함.프리픽스본문 끝. -- 테이블만 가져옵니다. 현지의 기능. get tables(본문, 옵션들) 현지의 테이블 = {} 위해서 후보 에 음.스트링.gmatch(본문, %b{}) 하다 한다면 음.스트링.후보선수(후보, 1, 2) == '{ ' 그리고나서 table.insert(테이블, 후보) 끝. 끝. 돌아가다 table.concat(테이블, '\n') 끝. -- 목록만 가져옵니다. 현지의 기능. 리스트의 취득(본문, 옵션들) 현지의 리스트 = {} 위해서 목록. 에 음.스트링.gmatch(본문, "\n[*#][^\n]+") 하다 table.insert(리스트, 목록.) 끝. 돌아가다 table.concat(리스트, '\n') 끝. -- 이미지의 적합성을 확인합니다. 현지의 기능. 체크 이미지(이미지) 한다면 유형(이미지) == "테이블" 그리고나서 --인포박스 이미지.프리 이외의 파일이 없는지 확인해야 하기 때문에 이미지에 해당하는 빠른 문자열을 입력합니다. 돌아가다 체크 이미지("[파일:]..이미지.파일.."]]") 끝. 현지의 페이지입니다. = match Any(임의)(이미지, "", 파일 네임스페이스, %s*:[^ %]]*") -- 파일:(이름) 또는 이미지:(이름)와 일치합니다. 한다면 것은 아니다. 페이지입니다. 그리고나서 돌아가다 거짓의 끝. -- 이미지 타입: .gif, .jpg, .jpeg, .png, .svg, .tiff, .xcf (.ogg, 오디오 제외 등) 한다면 것은 아니다. match Any(임의)(페이지입니다., "%.", 파일 타입, %s*$) 그리고나서 돌아가다 거짓의 끝. -- 로컬 Wiki를 확인합니다. 현지의 파일 설명, 파일 제목 = 컨텐츠의 취득(페이지입니다.) -- 리다이렉트 후 파일 설명과 제목을 가져옵니다. 한다면 것은 아니다. 파일 제목 또는 파일 제목 == "" 그리고나서 돌아가다 거짓의 끝. --이미지가 존재하지 않습니다. -- Commons 체크 한다면 것은 아니다. 파일 설명 또는 파일 설명 == "" 그리고나서 현지의 틀 = 음.get Current Frame(전류 프레임)() 파일 설명 = 틀:전처리("{{" .. 파일 제목 .. "}}") 끝. -- 프리 이외의 이미지 필터링 한다면 것은 아니다. 파일 설명 또는 파일 설명 == "" 또는 음.스트링.경기(파일 설명, [Nn]% 프리) 그리고나서 돌아가다 거짓의 끝. 돌아가다 진실의 끝. -- [File:...]또는 [Image:...]의 해석은 임의의 장소(start=false) 또는 시작 부분(start=true)에서 시행합니다. 현지의 기능. 해석 이미지(본문, 개시하다) 현지의 깜짝 놀라다 = "" 한다면 개시하다 그리고나서 깜짝 놀라다 = "^" 끝. -- True Flag는 문자열의 시작 부분에만 검색을 제한합니다. 현지의 이미지 = match Any(임의)(본문, 깜짝 놀라다 .. %[%[%s*], 파일 네임스페이스, %s*:.*) -- [[파일:]또는 [[이미지: ... 한다면 이미지 그리고나서 이미지 = 음.스트링.경기(이미지, %b[]%s*") -- 캡션에 중첩된 위키링크를 처리하기 위해 [[...]와 일치합니다. 끝. 돌아가다 이미지 끝. -- 파일 이름과 파일의 arg 데이터(존재하는 경우)를 반환합니다. 현지의 기능. 추출 파일 데이터(스트레이트,다중화되지 않다) 현지의 조정하다 = "^%[?%[?%a-:([^^]+)(-)%""%"."$" 현지의 이름.,args,_ = 음.스트링.경기(스트레이트,조정하다) 한다면 이름. 그리고나서 돌아가다 이름.,args 또 다른 돌아가다 스트레이트,"" --디폴트 폴백 끝. 끝. -- 정규식에서 사용할 문자열을 이스케이프하는 도우미 함수(모듈:트랜스루더) 현지의 기능. 이스케이프 스트링(스트레이트) 돌아가다 string.gsub(스트레이트, '[%^%$%(%)%.%[%]%*%+%-%?%%]', '%%%0') 끝. -- 템플릿에서 테이블로 파라미터를 추출합니다. -- 모듈 수정 버전:Transcluder's getParameters (원래 순서를 준수하도록 설계) 현지의 기능. get파라미터(본문, 플래그) 현지의 파라미터 = {} 현지의 param Order(파라미터 순서), param Count(파라미터 카운트) = {}, 1 현지의 파라미터, 세어보세요, 부품., 열쇠, 가치 위해서 템플릿 에 string.gmatch(본문, '{%b{}}}') 하다 파라미터 = string.match(템플릿, '{{[^ }]- (.+)}}') 한다면 파라미터 그리고나서 세어보세요 = 0 -- 서브템플릿, 테이블 및 링크의 파이프를 일시적으로 교체하여 혼란을 방지합니다. 위해서 서브템플릿 에 string.gmatch(파라미터, '%b{}') 하다 파라미터 = string.gsub(파라미터, 이스케이프 스트링(서브템플릿), string.gsub(string.gsub(서브템플릿, '%%', '%%%%'), ' ', '@@@') ) 끝. 위해서 링크 에 string.gmatch(파라미터, '%b[]') 하다 파라미터 = string.gsub(파라미터, 이스케이프 스트링( 음.스트링.서브(링크, '%%', '%%%%') ), string.gsub(링크, ' ', '@@@') ) 끝. 위해서 파라미터 에 음.본문.점등(파라미터, ' ') 하다 부품. = 음.본문.분열되다(파라미터, '=') 열쇠 = 음.본문.다듬다(부품.[1]) 가치 = table.concat(부품., '=', 2) 한다면 가치 == '' 그리고나서 가치 = 열쇠 세어보세요 = 세어보세요 + 1 열쇠 = 세어보세요 또 다른 가치 = 음.본문.다듬다(가치) 끝. 가치 = string.gsub(가치, '@@@', ' ') 파라미터[열쇠] = 가치 param Order(파라미터 순서)[param Count(파라미터 카운트)] = 열쇠 param Count(파라미터 카운트) = param Count(파라미터 카운트) + 1 끝. 끝. 끝. 돌아가다 파라미터, param Order(파라미터 순서) 끝. -- 정보 상자 파일 테이블을 [파일:...]로 변환합니다. 현지의 기능. stringify template Image(이미지) 파일 자체가 아니라 특정 위치 요소가 포함된 정보 상자에 적용될 수 있으므로 여기에서 확인해야 합니다. 한다면 이(이미지.표제) 그리고나서 --인포박스처럼 표시됩니다. --내부 이미지의 위치를 설정하지 말아 주세요.대신, 우리가 신경 쓰는 위치를 용기에 적용하십시오. 현지의 args,치환수 = string.gsub(이미지.args,"왼쪽","") --왼쪽 포맷이 되어도 상관없습니다.추적해 주세요. args = 음.스트링.서브(args,"오른쪽","") args = 음.스트링.서브(args,"중앙","") 현지의 왼쪽 = (치환수 > 0 그리고. "y") 또는 "" 돌아가다 음.get Current Frame(전류 프레임)():확장 템플릿({ 직함="정보 상자 파일 표시", args={이미지.파일..args,이미지.표제,왼쪽=왼쪽} }) .. "\n" 끝. 돌아가다 음.get Current Frame(전류 프레임)():확장 템플릿({ 직함="정보 상자 파일 표시", args={이미지.파일..이미지.args} }) .. "\n" 끝. -- {{infobox ... image=}에서 [File:...]블록을 구축하려고 합니다.}} 현지의 기능. 템플릿 이미지(본문) 현지의 Has Named Args(Has Named Args) = 음.스트링.발견하다(본문, " ") 그리고. 음.스트링.발견하다(본문, "=") 한다면 것은 아니다. Has Named Args(Has Named Args) 그리고나서 돌아가다 제로 끝. -- 이미지가 포함되어 있지 않은 템플릿은 모두 제외합니다. --이미지 맵을 캡처하고 이미지 맵을 제외한 모든 맵을 삭제합니다. 본문 = 음.스트링.서브(본문, '<!%-%-secemap%-%->(%[%b[]%][^]+'', 'imagemap=%1') -- 이미지 관련 파라미터 필터 현지의 이미지들 = {} 현지의 파라미터, parameter Order = get파라미터(본문) --파일 같은 오브젝트의 템플릿 파라미터를 모두 검색합니다. 현지의 위치 이미지 = {} 현지의 위치 = 1 위해서 _,열쇠 에 아이페어(parameter Order) 하다 위치 = 위치 + 1 --나중에 이상한 조작을 할 가능성이 있기 때문에, ipair에 의존합니다. 현지의 가치 = 파라미터[열쇠] 한다면 이(가치) 그리고나서 --공백하지 않은지 확인합니다. 한다면 스트링.서브(가치,1,2) == "{{" 그리고. 스트링.서브(가치,-2,-1) == "}}" 그리고나서 --템플릿의 템플릿 --템플릿에서 파일을 추출하고 파일이 나타나면 삽입합니다. 현지의 내부 이미지 = 템플릿 이미지(가치) 또는 {} 현지의 초기 위치 = 위치 위해서 색인,이미지 에 아이페어(내부 이미지) 하다 위치 이미지[초기 위치+색인] = 이미지 --기술적으로는 아직 위치에 있습니다. 위치 = 위치 + 1 --중첩을 피하기 위해 독자적인 카운터를 전진시킨다. 끝. 또 다른 한다면 match Any(임의)(열쇠, "", 캡션 파라미터, %s*) 그리고나서 --캡션과 같은 파라미터 이름, 이미지와의 관련성을 시도합니다. 현지의 스캔 위치 = 위치 하는 동안에 스캔 위치 > 0 하다 스캔 위치 = 스캔 위치 - 1 현지의 이미지 = 위치 이미지[스캔 위치] 한다면 이미지 그리고. 이미지.표제 == "" 그리고나서 이미지.표제 = 가치 --최근에 정의한 이미지에 캡션을 할당합니다. 브레이크. 끝. 끝. 그렇지 않으면 match Any(임의)(가치, "%.", 파일 타입, %s*$) 그리고나서 --파일과 같은 값, 이미지라고 가정합니다. 현지의 파일명,파일 목록 = 추출 파일 데이터(가치) 위치 이미지[위치] = {파일=파일명,표제="",args=파일 목록} 그렇지 않으면 음.스트링.경기(열쇠, [Ii] [Mm] [Aa] [Gg] [Ee]) 또는 음.스트링.경기(열쇠, [우우우우우우우우우우당탕![]] [oo]) 또는 음.스트링.경기(열쇠, [Ss] [YY] [Mm] [Bb][우우우우우우우우우우우우우우우우우]) 그리고나서 --파일과 같은 파라미터 이름, 정밀 조사 후 이미지라고 가정합니다. 현지의 키 하부 = string.lower(열쇠) 한다면 string.find(키 하부,"실패") 또는 string.find(키 하부,'사이즈") 또는 string.find(키 하부,'폭') 또는 string.find(키 하부,"실패") 또는 string.find(키 하부,"alt") 그리고나서 --인수는 이미지가 아닌 이미지 설정을 정의하는 것입니다. --현재로서는 아무것도 하지 않는다. --TODO: 나중에 사용할 수 있도록 일부를 추출해야 합니다. 또 다른 현지의 파일명,파일 목록 = 추출 파일 데이터(가치) 위치 이미지[위치] = {파일=파일명,표제="",args=파일 목록} 끝. 끝. 끝. -- "템플릿이 템플릿에 있나요?" 체크의 끝 끝. - "value and is (value)" 체크 종료 끝. --위치의 엔트리를 메인 이미지 테이블에 추가합니다. 위해서 i = 1,위치 하다 현지의 가치 = 위치 이미지[i] 한다면 가치 그리고나서 table.insert(이미지들,가치) 끝. 끝. 돌아가다 이미지들 끝. 현지의 기능. modify Image(수정 이미지)(이미지, fileArgs) 한다면 유형(이미지) == "테이블" 그리고나서 --더미 문자열 버전을 전달하고 그것을 사용하여 변경을 처리합니다. 현지의 신버전 = modify Image(수정 이미지)("[파일:]..이미지.파일..string.gsub(이미지.args,"{{!}}"," ").."]]",fileArgs) - 포맷이 엄격히 관리되고 있다는 것을 알기 때문에 args의 서브그랩을 느긋하게 할 수 있습니다. 이미지.args = 스트링.서브(신버전,8+#이미지.파일,-3) 돌아가다 이미지 끝. 한다면 fileArgs 그리고나서 위해서 _, 파일 에 쌍들(음.본문.분열되다(fileArgs, " ")) 하다 -- fileArgs=왼쪽 테두리 등을 처리합니다. 현지의 fa = 음.스트링.서브(파일, "=.*", "") -- "context=0.75" → "context" 현지의 그룹. = {fa} -- "border"의 그룹은 [border]입니다. 위해서 _, g 에 쌍들(imageParams(이미지 파라미터)) 하다 위해서 _, a 에 쌍들(g) 하다 한다면 fa == a 그리고나서 그룹. = g 끝. --...단, "left" 그룹은 [right", "left", "center", "none"입니다. 끝. 끝. 위해서 _, a 에 쌍들(그룹.) 하다 이미지 = 음.스트링.서브(이미지, "%s*" .. a .. %f[%A]%s*=[^ %]]*", "") -- "직립=0.75" 등을 제거합니다. 이미지 = 음.스트링.서브(이미지, "%s*" .. a .. %s*([%]]), "%1") -- " 를 " " 등으로 바꿉니다. 끝. 이미지 = 음.스트링.서브(이미지, "([ %]])", " " .. 파일 .. "%1", 1) -- "를 "왼쪽" 등으로 바꿉니다. 끝. 끝. 이미지 = 음.스트링.서브(이미지, (%s*%d*x?%d+%s*px%s*-)%s*%d*x?%d+%s*px%s*([%]]), "%1%2") -- double px args 돌아가다 이미지 끝. -- 추출된 Wikitext를 잘라내는 기본 파서 -- @param text : 처리할 Wikitext -- @param options : 옵션 테이블... -- options . true flags : 문자열(예 : '1,3-5') 또는 테이블(예: {1=true,2=false,3=true,4=true,5=true)로 유지하는 문단 수.존재하지 않을 경우 모든 단락이 유지됩니다. -- 옵션.fileflags : 문자열(예: '1,3-5') 또는 테이블(예: {1=true,2=false,3=true,4=true,5=true) 중 하나로 유지하는 파일 테이블 -- 옵션.fileargs : [ File : ]] 구문의 args ('left' 등) -- 옵션.filesOnly : 파일만 반환하고 산문은 반환하지 않습니다. 현지의 기능. 해석(본문, 옵션들) 현지의 모든 단락 = 진실의 -- 모든 단락을 유지합니다. 한다면 옵션들.패러 플래그 그리고나서 한다면 유형(옵션들.패러 플래그) ~= "테이블" 그리고나서 옵션들.패러 플래그 = 번호 플래그(옵션들.패러 플래그) 끝. 위해서 _, v 에 쌍들(옵션들.패러 플래그) 하다 한다면 v 그리고나서 모든 단락 = 거짓의 끝. -- 특별히 요청된 조항이 있는 경우, 모든 항목을 보관하지 마십시오. 끝. 끝. 한다면 이(옵션들.파일만) 그리고나서 모든 단락 = 거짓의 옵션들.패러 플래그 = {} 끝. 현지의 최대 파일 = 0 --효율성을 위해 이 많은 이미지가 발견되면 이미지 체크를 중지합니다. 한다면 옵션들.파일 플래그 그리고나서 한다면 유형(옵션들.파일 플래그) ~= "테이블" 그리고나서 옵션들.파일 플래그 = 번호 플래그(옵션들.파일 플래그) 끝. 위해서 k, v 에 쌍들(옵션들.파일 플래그) 하다 한다면 v 그리고. k > 최대 파일 그리고나서 최대 파일 = k 끝. -- set maxfile = 파일 플래그의 가장 높은 키 끝. 끝. 현지의 fileArgs = 옵션들.파일 목록 그리고. 음.본문.다듬다(옵션들.파일 목록) 한다면 fileArgs == '' 그리고나서 fileArgs = 제로 끝. 현지의 리드 스타트 = 제로 --문자는 아직 발견되지 않았나요? 현지의 t = "" -- 출력 텍스트 삭제 현지의 파일 텍스트 = "" --[파일]이 연결된 텍스트를 출력합니다.Foo...]\n 엔트리 현지의 파일 = 0 -- 지금까지의 이미지 수 현지의 파라스 = 0 -- 지금까지 몇 개의 단락이 있습니까? 현지의 스타트 라인 = 진실의 --행의 선두에 (마지막 \n 이후 공백이 발견되지 않았습니다) 본문 = 음.스트링.서브(본문,"^%s*","") -- 첫 번째 공백을 제거합니다. -- 이름 있는 파일 추가 현지의 f = 옵션들.파일 한다면 f 그리고. 음.스트링.경기(f, [^%d%s%-]) 그리고나서 --번호 리스트가 아닌 파일명 f = 음.스트링.서브(f, "^%s*파일%s*:%s*", "", 1) f = 음.스트링.서브(f, "^%s*이미지%s*:%s*", "", 1) f = "[파일:] .. f .. "]]" f = modify Image(수정 이미지)(f, "실패") f = modify Image(수정 이미지)(f, fileArgs) 한다면 체크 이미지(f) 그리고나서 파일 텍스트 = 파일 텍스트 .. f .. "\n" 끝. 끝. 따라하다 -- 템플릿, 이미지 또는 문단을 해석하는 루프 어라운드 현지의 상품권 = 음.스트링.경기(본문, "^%b{}%s*") 또는 거짓의 -- {{Template}} 또는 {Table} 한다면 것은 아니다. 리드 스타트 그리고. 것은 아니다. 상품권 그리고나서 상품권 = 음.스트링.경기(본문, "^%b <>%s*%b{}%s*") 끝. -- 리드 시작 전에 <tag> {tag}을(를) 허용합니다. 현지의 선 = 음.스트링.경기(본문, "[^\n]*") 한다면 상품권 그리고. 선 그리고. 음.스트링.렌(상품권) < > 음.스트링.렌(선) 그리고나서 -- 템플릿 뒤에 텍스트가 이어집니다(단, 다른 템플릿일 수도 있습니다). 선 = 음.스트링.서브(선, %b{}, "") -- 이 행에서 모든 템플릿을 삭제합니다. 선 = 음.스트링.서브(선, %b <>, "") -- 이 행에서 모든 HTML 태그를 삭제합니다. -- 불완전한 추가 템플릿이나 이미지 외에 남아 있는 것이 있으면 템플릿을 유지합니다.이 템플릿은 행의 일부로 간주됩니다. 한다면 음.스트링.발견하다(선, %S) 그리고. 것은 아니다. match Any(임의)(선, "^%s*", { "{{", %[%s*[FF]파일:", %[%s*[Ii]매이지: " }, "") 그리고나서 상품권 = 제로 끝. 끝. 한다면 상품권 그리고나서 -- 텍스트 행의 접두사가 아닌 템플릿을 찾았습니다. 한다면 이(옵션들.킵테이블) 그리고. 음.스트링.후보선수(상품권, 1, 2) == '{ ' 그리고나서 t = t .. 상품권 -- 테이블을 유지합니다. 그렇지 않으면 음.스트링.후보선수(상품권, 1, 3) == '{{#' 그리고나서 t = t .. 상품권 -- 파서 함수 유지 그렇지 않으면 리드 스타트 그리고나서 -- 리드선은 이미 시작되었으므로, 한 줄(navbox 등)이 아닌 한 템플릿은 텍스트 내에 보관하십시오. 한다면 것은 아니다. 이(옵션들.파일만) 그리고. 것은 아니다. 스타트 라인 그리고나서 t = t .. 상품권 끝. 그렇지 않으면 match Any(임의)(상품권, "^{{%s*", wanted Block Templates, %s*%f[ }") 그리고나서 t = t .. 상품권 -- 원하는 블록 템플릿을 유지합니다. 그렇지 않으면 파일 < > 최대 파일 그리고나서 - 필요한 경우 이미지를 확인하고 폐기합니다. 현지의 이미지들 = 템플릿 이미지(상품권) 또는 {} 위해서 _, 이미지 에 아이페어(이미지들) 하다 한다면 파일 < > 최대 파일 그리고. 체크 이미지(이미지) 그리고나서 --이미지가 발견되어 적격인 경우(사운드 파일이 아닌 경우, 프리 파일이 아닌 경우 등 파일 = 파일 + 1 -- 표시 여부에 관계없이 파일을 카운트합니다. 한다면 옵션들.파일 플래그 그리고. 옵션들.파일 플래그[파일] 그리고나서 -- 이 이미지를 표시하는 경우 이미지 = modify Image(수정 이미지)(이미지, fileArgs) 파일 텍스트 = 파일 텍스트 .. stringify template Image(이미지) 끝. 끝. 끝. 끝. 또 다른 -- 텍스트의 다음 토큰은 템플릿이 아닙니다. 상품권 = 해석 이미지(본문, 진실의) 한다면 상품권 그리고나서 -- 텍스트의 다음 토큰은 이미지처럼 보입니다. 한다면 파일 < > 최대 파일 그리고. 체크 이미지(상품권) 그리고나서 -- 더 많은 이미지가 필요하고 이것이 원하는 이미지인 경우 파일 = 파일 + 1 한다면 옵션들.파일 플래그 그리고. 옵션들.파일 플래그[파일] 그리고나서 현지의 이미지 = 상품권 -- 원본을 변경하지 않고 권리를 추가하는 등의 조작을 위한 카피 토큰 이미지 = modify Image(수정 이미지)(이미지, fileArgs) 파일 텍스트 = 파일 텍스트 .. 이미지 끝. 끝. 또 다른 -- 파일, 이미지, 빈 줄 또는 텍스트의 끝부분으로 끝나는 단락이 있습니다. 현지의 애프터 엔드 = 음.스트링.렌(본문) + 1 현지의 공백 위치 = 음.스트링.발견하다(본문, "\n%s*\n") 또는 애프터 엔드 -- 다음 단락 구분 기호(또는 텍스트 끝)의 위치 현지의 end Position(종료 위치) = math.min( -- [ File : ] 、 [ Image : ] 、 delimiterた delimiter 패러그래프 딜리미터 중 먼저 오는 위치를 찾습니다. 음.스트링.발견하다(본문, %[%s*[FF]일 %s*:) 또는 애프터 엔드, 음.스트링.발견하다(본문, %[%s*[Ii]mage%s*:) 또는 애프터 엔드, 공백 위치) 상품권 = 음.스트링.후보선수(본문, 1, end Position(종료 위치)-1) 한다면 공백 위치 < > 애프터 엔드 그리고. 공백 위치 == end Position(종료 위치) 그리고나서 -- 단락은 공백 행으로 끝납니다. 상품권 = 상품권 .. 음.스트링.경기(본문, "\n%s*\n", 공백 위치) 끝. 현지의 해트노트 = 것은 아니다.(리드 스타트) 그리고. 음.스트링.후보선수(상품권, 1, 1) == ':' 한다면 것은 아니다. 해트노트 그리고나서 리드 스타트 = 리드 스타트 또는 음.스트링.렌(t) + 1 -- 단락이 나왔으니 선두 섹션의 시작을 표시해 주세요. 파라스 = 파라스 + 1 한다면 모든 단락 또는 (옵션들.패러 플래그 그리고. 옵션들.패러 플래그[파라스]) 그리고나서 t = t .. 상품권 끝. -- 이 단락이 필요한 경우 추가합니다. 끝. 끝. -- "문단을 가지고 있다"의 끝. -- "템플릿이 아닌 템플릿"의 한다면 상품권 그리고나서 본문 = 음.스트링.후보선수(본문, 음.스트링.렌(상품권)+1) 끝. -- 나머지 텍스트에서 해석된 토큰을 삭제합니다. 스타트 라인 = 음.스트링.발견하다(상품권, "\n%s*$") --다음 토큰은 행에서 공백이 아닌 첫 번째 토큰이 됩니까? 까지 것은 아니다. 본문 또는 본문 == "" 또는 것은 아니다. 상품권 또는 상품권 == "" -- 모든 텍스트가 해석될 때까지 루프합니다. 본문 = 음.스트링.서브(t, "\n+$", "") -- "{Transclude text extraction Foo} more"가 한 줄에 흐르도록 후행 피드를 삭제합니다. 돌아가다 파일 텍스트 .. 본문 끝. 현지의 기능. 정리 텍스트(본문, 옵션들) 본문 = 음.스트링.서브(본문, "<!%-%-.%-%->","") -- HTML 코멘트를 삭제합니다. 본문 = 음.스트링.서브(본문, "<[Nn][OO][II] [Nn] [Cc][Ll] [ Uu ] [ Dd ] [ Ee ] > - //[ Nn ][ Yo ][II] [Nn] [Cc][Ll] [ Uu ] [ Dd ] [ Ee ]>", "") -- noinclude 비트를 삭제합니다. 한다면 음.스트링.발견하다(본문, [우우우우우우우우우우우]Yy] [Ii] [Nn] [Cc][Ll] [Uu] [Dd] [Ee]) 그리고나서 -- 가능한 한 고가의 검색은 피한다. 본문 = 음.스트링.서브(본문, "/[OO] [Nn] [LL][Yy] [Ii] [Nn] [Cc][Ll] [ Uu ] [ Dd ] [ Ee ] > - < Oo > [ Nn ] [ Ll ][Yy] [Ii] [Nn] [Cc][Ll] [ Uu ] [ Dd ] [ Ee ]>", "") -- 섹션만 포함하는 텍스트 제거 본문 = 음.스트링.서브(본문, "^ - < [ Yo ] [ Nn ] [ Ll ][Yy] [Ii] [Nn] [Cc][Ll] [ Uu ] [ Dd ] [ Ee ]>", "") -- 첫 번째 섹션만 포함하기 전에 텍스트를 제거합니다. 본문 = 음.스트링.서브(본문, "/[OO] [Nn] [LL][Yy] [Ii] [Nn] [Cc][Ll] [ Uu ] [ Dd ] [ Ee ]>*", "") -- 마지막 섹션만 포함하는 텍스트 삭제 끝. 한다면 것은 아니다. 이(옵션들.keep Subs) 그리고나서 본문 = 음.스트링.서브(본문, "\n==.*","") -- 먼저 ==Heading==을(를) 제거한 후 모든 것을 제거합니다. 본문 = 음.스트링.서브(본문, "^==.*","") --...리드가 비어 있어도 끝. 한다면 것은 아니다. 이(옵션들.keep Refs) 그리고나서 본문 = 음.스트링.서브(본문, "<%s*[Rr][Ee][FF] [^>]-/%s*>, "") --다른 곳에서 인용된 참조를 삭제합니다. 본문 = 음.스트링.서브(본문, "<%s*[Rr][Ee]-> - <%s*/%s*[Rr][Ee][Ff]%s*>, "") -- 참조를 삭제합니다. 본문 = 음.스트링.서브(본문, %b{}, 스트립 템플릿) -- 참조 등의 불필요한 템플릿을 삭제합니다. 끝. 본문 = 음.스트링.서브(본문, "<%s*[Ss][Cc][Oo][Rr][Ee]-> -<%s*/%s*[Ss][Cc][OO][Rr][E]%s*>, "") -- 악보를 삭제합니다. 본문 = 음.스트링.서브(본문, "<%s*[Ii][음][Aa][G][이] [음] [아] [Pp]-> -<%s*/%s*[Ii][Mm][Aa][Gg][E] [Mm] [Aa] [pp] %s * >, convert Image Map) -- 이미지 맵을 표준 이미지로 변환합니다. 본문 = 음.스트링.서브(본문, %s*{%s*[Tt][Oo][Cc]-}}", "") -- 가장 일반적인 목차를 삭제합니다. 본문 = 음.스트링.서브(본문, %s*_[A-Z]*TOC__", "") -- TOC 동작 스위치를 삭제합니다. 본문 = 음.스트링.서브(본문, "\n%s*{%s*[pp]p%--}}", "\n") -- 보호 템플릿을 삭제합니다. 본문 = 음.스트링.서브(본문, %s*{{{}]*[Ss]idebar%s*}}", "") -- 대부분의 사이드바를 제거합니다. 본문 = 음.스트링.서브(본문, %s*{{{}}*%-[Ss]tub%s*}}", "") -- 대부분의 stub 템플릿을 삭제합니다. 본문 = 음.스트링.서브(본문, %s*%[%s*:]?[Cc] ategory : - % ]%", "") -- 카테고리를 삭제합니다. 본문 = 음.스트링.서브(본문, "^:[^\n]+\n","") -- 콜론으로 새긴 DIY 해트노트 제거 돌아가다 본문 끝. -- 페이지에서 ==섹션== 구문 분석 현지의 기능. get section(get section)(본문, 부분, 메인만) 현지의 이스케이프 섹션 = 음.스트링.서브(음.uri.해독하다(부분), "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1") -- %26 → & etc, ^ → %^ 등 현지의 수평, 내용 = 음.스트링.경기(본문 .. "\n", "\n(==+)%s*" .. 이스케이프 섹션 .. %s*==.-\n(.*)") 한다면 것은 아니다. 내용 그리고나서 돌아가다 lua Error(루오류)("섹션 없음", 부분) 끝. 현지의 다음 섹션 한다면 메인만 그리고나서 다음 섹션 = "\n==.*" -- 섹션의 주요 부분은 모든 수준의 헤더로 끝납니다. 또 다른 다음 섹션 = "\n==" .. 음.스트링.대표자("=?", #수평 - 2) .. "[^=].*" -- "===" → "\n===?[^=].*], "==" 또는 "==="에는 일치하지만 "===="에는 일치하지 않음 끝. 내용 = 음.스트링.서브(내용, 다음 섹션, "") -- 이 수준 이상의 제목을 가진 이후의 섹션을 삭제합니다. 한다면 음.스트링.경기(내용, "^%s*$") 그리고나서 돌아가다 lua Error(루오류)("섹션 비어 있음", 부분) 끝. 돌아가다 내용 끝. -- <섹션 begin="fragment의 이름">을 해석합니다. -- @todo #lst에 의존하지 않고 fragment의 커스텀 해석을 구현합니다. 현지의 기능. fragment를 취득하다(페이지입니다., 파편) 현지의 틀 = 음.get Current Frame(전류 프레임)() 현지의 본문 = 틀:callParser 기능('#lst', 페이지입니다., 파편) 한다면 음.스트링.경기(본문, "^%s*$") 그리고나서 돌아가다 lua Error(루오류)("fragment Empty", 파편) 끝. 돌아가다 본문 끝. -- 일치하지 않는 <tag> 또는 </tag> 태그를 삭제합니다. 현지의 기능. 수정 태그(본문, 태그) 현지의 start Count = 0 위해서 i 에 음.스트링.gmatch(본문, "<%s*" .. 태그 .. %f[^%w_]->") 하다 start Count = start Count + 1 끝. 현지의 종료수 = 0 위해서 i 에 음.스트링.gmatch(본문, "</" .. 태그 .. %s*>) 하다 종료수 = 종료수 + 1 끝. 한다면 start Count > 종료수 그리고나서 --</tag>보다 많은 <tag>: 마지막 몇 개의 <tag>를 삭제합니다. 현지의 i = 0 본문 = 음.스트링.서브(본문, "<%s*" .. 태그 .. %f[^%w_]->", 기능.(t) i = i + 1 한다면 i > 종료수 그리고나서 돌아가다 "" 또 다른 돌아가다 제로 끝. 끝.) -- 여기서 "end"는 gsub에 전달된 익명 치환 함수(t)를 종료합니다. 그렇지 않으면 종료수 > start Count 그리고나서 --</tag>보다 많은 </tag>: 처음 몇 개의 </tag>를 삭제합니다. 본문 = 음.스트링.서브(본문, "</" .. 태그 .. %s*>, "", 종료수 - start Count) 끝. 돌아가다 본문 끝. 현지의 기능. fix Templates(본문) 따라하다 -- 중첩된 템플릿을 포함하여 일치하는 {{s}을(를) 숨깁니다. 현지의 t = 본문 본문 = 음.스트링.서브(본문, "{(%b{})", "\27{\27%1\27}\27") -- {{sometemplate}} → E {Esometemplate} E } E 여기서 E는 탈출을 나타냅니다. 본문 = 음.스트링.서브(본문, "(< * math [ ^ > ] * > [ ^ < ] - ) } ( - < * / math * > ), "%1}\27}\27%2") -- <math>\{sqrt\{hat{x}<math>→ <math>\{sqrt\{hat{x}E>E </math> 까지 본문 == t 본문 = 본문.서브(본문, "([{}])%1[^\27].*", "") -- 일치하지 않는 {{, }} 및 그 이후의 모든 것을 제거하여 }E}E 등을 회피합니다. 본문 = 본문.서브(본문, "([{}])%1$", "") -- 텍스트 끝에 일치하지 않는 {{, }}을(를) 삭제합니다. 본문 = 음.스트링.서브(본문, "\27", "") -- 일치 쌍 숨기기 해제: E{E{ → {{ etc } 。 돌아가다 본문 끝. 현지의 기능. fix Links(픽스 링크)(본문) 따라하다 -- [파일]과 같은 네스트링크를 포함한 일치하는 [wikilink]를 숨깁니다.example.jpg 일부 [nested]링크] 현지의 t = 본문 본문 = 음.스트링.서브(본문, %[(%b[]%]%], "\27[\27%1\27]\27") 까지 본문 == t 본문 = 본문.서브(본문, "([%[%]])%1[^\27].*", "") -- 불일치 [ ]또는 [ ] 및 그 이후의 모든 것을 삭제하고, E ]E 등을 회피합니다. 본문 = 본문.서브(본문, "([%[%]])%1$", "") -- 텍스트 끝에 일치하지 않는 [[ 또는 ]를 삭제합니다. 본문 = 음.스트링.서브(본문, "\27", "") -- 일치 쌍 숨기기 해제: ]E]E → ] ) 。 돌아가다 본문 끝. -- 정의되지 않은 참조를 방지하기 위해 텍스트 외부에 정의된 각 참조에 대한 첫 번째 콜을 전체 참조로 바꿉니다. -- 그런 다음 페이지 제목 앞에 참조 이름을 붙여 충돌을 방지합니다. -- 즉, <ref name="을 바꿉니다.<ref name=>의 Foo"기사 제목 Foo"> --<ref name=>도 마찬가지입니다.<ref name=>의 Foo" />기사 제목 Foo" /> -- 참조 그룹도 삭제합니다.< ref name = "<ref name="의 Foo" group="Bar">기사 제목 Foo"> -- 및 <ref>의 경우 <ref group="Bar"> -- @tod 현재 정규식은 <ref name="Darwin's book">과 같이 따옴표가 둘 다 있는 경우 실패할 수 있습니다. 현지의 기능. fixRefs(픽스 참조)(본문, 페이지입니다., 가득한) 한다면 것은 아니다. 가득한 그리고나서 가득한 = 컨텐츠의 취득(페이지입니다.) 끝. 현지의 참조명 = {} 현지의 참조명 현지의 리바디 현지의 위치 = 1 하는 동안에 위치 < > 음.스트링.렌(본문) 하다 참조명, 위치 = 음.스트링.경기(본문, "<%s*[Rr][Ee][FF] [^>]*name%s*=%s*[\"']?([^\"'>>+)[\"'.[^>]*/%s*>(')", 위치) 한다면 참조명 그리고나서 참조명 = 음.본문.다듬다(참조명) 한다면 것은 아니다. 참조명[참조명] 그리고나서 -- 각 참조명을 1회만 처리합니다. table.insert(참조명, 참조명) 참조명 = 음.스트링.서브(참조명, "[%^%$%(%)%.%[%]%*%+%-%?%%]", "%%%0") -- 특수문자 이스케이프 리바디 = 음.스트링.경기(본문, "<%s*[Rr][Ee][FF] [^>]*name%s*=%s*[\"'...%s*' .. 참조명 .. %s*[\"'...[^>/]*> -<%s*/%s*[Rr][Ee][Ff]%s*>) 한다면 것은 아니다. 리바디 그리고나서 --참고인은 발췌문에 없습니다. 리바디 = 음.스트링.경기(가득한, "<%s*[Rr][Ee][FF] [^>]*name%s*=%s*[\"'...%s*' .. 참조명 .. %s*[\"'...[^/>]*> -<%s*/%s*[Rr][Ee][Ff]%s*>) 한다면 리바디 그리고나서 -- 재판장의 시신은 다른 곳에서 발견되었다. 본문 = 음.스트링.서브(본문, "<%s*[Rr][Ee][FF] [^>]*name%s*=%s*[\"'...%s*' .. 참조명 .. %s*[\"'...[^>]*/?%s*>', 리바디, 1) 끝. 끝. 끝. 또 다른 위치 = 음.스트링.렌(본문) 끝. 끝. 본문 = 음.스트링.서브(본문, "<%s*[Rr][Ee][FF] [^>]*name%s*=%s*[\"']?([^\"'/]+)[\"'...[^>/]*(/?%s*>', '<ref name=' .. 페이지입니다. .. '%1" %2 >') 본문 = 음.스트링.서브(본문, "<%s*[Rr][Ee][FF] [^>]* 그룹 %s*=%s*[\"']?[^\"'/]+[\"']%s*>", '<ref>') 돌아가다 본문 끝. -- 문서의 시작 부분에 있는 굵은 제목 또는 동의어를 Wikilink로 바꿉니다. 기능. linkBold(본문, 페이지입니다.) 현지의 언어 = 음.언어.get Content Language(get Content Language)() 현지의 위치 = 음.스트링.발견하다(본문, "'''" .. 언어:첫 번째(페이지입니다.) .. "'''", 1, 진실의) -- 「 「 Foo 」는...」(uc) 또는 「A 「 Foo 」는...」(lc)를 찾습니다. 또는 음.스트링.발견하다(본문, "'''" .. 언어:첫 번째(페이지입니다.) .. "'''", 1, 진실의) -- 플레인 검색: 페이지의 특수 문자는 자신을 나타냅니다. 한다면 위치 그리고나서 현지의 길이 = 음.스트링.렌(페이지입니다.) 본문 = 음.스트링.후보선수(본문, 1, 위치 + 2) .. "[[" .. 음.스트링.후보선수(본문, 위치 + 3, 위치 + 길이 + 2) .. "]]" .. 음.스트링.후보선수(본문, 위치 + 길이 + 3, -1) -- 링크 또 다른 -- 굵은 글씨로 되어 있고, 타이틀의 동의어라고 생각되는, 연결되지 않은 것을 찾습니다(예를 들어, 사람의 출생지명). 본문 = 음.스트링.서브(본문, "()'''(.-'*)'''", 기능.(a, b) 한다면 것은 아니다. 음.스트링.발견하다(b, "%[") 그리고나서 -- Wikilink되지 않은 경우 돌아가다 "'''[[" .. 페이지입니다. .. " " .. b .. "]]'''" -- 'foo'를 '[page foo]'로 바꿉니다. 또 다른 돌아가다 제로 --gsub에게 변경을 가하지 않도록 지시합니다. 끝. 끝., 1) -- 여기서 "end"는 gsub에 전달된 익명 치환 함수(a, b)를 종료합니다. 끝. 돌아가다 본문 끝. -- 모듈의 주요 기능 현지의 기능. 얻다(페이지입니다., 옵션들) 한다면 옵션들.에러 그리고나서 에러 = 옵션들.에러 끝. 한다면 것은 아니다. 페이지입니다. 또는 페이지입니다. == "" 그리고나서 돌아가다 lua Error(루오류)("페이지 없음") 끝. 현지의 본문 페이지입니다., 부분 = 음.스트링.경기(페이지입니다., "([^#]+)#?([^#]*)") 본문, 페이지입니다. = 컨텐츠의 취득(페이지입니다.) 한다면 것은 아니다. 페이지입니다. 그리고나서 돌아가다 lua Error(루오류)("페이지 없음") 끝. 한다면 것은 아니다. 본문 그리고나서 돌아가다 lua Error(루오류)("page Not Found" (페이지를 찾을 수 없습니다), 페이지입니다.) 끝. 현지의 가득한 = 본문 --나중에 사용할 수 있도록 전문을 저장합니다. 한다면 이(옵션들.파편) 그리고나서 본문 = fragment를 취득하다(페이지입니다., 옵션들.파편) 끝. 한다면 이(부분) 그리고나서 본문 = get section(get section)(본문, 부분) 끝. -- 밑줄 텍스트를 모두 삭제합니다. 본문 = 정리 텍스트(본문, 옵션들) 본문 = 해석(본문, 옵션들) -- 문서의 시작 부분에 있는 굵은 제목 또는 동의어를 Wikilink로 바꿉니다. 본문 = linkBold(본문, 페이지입니다.) -- 요청 시 '굵은 글씨'를 삭제합니다. 한다면 이(옵션들.노볼드) 그리고나서 본문 = 음.스트링.서브(본문, "'''", "") 끝. -- 요청 시 테이블만 유지합니다. 한다면 이(옵션들.테이블만) 그리고나서 본문 = get tables(본문) 끝. -- 요청 시 목록만 보관 한다면 이(옵션들.리스트만) 그리고나서 본문 = 리스트의 취득(본문) 끝. -- 종료되지 않은 템플릿, 링크 및 태그 검색 및 파기 본문 = fix Templates(본문) 본문 = fix Links(픽스 링크)(본문) 본문 = 수정 태그(본문, "div") -- 망가진 참조를 수정합니다. 한다면 이(옵션들.keep Refs) 그리고나서 본문 = fixRefs(픽스 참조)(본문, 페이지입니다., 가득한) 끝. -- 추가(전체 기사...) 링크 한다면 옵션들.기타 링크본문 그리고나서 본문 = 본문 .. " ('''[[" .. 페이지입니다. .. " " .. 옵션들.기타 링크본문 .. "]]''')" 끝. 돌아가다 본문 끝. -- 템플릿의 주요 호출 함수 현지의 기능. 주된(틀) 현지의 args = 구문 분석(틀) 현지의 페이지입니다. = args[1] 현지의 네 알겠습니다, 본문 = pcall(얻다, 페이지입니다., args) 한다면 것은 아니다. 네 알겠습니다 그리고나서 본문 = 에러 메시지.접두사 .. 본문 한다면 error Category 그리고. error Category ~= '' 그리고. 음.직함.get Current Title(전류 제목)().isContentPage 그리고나서 본문 = 본문 .. '[[' .. error Category .. ']]' 끝. 돌아가다 음.html.만들다('div'):클래스 추가(에러):위키텍스트(본문) 끝. 돌아가다 틀:전처리(본문) 끝. 현지의 기능. 상세 링크본문(더) 현지의 default Text = 기사 전문..." -- 기본 텍스트, [Template]와 동일합니다.TFAFAULL] 한다면 것은 아니다. 더 또는 더 == '' 그리고나서 --nill/empty => 기본값 사용 돌아가다 default Text 끝. 한다면 것은 아니다. 네, 아니요(더, 진실의) 그리고나서 -- false 값 => 링크를 억제합니다. 돌아가다 제로 끝. 돌아가다 더 끝. -- 포털용 템플릿에서 사용하는 공유 호출 기능 현지의 기능. 포털(틀, 템플릿) 현지의 args = 구문 분석(틀) 에러 = args['실패'] 또는 거짓의 --요청되지 않는 한 에러 보고를 무효로 합니다. -- 선택한 경우를 제외하고 적어도 하나의 인수가 있어야 합니다=Foo와 Foo=메인페이지 한다면 #args < > 1 그리고. 것은 아니다. (템플릿 == "선택" 그리고. args[템플릿] 그리고. args[args[템플릿]]) 그리고나서 돌아가다 wiki 에러("페이지 없음") 끝. -- 발췌할 페이지를 찾아냅니다. 현지의 페이지입니다. 현지의 후보 = {} 한다면 템플릿 == '리드" 그리고나서 페이지입니다. = args[1] 페이지입니다. = 음.본문.다듬다(페이지입니다.) 한다면 것은 아니다. 페이지입니다. 또는 페이지입니다. == "" 그리고나서 돌아가다 wiki 에러("페이지 없음") 끝. 후보 = { 페이지입니다. } 그렇지 않으면 템플릿 == "선택" 그리고나서 현지의 열쇠 = args[템플릿] 현지의 세어보세요 = #args 한다면 톤수(열쇠) 그리고나서 --문서번호를 범위 1로 정규화합니다.넘버전 열쇠 = 열쇠 % 세어보세요 한다면 열쇠 == 0 그리고나서 열쇠 = 세어보세요 끝. 끝. 페이지입니다. = args[열쇠] 페이지입니다. = 음.본문.다듬다(페이지입니다.) 한다면 것은 아니다. 페이지입니다. 또는 페이지입니다. == "" 그리고나서 돌아가다 wiki 에러("페이지 없음") 끝. 후보 = { 페이지입니다. } 그렇지 않으면 템플릿 == '링크' 또는 템플릿 == "목록 항목" 그리고나서 현지의 원천 = args[1] 현지의 본문, 원천 = 컨텐츠의 취득(원천) 한다면 것은 아니다. 원천 그리고나서 돌아가다 wiki 에러("페이지 없음") 그렇지 않으면 것은 아니다. 본문 그리고나서 돌아가다 wiki 에러("페이지 없음") 끝. 현지의 부분 = args.부분 한다면 부분 그리고나서 -- 관련 섹션만 확인합니다. 본문 = get section(get section)(본문, 부분) 한다면 것은 아니다. 본문 그리고나서 돌아가다 wiki 에러("섹션 없음", 부분) 끝. 끝. -- 주석이 달린 링크를 실제 링크로 바꿉니다. 본문 = 음.스트링.서브(본문, "{{%s*[Aa]notated[ _ ]link%s*%s*(-)%s*}", "[[%1]]") 한다면 템플릿 == '링크' 그리고나서 위해서 후보 에 음.스트링.gmatch(본문, %[%[%s*([^%])\n]*)") 하다 table.insert(후보, 후보) 끝. 또 다른 -- listitem : "see also" 또는 그 이후의 섹션을 제외하고 *, :# 등으로 시작하는 행의 첫 번째 Wikilink 본문 = 음.스트링.서브(본문, "\n== *「」도 참조.*", "") 위해서 후보 에 음.스트링.gmatch(본문, "\n:*[%*#][^\n]-%[%[%s*([^%]\n]*)") 하다 table.insert(후보, 후보) 끝. 끝. 그렇지 않으면 템플릿 == "실패" 그리고나서 위해서 열쇠, 가치 에 쌍들(args) 하다 한다면 가치 그리고. 유형(열쇠) == "숫자" 그리고나서 table.insert(후보, 음.본문.다듬다(가치)) 끝. 끝. 끝. -- 인수 및 원하는 기본값에서 발췌 모듈의 옵션 배열을 작성합니다. 현지의 옵션들 = { 에러 = args['실패'] 또는 거짓의, 파일 목록 = args[파일 목록], 파일 플래그 = 번호 플래그( args['파일'] ), 패러 플래그 = 번호 플래그( args['문단'] ), 기타 링크본문 = 상세 링크본문(args['더'] ), keep Subs = args['서브섹션 유지'], keep Refs = args['킵 레퍼런스'], 노볼드 = args['오래된'] } -- 무작위로 후보를 선택하여 유효한지 확인합니다. 현지의 본문 현지의 후보 카운트 = #후보 한다면 후보 카운트 > 0 그리고나서 현지의 후보 키 = 1 현지의 후보 문자열 현지의 후보 Args 한다면 후보 카운트 > 1 그리고나서 math.contracteseed(산술시드(os.time()) 끝. 하는 동안에 (것은 아니다. 본문 또는 본문 == "") 그리고. 후보 카운트 > 0 하다 한다면 후보 카운트 > 1 그리고나서 후보 키 = math.matrix(후보 카운트) 끝. -- 무작위로 후보를 선택합니다. 후보 문자열 = 후보[후보 키] 한다면 후보 문자열 그리고. 후보 문자열 ~= "" 그리고나서 페이지, 페이지, 페이지 텍스트가 있으며, 그 뒤에 opt1 opt2가 있을 수 있습니다. 페이지입니다., 후보 Args = 음.스트링.경기(후보 문자열, "^%s*(%[%b[]%]%s*?" (*)) 한다면 페이지입니다. 그리고. 페이지입니다. ~= "" 그리고나서 페이지입니다. = 음.스트링.경기(페이지입니다., "%[%[([^ %]]*)") -- [페이지 텍스트]를 페이지로 변환하여 텍스트를 삭제합니다. 또 다른 -- 페이지 또는 페이지 옵션이 있습니다. 페이지입니다., 후보 Args = 음.스트링.경기(후보 문자열, %s*([^]*[^ %s])%s* ?(*)) 끝. -- 후보 인수(값이 "인 경우에도)는 글로벌 인수보다 우선합니다. 한다면 후보 Args 그리고. 후보 Args ~= "" 그리고나서 위해서 _, t 에 쌍들(음.본문.분열되다(후보 Args, " ")) 하다 현지의 k, v = 음.스트링.경기(t, %s*([^=]-)%s*=(-)%s*$") 한다면 k == '파일' 그리고나서 옵션들.파일 플래그 = 번호 플래그(v) 그렇지 않으면 k == '문단' 그리고나서 옵션들.패러 플래그 = 번호 플래그(v) 그렇지 않으면 k == '더' 그리고나서 args.더 = v 또 다른 옵션들[k] = v 끝. 끝. 끝. 한다면 페이지입니다. 그리고. 페이지입니다. ~= "" 그리고나서 현지의 부분 = 음.스트링.경기(페이지입니다., "[^#]+#([^#]+)") -- 섹션을 저장합니다. 본문, 페이지입니다. = 컨텐츠의 취득(페이지입니다.) -- 페이지가 존재하는지 확인합니다. 한다면 페이지입니다. 그리고. 페이지입니다. ~= "" 그리고. 본문 그리고. 본문 ~= "" 그리고나서 한다면 args.스탭 그리고나서 현지의 스터브 = 음.스트링.발견하다(본문, %s*{{{}}*%-[Ss]tub%s*}}") 한다면 스터브 그리고나서 본문 = 제로 끝. 끝. 한다면 부분 그리고. 부분 ~= "" 그리고나서 페이지입니다. = 페이지입니다. .. '#' .. 부분 -- 섹션을 복원합니다. 끝. 본문 = 얻다(페이지입니다., 옵션들) 끝. 끝. 끝. 테이블.삭제(후보, 후보 키) -- 후보자가 처리되었습니다. 후보 카운트 = 후보 카운트 - 1 -- 모든 후보자가 끝난 후에 반드시 루프를 종료합니다. 끝. 끝. 한다면 것은 아니다. 본문 또는 본문 == "" 그리고나서 돌아가다 wiki 에러("유효한 페이지를 찾을 수 없습니다.") 끝. 한다면 args.쇼올 그리고나서 현지의 분리기 = args.쇼올 한다면 분리기 == "" 그리고나서 분리기 = "{clear}}{hr}}" 끝. 위해서 _, 후보 에 쌍들(후보) 하다 현지의 t = 얻다(후보, 옵션들) 한다면 t ~= "" 그리고나서 본문 = 본문 .. 분리기 .. t 끝. 끝. 끝. -- 표시될 수 있는 페이지의 축소 목록을 추가합니다. 한다면 args.목록. 그리고. 것은 아니다. args.쇼올 그리고나서 현지의 목록. = args.목록. 한다면 목록. == "" 그리고나서 목록. = "기타 기사" 끝. 본문 = 본문 .. "{{top title=top 85%" ..목록. .. "}} bg=ff}}{{hlist} 위해서 _, 후보 에 쌍들(후보) 하다 한다면 음.스트링.경기(후보, %S) 그리고나서 본문 = 본문 .. " [[" .. 음.본문.다듬다(후보) .. "]]" 끝. 끝. 본문 = 본문 .. "}}\n{{밑면}}}" 끝. 돌아가다 틀:전처리(본문) 끝. -- {{Excerpt}}에서 사용한 오래된 호출 기능 현지의 기능. 발췌.(틀) 현지의 args = 구문 분석(틀) -- 요청된 페이지가 존재하는지 확인합니다. 현지의 페이지입니다. = args[1] 또는 args.기사 또는 args.원천 또는 args.페이지입니다. 한다면 것은 아니다. 페이지입니다. 그리고나서 돌아가다 wiki 에러("페이지 없음") 끝. 현지의 직함 = 음.직함.신규(페이지입니다.) 한다면 것은 아니다. 직함 그리고나서 돌아가다 wiki 에러("페이지 없음") 끝. 한다면 직함.리다이렉트 그리고나서 직함 = 직함.리다이렉트 타깃 끝. 한다면 것은 아니다. 직함.존재한다 그리고나서 돌아가다 wiki 에러("page Not Found" (페이지를 찾을 수 없습니다), 페이지입니다.) 끝. 페이지입니다. = 직함.프리픽스본문 -- 유용한 변수를 정의합니다. 현지의 부분 = args[2] 또는 args.부분 또는 음.스트링.경기(args[1], "[^#]+#([^#]+)") 현지의 태그 = args.태그 또는 'div' -- HTML 요소를 정의합니다. 현지의 블록 = 음.html.만들다(태그):클래스 추가('블록 해제') 한다면 이(args.표시기) 그리고나서 블록:클래스 추가('무작위') 끝. 현지의 스타일. = 틀:확장 태그{ 이름. = '패턴 스타일', args = { src = '제외/스타일.css' } } 현지의 해트노트 한다면 것은 아니다. args.노하트 그리고나서 한다면 args.이것. 그리고나서 해트노트 = args.이것. 그렇지 않으면 args.표시기 그리고나서 해트노트 = '이건' 그렇지 않으면 args.오직. == 파일'파일 그리고나서 해트노트 = '이 파일은' 그렇지 않으면 args.오직. == 파일'파일 그리고나서 해트노트 = '이 파일들은' 그렇지 않으면 args.오직. == 리스트 그리고나서 해트노트 = '이 리스트는' 그렇지 않으면 args.오직. == 리스트 그리고나서 해트노트 = '이 리스트는' 그렇지 않으면 args.오직. == '테이블' 그리고나서 해트노트 = '이 테이블은' 그렇지 않으면 args.오직. == '실패' 그리고나서 해트노트 = '이 테이블은' 또 다른 해트노트 = '이 섹션은' 끝. 해트노트 = 해트노트 .. 에서 발췌하다. 한다면 부분 그리고나서 해트노트 = 해트노트 .. '[[' .. 페이지입니다. .. '#' .. 부분 .. ' ' .. 페이지입니다. .. ' § ' .. 부분 .. ']]' 또 다른 해트노트 = 해트노트 .. '[[' .. 페이지입니다. .. ']]' 끝. 해트노트 = 해트노트 .. "''" .. '<span class="mw-editsection like plainlinks"><span class="mw-editsection-links">[/span>[]' 해트노트 = 해트노트 .. 직함:풀Url('action=편집') .. '편집' 해트노트 = 해트노트 .. '[ span class = " mw - edit section - """ > </span > </span >' .. "''" 해트노트 = 요구하다('모듈:해트노트')._해트노트(해트노트, {셀프레프=진실의}) 또는 wiki 에러('해트노트 생성 중 오류 발생') 끝. -- 템플릿 인수와 원하는 기본값을 사용하여 모듈 옵션을 만듭니다. 현지의 옵션들 = { 파일 플래그 = 번호 플래그( args['파일'] 또는 1 ), 패러 플래그 = 번호 플래그( args['문단'] ), 파일만 = 이( args['만'] == 파일'파일 또는 args['만'] == '파일' ), 리스트만 = 이( args['만'] == 리스트 또는 args['만'] == 리스트), 테이블만 = 이( args['만'] == '테이블' 또는 args['만'] == '실패' ), 킵테이블 = 이( args['실패'] 또는 진실의 ), keep Refs = 이( args['참고 자료'] 또는 진실의 ), keep Subs = 이( args['서브섹션'] ), 노볼드 = 것은 아니다. 이( args[굵다] ), 파편 = args['실패'] } -- 발췌본 자체를 가져옵니다. 한다면 부분 그리고나서 페이지입니다. = 페이지입니다. .. '#' .. 부분 끝. 현지의 네 알겠습니다, 발췌. = pcall(e.얻다, 페이지입니다., 옵션들) 한다면 것은 아니다. 네 알겠습니다 그리고나서 돌아가다 wiki 에러(발췌.) 끝. 발췌. = "\n" .. 발췌. -- 테이블이나 리스트가 파손되는 것을 막기 위해 줄 바꿈이 필요합니다. 한다면 음.직함.get Current Title(전류 제목)().isContentPage 그리고나서 발췌. = 발췌. .. '[카테고리:발췌된 기사]' 끝. 발췌. = 틀:전처리(발췌.) 발췌. = 음.html.만들다(태그):클래스 추가('해당'):위키텍스트(발췌.) -- 요소를 조합하여 반환합니다. 돌아가다 블록:노드(스타일.):노드(해트노트):노드(발췌.) 끝. -- 템플릿의 진입점 기능. p.주된(틀) 돌아가다 주된(틀) 끝. 기능. p.이끌다(틀) 돌아가다 포털(틀, '리드") 끝. -- {{Transclude lead extract}}: 지정된 페이지에서 무작위로 선택된 기사를 읽습니다. 기능. p.링크된(틀) 돌아가다 포털(틀, '링크') 끝. -- {{링크된 발췌를 제외}}}은(는) 지정된 페이지에서 링크된 임의의 기사를 읽습니다. 기능. p.리스트 항목(틀) 돌아가다 포털(틀, "목록 항목") 끝. -- {{Transclude list item extract}}: 지정된 페이지에 나열된 임의의 기사를 읽습니다. 기능. p.랜덤(틀) 돌아가다 포털(틀, "실패") 끝. -- {{랜덤 발췌 제외}}: 임의의 기사를 읽습니다(기본값은 1개의 인수를 사용하여 호출합니다). 기능. p.선택된(틀) 돌아가다 포털(틀, "선택") 끝. -- {{Transclude selected extract}}: selected= 파라미터에 키가 있는 기사를 읽습니다. 기능. p.발췌.(틀) 돌아가다 발췌.(틀) 끝. -- {{Excerpt}} 기사 일부를 다른 기사로 옮깁니다. -- 다른 Lua 모듈의 진입점 기능. p.얻다(페이지입니다., 옵션들) 돌아가다 얻다(페이지입니다., 옵션들) 끝. 기능. p.컨텐츠의 취득(페이지입니다.) 돌아가다 컨텐츠의 취득(페이지입니다.) 끝. 기능. p.get section(get section)(본문, 부분) 돌아가다 get section(get section)(본문, 부분) 끝. 기능. p.get tables(본문, 옵션들) 돌아가다 get tables(본문, 옵션들) 끝. 기능. p.리스트의 취득(본문, 옵션들) 돌아가다 리스트의 취득(본문, 옵션들) 끝. 기능. p.해석(본문, 옵션들) 돌아가다 해석(본문, 옵션들) 끝. 기능. p.해석 이미지(본문, 개시하다) 돌아가다 해석 이미지(본문, 개시하다) 끝. 기능. p.구문 분석(틀) 돌아가다 구문 분석(틀) 끝. 기능. p.템플릿 이미지(본문) 돌아가다 템플릿 이미지(본문) 끝. 기능. p.체크 이미지(이미지) 돌아가다 체크 이미지(이미지) 끝. 기능. p.정리 텍스트(본문, 옵션들) 돌아가다 정리 텍스트(본문, 옵션들) 끝. 기능. p.번호 플래그(스트레이트) 돌아가다 번호 플래그(스트레이트) 끝. 기능. p.상세 링크본문(더) 돌아가다 상세 링크본문(더) 끝. 돌아가다 p