Permanently protected module

모듈:아스박스

Module

--[[ 이 모듈은 사용자가 만들었습니다.코드하이드로 (알렉산더 지쿤 히). 사용자:Jackmcbarn 그리고 사용자:Mr._Stradivarius는 p.main()을 작성하는데 많은 도움을 주었습니다.  p.main()은 템플릿의 다음 버전에서 크게 끌어옵니다.주로 사용자가 작성한 영어 위키백과의 상자:리치_팜브로 https://en.wikipedia.org/w/index.php?title=Template:Asbox&oldid=619510287  p.templatepage()는 다음 템플릿 개정판에서 파생되었습니다.주로 사용자:MSGJ에 의해 작성된 상자/템플릿 페이지 https://en.wikipedia.org/w/index.php?title=Template:Asbox/templatepage&oldid=632914791  두 템플릿 모두 각 페이지의 개정 이력 탭에 나열된 다른 수많은 템플릿에서 중요한 기여를 했습니다. --]] 현지의 WRAPPER_TEMPATE, 아그스 = '템플릿:아스박스' 현지의 성전 양식 = 'Asbox/styles.css' 현지의 p, 버퍼, 스텁캣츠 = {  --중복 고양이를 막습니다.알았어요?아닐 수도 있어요?  고양이들 = 설정 가능한({}, {__새로운 색인 = 기능.(t, i, v)   한다면 것은 아니다. 생것(t, i) 그리고나서    미가공의(t, i, v)    테이블.삽입(t, i)   끝.  끝.}),  --p.main 및 p.template 페이지에서 모두 필요한 변수를 initial화합니다.  그 안에 = 기능.(자신, , 페이지입니다.)   아그스, 페이지입니다. = 아그스 아니면 요구하다('모듈:논쟁').getArgs(, {    포장지 = WRAPPER_TEMPATE   }), 페이지입니다. 아니면 mw.표제목.getCurrentTitle()   --데모 파라미터가 기사의 카테고리() 출력에 영향을 미치지 않도록 합니다.   자신.데모 = 자신.데모 아니면 페이지입니다..네임스페이스 ~= 0 그리고. 아그스.데모   돌아가다 아그스, 페이지입니다.  끝. }, 요구하다('모듈:버퍼')  --[[ 범주 링크의 형식을 지정합니다.cat.done=true와 함께 호출될 때까지 저장합니다. 'cat' 형태로 여러 개 또는 단일 범주를 사용합니다. 또는 부품을 포함하는 문자열 테이블 및/또는 테이블.(아래 참조) ]] 현지의 주의력, catTag, 캣키 = 버퍼'주의가 필요한 스터브 메시지 템플릿', '[[카테고리: %s]', '%s %s%s' 현지의 기능. 카테고리(고양이)  위해서 _, v 인에 짝을 짓다((끈을 매다(고양이) == 고양이 아니면 고양이.t) 그리고. {고양이} 아니면 고양이) 하다   --[[ v가 테이블인 경우: [1] = 전체 범주 이름. 공백인 경우 기본값으로 로컬 주의가 설정됩니다. k = 카테고리 정렬 키.v.t 이전 접두사 t = 페이지 입니다.text 또는 args.tempsort#; k 뒤에 추가됩니다(또는 생략된 경우 그 자리에).v가 문자열이 아닌 경우 필요합니다. 기본적으로 v = (v[1] 또는 주의)와 동일함..'   '.. (v.k 또는 '')'.. v.t. ]]   한다면 v 그리고. v ~= 진실의 그리고나서--reject v = 0, false 또는 true    p.고양이들[catTag:체재를 갖추다(끈을 매다(v) == v 그리고.     v     아니면 (v[1] 그리고. 버퍼(v[1]) 아니면 주의력):_in(v.k):_(v.t):_str(2, 0의, 0의, ' ')    )] = 진실의   끝.  끝.  돌아가다 고양이.다 했어요. 그리고. 테이블.콘캣(p.고양이들, p.데모 그리고. '   ' 아니면 0의) 아니면 '' 끝.  --[[ 옴박스 경고를 합니다. {ifNot = Boolean, text, {cat. sort key, cat. sort name} 테이블을 가져옵니다. Note가 true로 평가되면 대신 빈 문자열을 반환합니다. ]] 현지의 기능. 옴박스(v)  한다면 v.아니라면 그리고나서 돌아가다 끝.  p.옴박스 = p.옴박스 아니면 요구하다('모듈:메시지 상자').옴박스  카테고리{v[2]}  돌아가다 p.옴박스{   유형 = '내용',   본문 = v[1]  } 끝.  --[[ 기존 템플릿과 달리, 모듈은 이제 무제한 고양이를 받습니다!이 기능도 수행합니다. main category=가 생략된 경우에 대한 ombox를 제외한 대부분의 stub category 오류 검사(p. template() 참조) ]] 현지의 기능. 고양이 스터브(페이지입니다., 페이지Doc)  스텁캣츠 = {실종된 = {}, v = {}}  -- zwj와 zwnj는 다른 위키에서 의미론적으로 사용되므로 삭제하지 마십시오.  현지의 zwj = '\226\128\141'  -- U+200D, E2808D  현지의 zwnj = '\226\128\140' -- U+200C,E2808C  현지의 불허가의유니코드문자 = '[^%w%p%s' .. zwj .. zwnj .. ']' -- i18n을 위해 우리는 이것을 별도의 문자열로 만듭니다.  현지의 코드를  위해서 k, _ 인에 쌍들(아그스) 하다   --카테고리 파라미터를 찾아서 번호를 저장합니다(메인캣 = '').   테이블.삽입(스텁캣츠, 문자열.성냥(k, '^category(%d*$)'))  끝.  식탁에 앉히다(스텁캣츠)  위해서 k, v 인에 짝을 짓다(스텁캣츠) 하다   -- 카테고리 이름을 가져오고 p.templatepage로 호출된 경우, 선택적 정렬 키를 가져옵니다.   현지의 소트의, 고양이 = 아그스['tempsort' .. v], mw.utstring.gsub(아그스['category' .. v], 불허가의유니코드문자, '')--숨겨진 유니코드 문자를 모두 제거합니다.   --temport = 'no'인 경우 템플릿을 주 범주에 배치하지 않습니다.그러나 해당 템플릿의 문서를 기본 카테고리에 배치합니다.   테이블.삽입(스텁캣츠.v,     페이지입니다. 그리고. (--p.template 페이지는 페이지를 통과합니다. p.main은 그렇지 않습니다. 즉, 정렬 키 없이 기사가 분류됩니다.     v=='' 그리고. 소트의 == '아니오'--true인 경우, 테이블에 'true'를 삽입하며, 범주 ()자가 거부합니다.     아니면 소트의 그리고. {고양이, k = ' ', t = 소트의}     아니면 {고양이, k = ' *', t = 페이지입니다..본문}--소트 키 앞에 공백을 메모합니다.    )    아니면 고양이   )   --템플릿 페이지에 있는 경우에만 카테고리 존재 확인(즉, stub 문서)   한다면 페이지입니다. 그리고나서    한다면 것은 아니다. mw.표제목.신규('카테고리:' .. 고양이).존재한다 그리고나서     코드를 = 코드를 아니면 mw.html.만들다'코드':위키텍스트' 카테고리'     테이블.삽입(스텁캣츠.실종된, 끈을 매다(mw.복제하다(코드를):위키텍스트(v)))    끝.    --[[ 문서가 존재하는 경우 비 데모 스터브 템플릿에서 문서를 확인하고 플래그를 지정합니다. 모든 스터브 고양이 이름이 'Category: [] stub'와 일치하지 않으면 확인되고 플래그가 지정됩니다. 스터브 템플릿에 고유한 문서가 있는 경우 주 스터브 고양이는 이름 확인에서 제외됩니다. (presum하게도, 이 문서는 주 스터브 고양이가 왜 부적합한지에 대한 설명을 제공합니다.) ]]    테이블.삽입(스텁캣츠.v, v == '' 그리고. 것은 아니다. p.데모 그리고. 페이지Doc.존재한다 그리고.     '문서 하위 페이지가 있는 스터브 메시지 템플릿'     아니면 것은 아니다. 고양이:경기' stubs
                
그리고. {k = 'S', t = 페이지입니다..본문} ) 끝. 끝. --루프가 완료된 후 범주 이름 추가 카테고리(스텁캣츠.v) 돌아가다 #스텁캣츠.실종된 > 0 그리고. 옴박스{ --변경된 원래 msg: --이 템플릿에 정의된 스터브 범주 중 하나 이상이 존재하지 않는 것 같습니다! --파라미터 {{para category}}, {{para category1}}, {{para category2}}을(를) 다시 확인하십시오. '다음 매개 변수' .. (#스텁캣츠.실종된 == 1 그리고. ' 다음을 수행하는 스터브 범주를 정의합니다. 아니면 를 실행하는 스터브 범주를 정의합니다.) .. ' 존재하지 않음: ' .. mw.본문.listToText텍스트(스텁캣츠.실종된), {k = 'N', t = 페이지입니다..본문} } 끝. --catStub()에서 찾은 범주의 모집단을 표시합니다.없는 경우 데모 값을 출력합니다. 현지의 기능. 인구.() 현지의 위키텍스트, 기초 = {}, '* [[:분류:%s]](인구:%s)\n' 한다면 것은 아니다. 아그스.카테고리 그리고. 스텁캣츠[1] ~= 거짓의 그리고나서 테이블.삽입(스텁캣츠, 1, 거짓의) 끝. 위해서 _, v 인에 짝을 짓다(스텁캣츠) 하다 테이블.삽입(위키텍스트, 기초:체재를 갖추다( v 그리고. 아그스['category' .. v] 아니면 '{{category}}}', v 그리고. mw.위치.통계학적.페이지InCategory(아그스['category' .. v], '전부') 아니면 0 )) 끝. 돌아가다 테이블.콘캣(위키텍스트) 끝. -- 표준 스터브 설명서를 포함하고 잘못된 매개 변수 값으로 스터브 템플릿을 플래그로 지정합니다. 기능. p.템플릿 페이지(, 페이지입니다.) 아그스, 페이지입니다. = p:그 안에(, 페이지입니다.) 현지의 tStubDoc = mw.표제목.신규'템플릿:스텁 설명서' 현지의 페이지Doc = 페이지입니다.:하위페이지 제목('doc') --재구성 노트:Original Asbox는 카테고리를 출력하는 것과 params category#=을 확인하는 것을 번갈아 합니다. --여러 번 확인하고 작업을 전환하는 대신 모든 스터브 범주 매개 변수 작업이 catStub()에 롤업되었습니다. 돌아가다 버퍼( 옴박스{-- 누락된 arg에 대한 ombox 경고를 표시합니다. 아니라면 = 아그스.카테고리, '<code> 카테고리</code> 파라미터가 설정되어 있지 않습니다.적절한 스텁 범주를 추가하십시오.', {k = '다', t = 페이지입니다..본문} }) :_(옴박스{ 아니라면 = 아그스.주제 아니면 아그스.기사 아니면 아그스.예선전, 이 스터브 템플릿에 설명이 없습니다!매개 변수 <code> subject</code>, <code> article</code> 또는 <code> 한정자</code> 중 하나 이상을 정의해야 합니다.', {k = , t = 페이지입니다..본문} }) :_(고양이 스터브(페이지입니다., 페이지Doc))--catStub() 또한 존재하지 않는 범주가 있는 경우 옴박스를 반환할 수 있습니다. :_(카테고리{ 다 했어요. = p.데모 ~= 'doc',--문서 데모가 아닌 경우 범주를 출력합니다. 'Stub 메시지 템플릿', 아그스.아이콘 그리고. '아이콘 매개변수를 사용하여 스터브 메시지 템플릿' 아니면 아그스.이미지 그리고. ( mw.표제목.신규('미디어:' .. mw.본문.분열되다(아그스.이미지, ' ')[1]).존재한다--존재하는 경우 아무것도 수행하지 않습니다.범주 ()이(가) true를 거부합니다. 아니면 {k = 'B', t = 페이지입니다..본문} ) 아니면 '이미지가 없는 스터브 메시지 템플릿', 아그스.이미지알트 그리고. {k = '나', t = 페이지입니다..본문}, }) :_((것은 아니다. p.데모 아니면 p.데모 == 'doc') 그리고.--표준 스터브 템플릿 설명서 추가 요구하다('모듈:문서화').주된{ 내용을 = 버퍼(페이지입니다..본문 ~= 'stub 그리고.--이 비교는 모듈을 호출하기 전에 {{Asbox/stubtree}}에서 수행했습니다.아스박스 스터브트리 요구하다('모듈:아스박스 스터브트리').아목{아그스 = {페이지명 = 페이지입니다..본문}} ) :_in'\n== 이 템플릿 정보 ==\n이 템플릿은 a'를 식별하는 데 사용됩니다.:_(아그스.주제):_'stub':_(아그스.예선전):_out' '--공간 :_'. {{[템플릿:Asbox asbox]]}}, stub 템플릿을 만들고 유지하는 과정을 쉽게 하기 위해 설계된 메타 template입니다.\n=== 사용량 ===\n타이핑 ' :_(mw.html.만들다'코드' :위키텍스트('{{', 페이지입니다..본문 == 'stub 그리고. 'stub' 아니면 페이지입니다..본문, '}}') ) :_' 는 처음에 표시된 메시지를 생성하고 기사를 다음 범주에 추가합니다.' :_(#스텁캣츠 > 1 그리고. ies. 아니면 'y') :_':\n' :_(인구.()) :_(페이지Doc.존재한다 그리고.--/doc이 존재할 경우 이를 제외합니다. :확장템플릿{표제목 = 페이지Doc.본문} ) :_'\n== 일반정보 ==\n' :_(:확장템플릿{표제목 = tStubDoc.본문}) :_'\n\n'(), ['링크 상자'] = 버퍼'이 문서는 [[Module:아스박스]]" :_in일반적인 정보는 템플릿에서 제외됩니다]]에서 제외됩니다.스터브 설명서]].' :_(mw.html.만들다'스팬 :cssText'font 크기: smaller; font 스타일: 보통; 선 높이: 130%' :마디를(('([%sedit] [%shistory])'):체재를 갖추다( tStubDoc:풀얼('action=edit', 'relative'), tStubDoc:풀얼('action=history', 'relative') )) ) :_out() :_(페이지입니다..보호.레벨들.편집하다 그리고. 페이지입니다..보호.레벨들.편집하다[1] == 'sysop' 그리고. "이 템플릿은 [[WP:PROTECT fully protected]] 및 [[WP:CAT 카테고리]를 템플릿의 ["]에 추가해야 합니다. .. 페이지Doc:풀얼('action=edit&preload=템플릿:카테고리_interwiki/preload', 'relative') .. ' /doc] 하위 페이지, 보호되지 않습니다.' )' <br/>' } )() 끝. 기능. p.주된(, 페이지입니다.) 아그스, 페이지입니다. = p:그 안에(, 페이지입니다.) 현지의 산출량 = mw.html.만들다div :끌다{역할. = '노트'} :addClass'metadata 일반 링크 asbox stub' :꼬리표를 붙이다'테이블' :끌다{역할. = '프레젠테이션} :꼬리표를 붙이다'tr' :addClass'노레스 사이즈' :마디를((아그스.아이콘 아니면 아그스.이미지) 그리고. mw.html.만들다'td' :위키텍스트(아그스.아이콘 아니면 ('[파일:%s %spx alt=%s]'):체재를 갖추다( 아그스.이미지 아니면 '', 아그스.픽스 아니면 '40x30', 아그스.이미지알트 아니면 'Stub 아이콘' )) ) :꼬리표를 붙이다'td' :꼬리표를 붙이다'p' :addClass'상자몸' :위키텍스트( 버퍼'이것':_(아그스.주제):_(아그스.기사 아니면 기사'):_(아그스.예선전)' ',--공간 ' 는 [[Wikipedia:stub stub]]입니다.['에 의해 위키백과를 도울 수 있습니다., 페이지입니다.:풀얼('action=edit', 'relative'), ' 확장합니다.' ) :다 했어요.() :마디를(아그스.메모 그리고. mw.html.만들다() :꼬리표를 붙이다'p' :addClass'상자 노트' :위키텍스트(아그스.메모) :다 했어요.() ) :올디네() :마디를(아그스.이름. 그리고. 요구하다'모듈:'나브바'._navbar{ 아그스.이름., 미니 = '그렇다', } ) --[[ 템플릿의 스터브 범주에는 정렬 키가 포함되어 있으므로 모든 스터브 태그가 각 범주의 맨 앞에 표시됩니다. 템플릿을 사용하는 문서는 고유한 이름을 가지므로 정렬 키가 필요하지 않습니다. p.demo가 'doc'과 같다면 데모 스터브 범주는 스터브 템플릿에 대한 범주로 나타납니다. 그렇지 않으면 nil p.demo가 아닌 모든 기사 공간 범주를 에뮬레이트합니다(그리고 'art'로 설정하지 않는 한 모든 오류 고양이). ]] 한다면 페이지입니다..네임스페이스 == 0 그리고나서 -- 주 네임스페이스 카테고리'모든 스터브 기사' 고양이 스터브() 그 외의 경우에는 p.데모 그리고나서 한다면 p.데모 ~= 'doc' 그리고나서 고양이 스터브() 끝. --p.demo를 'art'로 설정하지 않는 한, 일반적으로 에만 표시되는 오류 범주도 포함됩니다. --템플릿은 있지만 문서에는 없습니다.namespace == 0 뒤에 오는 다른 경우는 데모 캣이 아티클 스페이스에 표시되지 않음을 의미합니다. p.데모독 = p.데모 ~= '예술' 그리고. p.템플릿 페이지(, 페이지입니다.) 산출량 = mw.html.만들다() :마디를(산출량) :꼬리표를 붙이다'작은:위키텍스트( '데모 카테고리:', (카테고리{다 했어요. = 진실의}:gsub('(%[%[(범주:)(^%]-(%))', '%1%2%3 %2%3%4'):gsub('(%[%[(카테고리:))', '%1:%2')) ):다 했어요.() :위키텍스트(p.데모 == 'doc' 그리고. p.데모독 아니면 0의) 또 다른 --유효한 이름을 확인합니다. {{}을(를) 사용하여 원본 템플릿의 확인을 에뮬레이트합니다.FULLPAGENAME:{{{name}}}} 현지의 normalizedName = mw.표제목.신규(아그스.이름. 아니면 '') 한다면 normalizedName 그리고. normalizedName.전문 == 페이지입니다..전문 그리고나서 산출량 = mw.html.만들다():마디를(산출량):위키텍스트(p.템플릿 페이지(, 페이지입니다.)) 그 외의 경우에는 것은 아니다. 페이지입니다..isSubpage 그리고. 페이지입니다..네임스페이스 == 10 그리고나서-- 하위 페이지가 아닌 템플릿 네임스페이스 카테고리{{k = 아그스.이름. 그리고. 'E' 아니면 'W', t = 페이지입니다..본문}} 끝. 끝. 돌아가다 :확장 태그{ 이름. = '스타일 templ', 아그스 = { src = 성전 양식} } .. 끈을 매다(산출량:위키텍스트(것은 아니다. p.데모 그리고. 카테고리{다 했어요. = 진실의} 아니면 0의)) 끝. 돌아가다 p