모듈:커먼즈 링크
Module| 이 모듈은 일반적으로 사용할 준비가 된 것으로 평가됩니다. 성숙한 형태에 도달했으며 비교적 버그가 없고 적절한 장소에서 사용할 준비가 된 것으로 생각됩니다. 새로운 사용자가 배울 수 있는 옵션으로 도움말 페이지 및 기타 위키피디아 리소스에 언급할 준비가 되었습니다. 서버 부하와 불량 출력을 줄이기 위해서는 반복 시행착오 편집이 아닌 샌드박스 테스트로 개선해야 합니다. |
| 이 루아 모듈은 약 261,000페이지에서 사용됩니다. 주요 중단 및 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다. 테스트한 변경사항을 한 번의 편집으로 이 페이지에 추가할 수 있습니다. 실행하기 전에 대화 페이지에서 변경 사항에 대해 논의하는 것을 고려합니다. |
| 이 모듈은 다음과 같은 다른 모듈에 의존합니다. |
샌드박스 테스트는 모듈:공용 링크/샌드박스/테스트 케이스입니다.
사용.
{{#invoke:Commons link getGallery}}
- 위키데이터를 사용하여 이 기사에 해당하는 커먼즈 갤러리를 찾습니다. 위키데이터에서 갤러리를 찾을 수 없는 경우, 기본적으로 공용에서 PAGENAME을 검색합니다.
{{#invoke:Commons link getGallery title linktext=text}}
- 다음 위치에서 커먼즈 갤러리 링크
title. 선택적으로 사용text표시된 링크 텍스트로 표시됩니다.
{{#invoke:Commons link getGallery search=string linktext=text}}
- 공통 검색에 대한 링크
string. 선택적으로 사용text표시된 링크 텍스트로 표시됩니다.
{{#invoke:Commons link getCategory fallback=string linktext=text}}
- 위키데이터를 먼저 사용하고, 실패할 경우 공통 검색을 사용합니다.
string. 선택적으로 사용text표시된 링크 텍스트로 표시됩니다.
{{#invoke:Commons link getCategory}}
- wikidata를 사용하여 이 기사에 해당하는 Commons 카테고리를 찾습니다. 위키데이터에서 카테고리를 찾을 수 없는 경우 기본적으로 카테고리를 검색합니다.PAGENAME in Commons.
{{#invoke:Commons link getCategory title linktext=text}}
- 공통 카테고리 링크:
Category:title. 선택적으로 사용text표시된 링크 텍스트로 표시됩니다.
{{#invoke:Commons link getCategory search=string linktext=text}}
- 공통 검색에 대한 링크
Category:string. 선택적으로 사용text표시된 링크 텍스트로 표시됩니다.
{{#invoke:Commons link getCategory fallback=string linktext=text}}
- 위키데이터를 먼저 사용하고, 실패할 경우 공통 검색을 사용합니다.
Category:string. 선택적으로 사용text표시된 링크 텍스트로 표시됩니다.
{{#invoke:Commons link getGalleryOrCategory}}
- 위키데이터를 사용하여 "최고"의 단일 커먼즈 링크를 찾으십시오. 갤러리를 먼저 시도하고 카테고리로 다시 이동하십시오. 그 밖에 위와 같은 주장.
{{#invoke:Commons link getGalleryAndCategory}}
- {{commons and category}}을(를) 구현하는 Lua: Commons 갤러리, Commons 카테고리 또는 둘 다 반환(둘 다 발견된 경우)
{{#invoke:Commons link getGalleryAndCategory GalleryName CategoryName}}
- GalleryName 또는 CategoryName 또는 둘 다 제공할 수 있습니다. Wikidata 검색을 재정의합니다.
{{#invoke:Commons link bold=1 italic=1 nowrap=1 lcfirst=1}}
- 첫 번째 링크의 형식을 지정할 수 있습니다(볼드, 이탤릭체, nowrap 및 소문자 첫 번째 문자의 임의 조합).
{{#invoke:Commons link linktext=link categoryText=category}}
- 첫 번째 링크와 두 번째 (카테고리) 링크의 텍스트도 무시할 수 있습니다.
{{#invoke:Commons link tracking=1}}
- 모듈은 제공된 인수와 Wikidata 간의 불일치에 대한 추적 카테고리를 생성할 수 있습니다.
요구하다('strict') -- 위키데이터 항목을 기반으로 공통 갤러리 및 카테고리를 찾는 모듈 현지의 겟아그스 = 요구하다('모듈:논쟁').겟아그스 현지의 네 아니요 = 요구하다('모듈:Yes no'.) 현지의 p = {} -- 문자열이 올바른 QID인지 확인 -- 인수: 확인할 QID -- 반품: 유효(bool) 현지의 기능. _유효한QID(qid) 돌아가다 qid 그리고. mw.우스트링.찾아내다(qid,"^[Qq]%d+$") 끝. -- 문자열이 올바른 위키데이터 속성 문자열인지 확인합니다. -- 인수: 확인할 속성 문자열 -- 반품: 유효(bool) 현지의 기능. _유효한 Prop(버팀목) 돌아가다 버팀목 그리고. mw.우스트링.찾아내다(버팀목,"^[Pp]%d+$") 끝. 현지의 기능. _lc 먼저(s) 돌아가다 mw.우스트링.더 낮게(mw.우스트링.후보선수(s,1,1))..mw.우스트링.후보선수(s,2) 끝. -- 표시된 링크 텍스트 형식 -- 인수: -- s = 표시할 문자열 -- 포맷 = 포맷 테이블: -- 포맷.linktext =(정의된 경우), 재정의 -- 포맷.lcfirst = 표시되는 첫 글자의 소문자 -- 포매팅의굵은 글씨 = 표시를 굵은 글씨로 표시할지 여부 -- Format.Italic = 디스플레이를 이탤릭체로 할지 여부 -- 포맷.nowrap = nowrap 설정nowrap -- 반환: -- 포맷된 문자열 현지의 기능. _format 결과(s, 포맷하기) 현지의 결과값 = 포맷하기.링크 텍스트 아니면 s 한다면 포맷하기.lc먼저 그리고나서 결과값 = _lc 먼저(결과값) 끝. 현지의 스타일. = "" 한다면 포맷하기.이탤릭체의 그리고나서 스타일. = "font 스타일:이탤릭체;" 끝. 한다면 포맷하기.대담한 그리고나서 스타일. = 스타일..."font 무게:볼드;" 끝. 한다면 포맷하기.노랩 그리고나서 스타일. = 스타일..."백색 공간:노랩;" 끝. 한다면 스타일. ~= "" 그리고나서 결과값 = '<span style=''..mw.본문.다듬다(스타일.)..'">'..결과값..'</span>' 끝. 돌아가다 결과값 끝. -- 현재 페이지의 제목, 네임스페이스 및 QID 가져오기 -- 인수: -- qid = testing only: QID = qid로 대체 페이지 제목 가져오기 -- nsQid = qid 페이지의 ns를 반환할지 또는 현재를 반환할지 여부 -- 반환: -- 제목, 네임스페이스( 문자열), 현재 페이지의 qid(또는 테스트 페이지) 현지의 기능. _getTitleQID(qid,nsQid) 현지의 title오브젝트 = mw.표제.현재 제목 가져오기() -- 현재 페이지에 대한 qid 검색(테스트하지 않은 경우) 현지의 ns텍스트 = mw.우스트링.헉헉대다(title오브젝트.ns텍스트,"_"," ") 한다면 것은 아니다. _유효한QID(qid) 그리고나서 qid = mw.위키베이스.현재 페이지에 대한 엔티티 ID 가져오기() 돌아가다 title오브젝트.본문, ns텍스트, qid 끝. -- 테스트 전용 경로: qid가 주어지면 제목 결정 -- 항상 현재 페이지에서 네임스페이스 사용(추적 고양이 억제) qid = qid:위쪽의() 현지의 표제 = mw.위키베이스.getSitelink(qid) 아니면 "" -- 사이트 링크에서 네임스페이스 제거 현지의 퍼스트콜론 = mw.우스트링.찾아내다(표제,':',1,진실의) 현지의 qidNs텍스트 = "" 한다면 퍼스트콜론 그리고나서 qidNs텍스트 = mw.우스트링.후보선수(표제,1,퍼스트콜론-1) 표제 = mw.우스트링.후보선수(표제,퍼스트콜론+1) 끝. 한다면 nsQid 그리고나서 돌아가다 표제, qidNs텍스트, qid 끝. 돌아가다 표제, ns텍스트, qid 끝. -- Wikidata의 Lookup Commons 갤러리 -- 인수: -- 현재 기사의 qid = QID -- fetch = Commons 사이트 링크 조회 여부(bool) -- 커먼즈 사이트 링크 = 커먼즈 사이트 링크의 기본값 -- 반환: -- categoryLink = Commons category 이름(아무것도 찾지 못하면 0) -- 일치하는 = 여러 위키데이터 필드를 조사합니다. 일치합니까? -- 현재 기사에 대한 commons 사이트 링크 = commons 사이트 링크 현지의 기능. _조회갤러리(qid,가지고 오다,commonsSite링크) 한다면 것은 아니다. _유효한QID(qid) 그리고나서 돌아가다 영의, 진실의, 영의 끝. qid = qid:위쪽의() 현지의 갤러리 링크 = 영의 현지의 일관된 = 진실의 -- 공용 사이트 링크에서 기사 검색, 카테고리가 아닌 경우 사용 한다면 가지고 오다 그리고나서 commonsSite링크 = mw.위키베이스.getSitelink(qid,"commons위키") 아니면 commonsSite링크 끝. 한다면 commonsSite링크 그리고. mw.우스트링.후보선수(commonsSite링크,1,9) ~= "카테고리:" 그리고나서 갤러리 링크 = commonsSite링크 끝. -- P935는 이 기사의 "공통 갤러리" 속성입니다. 현지의 P935 = mw.위키베이스.Best 문 가져오기(qid, "P935")[1] 한다면 P935 그리고. P935.주낙.데이터 값 그리고나서 현지의 갤러리 = P935.주낙.데이터 값.가치 한다면 갤러리 링크 그리고. 갤러리 링크 ~= 갤러리 그리고나서 일관된 = 거짓의 또 다른 갤러리 링크 = 갤러리 끝. 끝. 돌아가다 갤러리 링크, 일관된, commonsSite링크 끝. -- 다른 페이지의 커먼즈 사이트 링크를 검색하여 폴백 카테고리 찾기 -- 인수: -- 현재 기사의 qid = QID -- 부동산 = 사이트가 반환할 링크가 있는 다른 물품을 지칭하는 부동산 -- 반환: 카테고리로 구분된 기사 이름 또는 0 현지의 기능. _lookupFallback(qid,소유물) 한다면 것은 아니다. _유효한QID(qid) 아니면 것은 아니다. _유효한 Prop(소유물) 그리고나서 돌아가다 영의 끝. qid = qid:위쪽의() 소유물 = 소유물:위쪽의() -- 현재 기사에 속성이 있는 경우 값을 가져옵니다(다른 기사 qid). 현지의 가치 = mw.위키베이스.Best 문 가져오기(qid, 소유물)[1] 한다면 가치 그리고. 가치.주낙.데이터 값 그리고. 가치.주낙.데이터 값.가치.id 그리고나서 -- 다른 기사의 커먼즈 사이트 링크를 검색합니다. 현지의 사이트링크 = mw.위키베이스.getSitelink(가치.주낙.데이터 값.가치.id,"commons위키") -- "Category:"로 시작하는지 확인합니다. 만약 그렇다면, 그것을 벗겨서 돌려주세요. 한다면 사이트링크 그리고. mw.우스트링.후보선수(사이트링크,1,9) == "카테고리:" 그리고나서 돌아가다 mw.우스트링.후보선수(사이트링크,10) 끝. 끝. 돌아가다 영의 끝. -- 위키데이터에서 공용 카테고리 찾기 -- 인수: -- 현재 기사의 qid = QID -- fetch = Commons 사이트 링크 조회 여부(bool) -- 커먼즈 사이트 링크 = 커먼즈 사이트 링크의 기본값 -- 반환: -- categoryLink = Commons category 이름(아무것도 찾지 못하면 0) -- 일치하는 = 여러 위키데이터 필드를 조사합니다. 일치합니까? -- 현재 기사에 대한 commons 사이트 링크 = commons 사이트 링크 현지의 기능. _조회 카테고리(qid, 가지고 오다, commonsSite링크) 한다면 것은 아니다. _유효한QID(qid) 그리고나서 돌아가다 영의, 진실의, 영의 끝. qid = qid:위쪽의() 현지의 카테고리 링크 = 영의 현지의 일관된 = 진실의 -- commons site link에서 기사를 검색하고 "Category:"로 시작하는 경우 사용합니다. 한다면 가지고 오다 그리고나서 commonsSite링크 = mw.위키베이스.getSitelink(qid,"commons위키") 아니면 commonsSite링크 끝. 한다면 commonsSite링크 그리고. mw.우스트링.후보선수(commonsSite링크,1,9) == "카테고리:" 그리고나서 카테고리 링크 = mw.우스트링.후보선수(commonsSite링크,10) 끝. -- P910은 "주제의 주요 범주"입니다. 거기에 링크된 공유 사이트를 찾습니다. 현지의 뒤로 넘어지다 = _lookupFallback(qid,"P910") 한다면 뒤로 넘어지다 그리고나서 한다면 카테고리 링크 그리고. 카테고리 링크 ~= 뒤로 넘어지다 그리고나서 일관된 = 거짓의 qid = 영의 또 다른 카테고리 링크 = 뒤로 넘어지다 끝. 끝. -- P1754는 "리스트의 주요 카테고리"입니다. 거기에 링크된 공유 사이트를 찾습니다. 뒤로 넘어지다 = _lookupFallback(qid,"P1754") 한다면 뒤로 넘어지다 그리고나서 한다면 카테고리 링크 그리고. 카테고리 링크 ~= 뒤로 넘어지다 그리고나서 일관된 = 거짓의 qid = 영의 또 다른 카테고리 링크 = 뒤로 넘어지다 끝. 끝. -- P373은 이 기사의 "공통 범주" 속성입니다. 이것은 -- 질이 낮은 분야이므로 최후의 수단으로만 사용해야 합니다. 한다면 카테고리 링크 == 영의 그리고. _유효한QID(qid) 그리고나서 현지의 P373 = mw.위키베이스.Best 문 가져오기(qid, "P373")[1] 한다면 P373 그리고. P373.주낙.데이터 값 그리고나서 카테고리 링크 = P373.주낙.데이터 값.가치 일관된 = 진실의 -- P373은 다른 것이 있으면 절대 사용하지 않습니다. 끝. 끝. 돌아가다 카테고리 링크, 일관된, commonsSite링크 끝. -- 기사에 커먼즈 갤러리가 있습니까, 일관성이 있습니까? -- 인수: -- qid = 위키데이터에서 조회할 QID(테스트 전용) -- 반환: -- commons의 filename, bool: wikidata가 이 기사와 일치합니까? 기능. p._갤러리 일관성 있음(qid) 현지의 wp_, wp_ns wp_, wp_ns, qid = _getTitleQID(qid) 돌아가다 _조회갤러리(qid,진실의) 끝. -- 기사에 해당하는 커먼즈 갤러리가 있습니까? -- 인수: -- qid = 위키데이터에서 조회할 QID(테스트 전용) -- 반환: -- commons의 파일 이름(filename), 그렇지 않은 경우 false(false) 기능. p._has gallery(qid) 현지의 갤러리 링크, 일관된 = p._갤러리 일관성 있음(qid) 돌아가다 일관된 그리고. 갤러리 링크 끝. -- 기사에 커먼즈 카테고리가 있습니까? 위키데이터가 일치합니까? -- 인수: -- qid = 위키데이터에서 조회할 QID(테스트 전용) -- 접두사 = 반환 문자열에 "Category:"를 추가할지 여부(기본값 true) -- 반환: -- 파일 이름:Commons, bool:consistent 기능. p._카테고리 일관성 있음(qid,접두어의) 한다면 접두어의 == 영의 그리고나서 접두어의 = 진실의 끝. 현지의 wp_, wp_ns wp_, wp_ns, qid = _getTitleQID(qid) 현지의 카테고리 링크, 일관된 = _조회 카테고리(qid,진실의) 한다면 카테고리 링크 그리고. 접두어의 그리고나서 카테고리 링크 = "카테고리:"..카테고리 링크 끝. 돌아가다 카테고리 링크, 일관된 끝. -- 기사에 해당하는 커먼즈 카테고리가 있습니까? -- 인수: -- qid = 위키데이터에서 조회할 QID(테스트 전용) -- 접두사 = 반환 문자열에 "Category:"를 추가할지 여부(기본값 true) -- 반환: -- 파일 이름이 있는 경우 Commons(공지), 없는 경우 빈 파일 이름 기능. p._hascategory(qid,접두어의) 현지의 카테고리 링크, 일관된 = p._카테고리 일관성 있음(qid,접두어의) 돌아가다 일관된 그리고. 카테고리 링크 끝. -- 현재 기사에 해당하는 Commons 링크 만들기 -- 인수: -- 공용의 네임스페이스 = 네임스페이스("갤러리용") -- 기본값 = 커먼즈 링크로 사용, 위키데이터에 접근하지 않음 -- 검색할 = 문자열 -- fallback = wikidata 실패 시 검색할 문자열 -- 형식 지정 = 형식 지정 매개 변수 -- qid = 위키데이터에서 조회할 QID(테스트 전용) -- 반환: -- 지정된 네임스페이스의 공용으로 형식 지정된 위키링크 기능. p._공통사항 가져오기(네임스페이스,체납,서치,뒤로 넘어지다,포맷하기,qid) 현지의 nsColon 한다면 것은 아니다. 네임스페이스 아니면 네임스페이스 == "" 그리고나서 nsColon = "" 또 다른 nsColon = 네임스페이스..":" 끝. 한다면 체납 그리고나서 돌아가다 "[공통사항:"..nsColon..체납.." ".._format 결과(체납,포맷하기).."]]" 끝. 한다면 서치 그리고나서 돌아가다 "[공통사항:특별:검색/"..nsColon..서치.." ".._format 결과(서치,포맷하기).."]]" 끝. 현지의 wp_, wp_ns wp_, wp_ns, qid = _getTitleQID(qid) 현지의 커먼링크 = 영의 현지의 일관된 = 진실의 한다면 nsColon == "" 그리고나서 커먼링크, 일관된 = _조회갤러리(qid,진실의) 그렇지 않다면 네임스페이스:더 낮게() == "category" 그리고나서 커먼링크, 일관된 = _조회 카테고리(qid,진실의) 끝. -- 일치하는 경우 위키데이터 사용 한다면 커먼링크 그리고. 일관된 그리고나서 돌아가다 "[공통사항:"..nsColon..커먼링크.." ".._format 결과(커먼링크,포맷하기).."]]" 끝. -- 일치하지 않는 경우, 다시 검색하고 추적 고양이에 추가합니다. -- comput 기본 결과(제목을 검색하는) 현지의 검색결과 = "[공통사항:특별:검색/"..nsColon..(뒤로 넘어지다 아니면 wp_) .." ".._format 결과(뒤로 넘어지다 아니면 wp_,포맷하기).."]]" 한다면 것은 아니다. 일관된 그리고. wp_ns == "" 그리고나서 현지의 우호적인 NS 한다면 nsColon == "" 그리고나서 우호적인 NS = "gallery" 또 다른 우호적인 NS = 네임스페이스:더 낮게() 끝. 검색결과 = 검색결과.."[[카테고리:공용에 대한 일관성 없는 위키데이터"..우호적인 NS.."]]" 끝. 돌아가다 검색결과 끝. -- "최고" 커먼즈 링크를 반환합니다. 먼저 갤러리를 찾은 다음 카테고리를 시도하십시오. -- 인수: -- 기본값 = 커먼즈 링크로 사용, 위키데이터에 접근하지 않음 -- 검색할 = 문자열 -- fallback = wikidata 조회 실패 시 검색할 문자열 -- 형식 지정 = 형식 지정 매개 변수 -- qid = 위키데이터에서 조회할 QID(테스트 전용) -- 반환: -- 포맷된 위키링크를 커먼즈 "최상" 랜딩 페이지로 이동 기능. p._갤러리 또는 카테고리 가져오기(체납, 서치, 뒤로 넘어지다, 포맷하기, qid) 한다면 체납 그리고나서 돌아가다 "[공통사항:"..체납.." ".._format 결과(체납,포맷하기).."]]" 끝. 한다면 서치 그리고나서 돌아가다 "[공통사항:특별:검색/"..서치.." ".._format 결과(서치,포맷하기).."]]" 끝. 현지의 wp_, wp_ns wp_, wp_ns, qid = _getTitleQID(qid) 현지의 추적 캣츠 = "" 현지의 갤러리 링크, 일관된, commonsSite링크 = _조회갤러리(qid,진실의) -- 사이트 링크 또는 P935가 존재하는 경우 위키데이터를 사용합니다. 그리고 둘 다 동의합니다. 한다면 갤러리 링크 그리고. 일관된 그리고나서 돌아가다 "[공통사항:"..갤러리 링크.." ".._format 결과(갤러리 링크,포맷하기).."]]" 끝. 한다면 것은 아니다. 일관된 그리고. wp_ns == "" 그리고나서 추적 캣츠 = "[[카테고리:커먼즈 갤러리에 대한 일관성 없는 위키데이터]" 끝. -- 갤러리가 좋지 않으면 카테고리를 찾아 뒤로 물러납니다. 현지의 카테고리 링크 카테고리 링크, 일관된 = _조회 카테고리(qid,거짓의,commonsSite링크) 한다면 카테고리 링크 그리고. 일관된 그리고나서 돌아가다 "[공통사항:카테고리:"..카테고리 링크.." ".._format 결과(카테고리 링크,포맷하기).."]]"..추적 캣츠 끝. 한다면 것은 아니다. 일관된 그리고. wp_ns == "" 그리고나서 추적 캣츠 = 추적 캣츠.."[[카테고리:공용 카테고리에 대한 일관성 없는 위키데이터]" 끝. -- 마지막 시도로 제목을 찾는 검색 결과 반환 돌아가다 "[공통사항:특별:검색/" .. (뒤로 넘어지다 아니면 wp_) .. " " .. _format 결과(뒤로 넘어지다 아니면 wp_,포맷하기) .. "]]" .. 추적 캣츠 끝. -- Wikidata에서 링크 공유 갤러리 또는 카테고리 또는 둘 다 반환 -- 인수: -- 기본 갤러리 = 위키데이터 대신 사용할 기본 갤러리 링크 -- 기본 카테고리 = 위키데이터 대신 사용할 기본 카테고리 링크 -- 카테고리텍스트 = 갤러리와 카테고리가 모두 있는 경우, 카테고리 링크("기본값으로 category")에서 사용할 텍스트 -- oneSearch = 하나의 검색 결과만 내보냅니다. -- 형식 지정 = 형식 지정 매개 변수 -- 위키데이터에서 조회할 페이지의 qid = qid(testing만 해당) 기능. p._갤러리 및 카테고리 가져오기(기본 갤러리, 기본 카테고리, 카테고리 텍스트, 원서치, 포맷하기, qid ) 현지의 wp_, wp_ns wp_, wp_ns, qid = _getTitleQID(qid) 카테고리 텍스트 = 카테고리 텍스트 아니면 "category" 현지의 추적 캣츠 = "" 현지의 갤러리 링크, 갤러리 일치 현지의 commonsSite링크 = 영의 한다면 기본 갤러리 그리고나서 갤러리 링크 = 기본 갤러리 갤러리 일치 = 진실의 또 다른 갤러리 링크, 갤러리 일치, commonsSite링크 = _조회갤러리(qid,진실의) 끝. 현지의 갤러리굿 = 갤러리 링크 그리고. 갤러리 일치 한다면 것은 아니다. 갤러리 일치 그리고. wp_ns == "" 그리고나서 추적 캣츠 = "[[카테고리:커먼즈 갤러리에 대한 일관성 없는 위키데이터]" 끝. 현지의 카테고리 링크, 카테고리 일치 한다면 기본 카테고리 그리고나서 카테고리 링크 = 기본 카테고리 카테고리 일치 = 진실의 또 다른 카테고리 링크, 카테고리 일치 = _조회 카테고리(qid,기본 갤러리,commonsSite링크) 끝. 현지의 카테고리굿 = 카테고리 링크 그리고. 카테고리 일치 한다면 것은 아니다. 카테고리 일치 그리고. wp_ns == "" 그리고나서 추적 캣츠 = 추적 캣츠.."[[카테고리:공용 카테고리에 대한 일관성 없는 위키데이터]" 끝. 현지의 첫번째 링크 -- comput 기본 결과(제목을 검색하는) 현지의 검색결과 = "[공통사항:특별:검색/"..wp_.." ".._format 결과(wp_,포맷하기).."]]" 한다면 것은 아니다. 원서치 그리고나서 검색결과 = 검색결과.." ([[공통사항:특별:검색/카테고리:"..wp_.." "..카테고리 텍스트.."]])" 끝. 현지의 링크 텍스트 = 영의 한다면 갤러리굿 그리고나서 첫번째 링크 = 갤러리 링크 링크 텍스트 = 갤러리 링크 그렇지 않다면 카테고리굿 그리고나서 첫번째 링크 = "카테고리:"..카테고리 링크 링크 텍스트 = 카테고리 링크 또 다른 돌아가다 검색결과..추적 캣츠 끝. 현지의 결과값 = "[공통사항:"..첫번째 링크.." ".._format 결과(링크 텍스트,포맷하기).."]]" 한다면 갤러리굿 그리고. 카테고리굿 그리고나서 결과값 = 결과값.." ([[공통사항:카테고리:"..카테고리 링크.." "..카테고리 텍스트.."]])" 끝. 돌아가다 결과값..추적 캣츠 끝. -- 이름 공간을 제거한 상태에서 두 제목 비교 현지의 기능. 제목 일치(s1,s2) s1 = s1 아니면 "" s2 = s2 아니면 "" s1 = mw.우스트링.헉헉대다(s1,"^[^:]+:","") s2 = mw.우스트링.헉헉대다(s2,"^[^:]+:","") 돌아가다 s1 == s2 끝. 현지의 갤러리 트래킹 캣츠 = { commons_link_on_wikidata = '[[카테고리:공통 링크는 Wikidata에 있습니다.]', commons_link_defined_as_pagename = '[[카테고리:공용 링크는 페이지 이름으로 정의됩니다.]', commons_link_locally_정의 = '[[카테고리:커먼즈 링크는 로컬로 정의됩니다.]', commons_link_from_ wikidata = '[[카테고리:Wikidata의 공통 링크]', commons_link_is_pagename = '[[카테고리:공용 링크는 페이지 이름입니다.]', 앞뒤가 맞지 않는 = '[[카테고리:커먼즈 갤러리에 대한 일관성 없는 위키데이터]' } 현지의 카테고리 추적 캣츠 = { commons_link_on_wikidata = '[[카테고리:공용 카테고리 링크는 Wikidata에 있습니다.]', commons_link_defined_as_pagename = '[[카테고리:공용 카테고리 링크는 페이지 이름으로 정의됩니다.]', commons_link_locally_정의 = '[[카테고리:공용 카테고리 링크는 로컬로 정의됩니다.]', commons_link_from_ wikidata = '[[카테고리:'Wikidata의 공통 카테고리 링크]', commons_link_is_pagename = '[[카테고리:공용 카테고리 링크는 페이지 이름입니다.]', 앞뒤가 맞지 않는 = '[[카테고리:'공유 항목에 대한 일관성 없는 위키데이터]' } 현지의 기능. TrackingCat 선택(추적 캣츠,위키데이터,일관된,체납,표제) 한다면 것은 아니다. 일관된 그리고나서 돌아가다 추적 캣츠.앞뒤가 맞지 않는 끝. 한다면 체납 그리고나서 -- 경고 메시지를 작성합니다. 한다면 체납 == 위키데이터 그리고나서 돌아가다 추적 캣츠.commons_link_on_wikidata 끝. 현지의 경고문 = "" 한다면 위키데이터 그리고나서 현지의 generateWarning = 요구하다('모듈:미리보기를 하면')._경고 경고문 = generateWarning({ "공통 링크가 위키데이터와 일치하지 않습니다 – [템플릿:Commons_category #해결_불일치 확인 바랍니다]" }) 끝. 한다면 제목 일치(체납,표제) 그리고나서 돌아가다 추적 캣츠.commons_link_defined_as_pagename .. 경고문 끝. 돌아가다 추적 캣츠.commons_link_locally_정의 .. 경고문 끝. 한다면 위키데이터 그리고나서 돌아가다 추적 캣츠.commons_link_from_ wikidata 끝. 돌아가다 추적 캣츠.commons_link_is_pagename 끝. -- 추적 카테고리 및 편집기 경고 파악 -- 인수: -- 기본값 = Commons link 인수가 템플릿에 전달됨 -- 갤러리 가져오기 = Wikidata에서 갤러리 가져오기 여부 -- 카테고리 가져오기 = Wikidata에서 카테고리를 가져올지 여부 -- qid = 테스트용 qid 강제 -- 반환: -- 추적 카테고리 및 가능한 사용자 경고 -- -- 참고: 추적에 대한 논리가 논리와 상당히 다릅니다. -- 커먼즈 링크(위)를 생성합니다. 따라서, 그것은 다른 것으로 분리됩니다. -- 코드 명확성과 유지 관리성을 위한 기능을 제공합니다. 심각하지 않게 해야 합니다. -- 성능에 영향을 미칩니다: 서버 시간은 위키데이터 엔티티를 가져오는 것에 의해 지배됩니다. -- 그리고 이러한 엔티티는 캐시되고 생성되는 커먼즈 간에 공유되어야 합니다. -- 코드와 이 추적 코드. 기능. p._추적(체납, fetch Gallery, 카테고리 가져오기, qid) 현지의 표제, wp_ns, wp_qid = _getTitleQID(qid,진실의) 한다면 wp_ns ~= "" 그리고나서 표제 = wp_ns..":"..표제 끝. -- test 또는 namespace=article 또는 namespace=인지만 추적 한다면 것은 아니다. (qid 아니면 wp_ns == "" 아니면 wp_ns == "카테고리") 그리고나서 돌아가다 "" 끝. -- 위키데이터 및 wp 문서의 제목 및 네임스페이스 결정 현지의 위키데이터 = 영의 현지의 일관된 = 영의 -- 추적 코드는 fetch Gallery/Category의 4가지 상태 모두에 대해 작동합니다. -- fetchGallery가 우선입니다. 한다면 fetch Gallery 그리고나서 위키데이터, 일관된 = p._갤러리 일관성 있음(qid) 한다면 체납 아니면 것은 아니다. 카테고리 가져오기 아니면 (일관된 그리고. 위키데이터) 그리고나서 돌아가다 TrackingCat 선택(갤러리 트래킹 캣츠,위키데이터,일관된, 체납,표제) 끝. 끝. 한다면 카테고리 가져오기 그리고나서 현지의 cat_ wikidata, cat_ consistent = p._카테고리 일관성 있음(qid,진실의) 한다면 것은 아니다. fetch Gallery 아니면 (cat_ consistent 그리고. cat_ wikidata) 그리고나서 돌아가다 TrackingCat 선택(카테고리 추적 캣츠,cat_ wikidata, cat_ consistent,체납,표제) 끝. 돌아가다 TrackingCat 선택(갤러리 트래킹 캣츠,위키데이터,일관된, 체납,표제) 끝. 돌아가다 "" -- 가져온 것도 없고, 추적된 것도 없습니다. 끝. 현지의 기능. _형식 만들기(아그르그르그르그르그르그르그르그르그.) 현지의 포맷하기 = {} 포맷하기.링크 텍스트 = 아그르그르그르그르그르그르그르그르그..링크 텍스트 포맷하기.lc먼저 = 네 아니요(아그르그르그르그르그르그르그르그르그..lc먼저) 포맷하기.대담한 = 네 아니요(아그르그르그르그르그르그르그르그르그..대담한) 포맷하기.이탤릭체의 = 네 아니요(아그르그르그르그르그르그르그르그르그..이탤릭체의) 포맷하기.노랩 = 네 아니요(아그르그르그르그르그르그르그르그르그..노랩) 돌아가다 포맷하기 끝. -- _getTitleQID에 대한 테스트 전용 진입점 기능. p.getTitleQID(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 현지의 본문, ns, qid = _getTitleQID(아그르그르그르그르그르그르그르그르그.[1],아그르그르그르그르그르그르그르그르그.[2]) 돌아가다 본문..","..ns..","..(qid 아니면 "nil") 끝. -- _lookupFallback에 대한 테스트 전용 진입점 기능. p.lookupFallback(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 현지의 뒤로 넘어지다 = _lookupFallback(아그르그르그르그르그르그르그르그르그.[1],아그르그르그르그르그르그르그르그르그.[2]) 돌아가다 뒤로 넘어지다 아니면 "nil" 끝. -- 기사와 연결된 공통 갤러리 페이지 찾기 기능. p.get gallery(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 돌아가다 p._공통사항 가져오기("",아그르그르그르그르그르그르그르그르그.[1],아그르그르그르그르그르그르그르그르그..서치,아그르그르그르그르그르그르그르그르그..뒤로 넘어지다,_형식 만들기(아그르그르그르그르그르그르그르그르그.),아그르그르그르그르그르그르그르그르그..qid) 끝. -- 기사와 연결된 공용 카테고리 페이지 찾기 기능. p.범주 가져오기(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 현지의 되팔기 = p._공통사항 가져오기("카테고리", 아그르그르그르그르그르그르그르그르그.[1], 아그르그르그르그르그르그르그르그르그..서치, 아그르그르그르그르그르그르그르그르그..뒤로 넘어지다, _형식 만들기(아그르그르그르그르그르그르그르그르그.), 아그르그르그르그르그르그르그르그르그..qid ) 한다면 아그르그르그르그르그르그르그르그르그..추적 그리고나서 현지의 체납 = 영의 한다면 아그르그르그르그르그르그르그르그르그.[1] 그리고나서 체납 = "카테고리:"..아그르그르그르그르그르그르그르그르그.[1] 끝. 되팔기 = 되팔기..p._추적(체납, 거짓의, 진실의, 아그르그르그르그르그르그르그르그르그..qid) 끝. 돌아가다 되팔기 끝. 기능. p.갤러리 또는 카테고리 가져오기(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 현지의 되팔기 = p._갤러리 또는 카테고리 가져오기( 아그르그르그르그르그르그르그르그르그.[1], 아그르그르그르그르그르그르그르그르그..서치, 아그르그르그르그르그르그르그르그르그..뒤로 넘어지다, _형식 만들기(아그르그르그르그르그르그르그르그르그.), 아그르그르그르그르그르그르그르그르그..qid ) 한다면 아그르그르그르그르그르그르그르그르그..추적 그리고나서 되팔기 = 되팔기..p._추적(아그르그르그르그르그르그르그르그르그.[1],진실의,진실의,아그르그르그르그르그르그르그르그르그..qid) 끝. 돌아가다 되팔기 끝. 기능. p.has gallery(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 돌아가다 p._has gallery(아그르그르그르그르그르그르그르그르그..qid) 아니면 "" 끝. 기능. p.범주가 있음(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 돌아가다 p._hascategory(아그르그르그르그르그르그르그르그르그..qid) 아니면 "" 끝. 기능. p.갤러리 또는 카테고리가 있음(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 돌아가다 p._has gallery(아그르그르그르그르그르그르그르그르그..qid) 아니면 p._hascategory(아그르그르그르그르그르그르그르그르그..qid) 아니면 "" 끝. 기능. p.갤러리 및 카테고리 가져오기(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 돌아가다 p._갤러리 및 카테고리 가져오기(아그르그르그르그르그르그르그르그르그.[1], 아그르그르그르그르그르그르그르그르그.[2], 아그르그르그르그르그르그르그르그르그..카테고리 텍스트, 아그르그르그르그르그르그르그르그르그..원서치, _형식 만들기(아그르그르그르그르그르그르그르그르그.), 아그르그르그르그르그르그르그르그르그..qid) 끝. 기능. p.추적(틀) 현지의 아그르그르그르그르그르그르그르그르그. = 겟아그스(틀,{프레임만=진실의,부모만=거짓의,parent first=거짓의}) 돌아가다 p._추적(아그르그르그르그르그르그르그르그르그.[1], 아그르그르그르그르그르그르그르그르그..fetch Gallery, 아그르그르그르그르그르그르그르그르그..카테고리 가져오기, 아그르그르그르그르그르그르그르그르그..qid) 끝. 돌아가다 p