Permanently protected module

모듈:택손바

Module

요구하다('실패')  현지의 컨피던스 = 요구하다( '모듈:Taxonbar/conf' ) --설정 모듈 현지의 택손이탈리아어 = 요구하다( '모듈:이탈리아인 ) --분류명을 조건부로 이탤릭체로 표기하는 함수를 사용합니다.  --[[==========================================================================]] --[[로컬 기능]] --[[==========================================================================]]  현지의 기능. NilOrempty(비어 있음)(  )  한다면  == 제로 또는  == '' 그리고나서   돌아가다 진실의  끝.  돌아가다 제로 끝.  현지의 기능. getIdFromWikidata( 아이템, 소유물 )  현지의 아이디 = 제로  한다면 소유물 == 'PWikis 종:$1' 그리고나서   현지의 사이트 링크 = 아이템.시트링크   한다면 사이트 링크 그리고나서    현지의 종위키 = 아이템.시트링크.종위키    한다면 종위키 그리고나서     아이디 = 종위키.직함    끝.   끝.   돌아가다 아이디  그렇지 않으면 아이템.주장하다[소유물] == 제로 그리고나서   돌아가다 아이디  끝.  --[[이 코드는 wikidata에서 사용되지 않는 값을 선택합니다.get Best Statements 를 사용하는 것이 좋습니다. _의 경우, 쌍으로 된 문장( item.tem[time]do statement.mainsnak.datavalue의 경우 id = statement.mainsnak.datavalue.value 브레이크. 끝. 끝. ]]  현지의 진술들 = 아이템:get Best Statements(베스트 스테이트먼트)(소유물)[1]   한다면 진술들 그리고.     진술들.메인음 그리고.     진술들.메인음.데이터 그리고.     진술들.메인음.데이터.가치  그리고나서   아이디 = 진술들.메인음.데이터.가치  끝.   돌아가다 아이디 끝.  현지의 기능. 링크( 소유물, db,  )  현지의 링크, 반환값 = '', {}    반환값.isError(isError) = 거짓의    한다면 .스트링.발견하다( , '//' ) 그리고나서   링크 =   또 다른   한다면 유형(소유물) == '숫자' 그리고. 소유물 > 0 그리고나서    현지의 entity Object(Entity Object) = .키보드.엔티티('P'..소유물)    현지의 data 타입        한다면 entity Object(Entity Object) 그리고나서 data 타입 = entity Object(Entity Object).데이터형    또 다른 반환값.isError(isError) = 진실의 끝.        한다면 data 타입 == 'clos-id' 그리고나서     현지의 포맷하는 사람URL = 제로     한다면 소유물 == 3746 또는 이스라엘의 야생화        소유물 == 3795 또는 - Flora of Israel 온라인        소유물 == 5397    --Tierstimmenarchiv     그리고나서      포맷하는 사람URL = entity Object(Entity Object):get Best Statements(베스트 스테이트먼트)('P1630')[2] --두 번째 포맷을 사용합니다.영어판 URL     끝.     한다면 포맷하는 사람URL == 제로 그리고나서 포맷하는 사람URL = entity Object(Entity Object):get Best Statements(베스트 스테이트먼트)('P1630')[1] 끝. --디폴트는 [1]입니다.     한다면 포맷하는 사람URL 그리고나서      한다면 포맷하는 사람URL.메인음.데이터 그리고. 포맷하는 사람URL.메인음.데이터.가치 그리고나서 --nil ABA 체크       링크 = 포맷하는 사람URL.메인음.데이터.가치      끝.     끝.     한다면 db == 절을' 그리고나서 -- eBird 식별자를 사용하는 세계 조류용      링크 = https://birdsoftheworld.org/bow/species/$1'     끝.    그렇지 않으면 data 타입 == 'url' 그리고나서     현지의 서브젝트 아이템 = entity Object(Entity Object):get Best Statements(베스트 스테이트먼트)('P1629')[1]     한다면 서브젝트 아이템 그리고나서      현지의 공식 웹 사이트 = .키보드.엔티티(서브젝트 아이템.메인음.데이터.가치.아이디):get Best Statements(베스트 스테이트먼트)('P856')[1]      한다면 공식 웹 사이트 그리고나서 링크 = 공식 웹 사이트.메인음.데이터.가치 끝.     끝.    그렇지 않으면 data 타입 == '문자열 그리고나서     현지의 포맷하는 사람URL = entity Object(Entity Object):get Best Statements(베스트 스테이트먼트)('P1630')[1]     한다면 포맷하는 사람URL 그리고나서      링크 = 포맷하는 사람URL.메인음.데이터.가치     또 다른      현지의 서브젝트 아이템 = entity Object(Entity Object):get Best Statements(베스트 스테이트먼트)('P1629')[1]      한다면 서브젝트 아이템 그리고나서       현지의 공식 웹 사이트 = .키보드.엔티티(서브젝트 아이템.메인음.데이터.가치.아이디):get Best Statements(베스트 스테이트먼트)('P856')[1]       한다면 공식 웹 사이트 그리고나서 링크 = 공식 웹 사이트.메인음.데이터.가치 끝.      끝.     끝.    또 다른     반환값.isError(isError) = 진실의    끝.   그렇지 않으면 유형(소유물) == '문자열 그리고나서    링크 = 소유물   끝.      --local valurl = val   현지의 밸브 = .uri.부호화( , '경로 )   밸브 = string.gsub (밸브, %%2F', '/') --wikidata/' (P5354의 문제 등), wikidata T128078 및 https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/664820/3/lib/includes/PropertyInfoSnakUrlExpander.php를 참조하십시오.      한다면 유형(소유물) == '숫자' 그리고나서    --이스라엘의 야생화 ID 언어 더블체크    한다면 소유물 == 3746 그리고나서 링크 = .스트링.서브(링크, '/filename/', '/영어/') 끝.    --PfaF 바이노미얼의 형식 공간(예: "Elaeagnus x ebingei")    한다면 소유물 == 4301 그리고나서 밸브 = .스트링.서브(밸브, '%%20', '+') 끝.   끝.   밸브 = .스트링.서브(밸브,'%%','%%%%')   링크 = .스트링.서브(링크, '$1', 밸브)  끝.    링크 = .스트링.서브(링크, '^[Hh][Tt][TT] [Pp]([S]?):/', '1://') --wikidata URL 수정   = .스트링.경기(, '([^=/]*)/?
                
) --URL의 끝에서 표시명을 취득합니다. 한다면 .스트링.발견하다( 링크, '//' ) 그리고나서 반환값.본문 = '['..링크..' '...본문.부호화(.uri.해독하다(, '경로),'%[%]')..']' 그렇지 않으면 링크 == '' 그리고나서 반환값.본문 = 또 다른 반환값.본문 = '<span class="class">[[]'..링크..' '....[]] </span> 끝. 돌아가다 반환값 끝. 현지의 기능. createRow( 아이디, 라벨., raw Value(원가치), 링크, UID를 사용 ) 한다면 링크 그리고나서 현지의 보다 우수하다 = '*<span style="white-space:nowrap;">'..라벨...'<span'' 한다면 UID를 사용 그리고나서 보다 우수하다 = 보다 우수하다..'class='uid' 끝. 돌아가다 보다 우수하다..'>'..링크..'/span> </span>\n' 또 다른 돌아가다 '* '...본문.태그('스판', {학급=에러}, '식별자'..아이디..' '..raw Value(원가치)..'는 유효하지 않습니다.)..'\n' 끝. 끝. 현지의 기능. 복사 테이블(테이블 안) 한다면 유형(테이블 안) ~= '테이블' 그리고나서 돌아가다 테이블 안 끝. 현지의 아웃테이블 = 설정 가능한({}, getmetable(테이블 안)) 위해서 열쇠, 가치 쌍들 (테이블 안) 하다 아웃테이블[복사 테이블(열쇠)] = 복사 테이블(가치) 끝. 돌아가다 아웃테이블 끝. 현지의 p = {} --[[==========================================================================]] --[[메인] --[[==========================================================================]] 기능. p.authority Control Taxon(권한 제어 택시)( ) 현지의 리졸브 엔티티 = 요구하다( '모듈:Resolve Entity Id' ) 현지의 부모 Args = 복사 테이블(:부모 취득().args) 현지의 current Title(현재 제목) = .직함.get Current Title(전류 제목)() 현지의 current Entity아이디 = .키보드.getEntityIdForCurrentPage() 현지의 stringArgs = 거짓의 현지의 FromTitle Count로, 퍼스트 로우, 행수 = 1, 0, 0 현지의 아웃스트링, 에러 = '', '' 현지의 iFroms = 0 --tFroms의 정수 크기, b/c Lua 현지의 송신원 = {} -- 일의의 발신기지 테이블이 연속되지 않습니다. 현지의 캣츠 = { '[카테고리:파라미터가 없는 Taxonbars]', '[카테고리:Wikidata에서 분리된 Taxonbars]', '', -- [3] [Category]의 플레이스 홀더:Wikidata 항목이 필요한 Taxonbar 페이지]] '', -- [4]의 플레이스 홀더 카테고리:가능한 비택시 페이지 상의 택시온바]] '', -- [5] [Category]의 플레이스 홀더:파라미터가 무효인 택슨바]] '', -- [ 6 ] [ Category ]의 플레이스 홀더:파라미터에서 중복되는 분류 막대]] '', -- [7] [카테고리]의 플레이스 홀더:기사 제목 2개가 일치하는 Taxonbars ] '', -- [8] [Category]의 플레이스 홀더기사 제목과 QID가 일치하는 Taxonbar 2개] '', -- [9] [카테고리]의 플레이스 홀더:수동 분류군 ID가 있는 분류군 바] --이름 변경 '사용' -> '사용' '', --[10] 카테고리 플레이스 홀더:Wikidata와 동일한 수동 분류 ID를 가진 분류 막대] '', -- [ 11 ] [ Category ★Wikidata와 다른 수동 분류군 ID를 가진 분류군] '', --[12] 카테고리 플레이스 홀더:파라미터를 알 수 없는 분류 막대]] '', --[13] 카테고리 플레이스 홀더:이름 없는 파라미터가 있는 Taxonbar] '', --[14] 카테고리 플레이스 홀더:여러 개의 수동 Wikidata 항목이 포함된 Taxonbar] --이름 변경 '사용' -> '와' '', --[15] 카테고리 플레이스 홀더:베이시옴이 자동으로 추가된 택슨바] '', --[16] 카테고리 플레이스 홀더:오리지널 조합이 자동으로 추가된 Taxonbar] '', --[17] 카테고리 플레이스 홀더:자동으로 추가된 단형속]을 포함하는 분류군 '', --[18] 카테고리 플레이스 홀더:단형종 결손속 분류군]] '', --[19] 카테고리 플레이스 홀더:기본 Wikidata 분류 ID가 없는 분류 막대] '', --[20] 카테고리 플레이스 홀더:세컨더리 Wikidata 분류 ID가 없는 분류 막대] '', --[21] 카테고리 플레이스 홀더:분류군 ID가 20~24개인 분류군 바]] '', --[22] 카테고리 플레이스 홀더:분류군 ID가 25~29개인 분류군 바]] '', --[23] 카테고리 플레이스 홀더:분류군 ID가 30~34개인 분류군] '', --[24] 카테고리 플레이스 홀더:분류군 ID가 35~39개인 분류군 바]] '', --[25] 카테고리 플레이스 홀더:분류군 ID가 40~44개인 분류군] --이름 변경 '40+' -> '40~44' '', --[26] 카테고리 플레이스 홀더:분류군 ID가 45개 이상인 분류군 바] --new } 현지의 받아들일 수 있다Instance Of_Strict = { ['Q16521'] = '분류', --마이너스 ['Q310890'] = '단형 분류군', --마이너스 ['Q98961713'] = '최종 분류군', --마이너스 ['Q2568288'] = '이치노탁손', --마이너스 ['Q23038290'] = '최종 분류군', --마이너스 ['Q47487597'] = '단형 화석 분류군', --마이너스 } 현지의 받아들일 수 있다인스턴스 Of_모든. = { ['Q16521'] = '분류', --마이너스 ['Q310890'] = '단형 분류군', --마이너스 ['Q98961713'] = '최종 분류군', --마이너스 ['Q2568288'] = '이치노탁손', --마이너스 ['Q23038290'] = '최종 분류군', --마이너스 ['Q47487597'] = '단형 화석 분류군', --마이너스 ['Q42621'] = '실패', --마이너스 ['Q235536'] = 인서태세디스, --마이너스 ['Q713623'] = '클레이드', --마이너스 ['Q848328'] = '혈청형', --마이너스 ['Q857968'] = '모티콘', --마이너스 ['Q17487588'] = '사용할 수 없는 조합', --마이너스 } --Wikidata와의 페이지 관계를 평가합니다. 현지의 current Item(현재 항목) = 제로 한다면 current Title(현재 제목).네임스페이스 == 10 그리고나서 --예: 모듈:Taxonbar/샌드박스, 템플릿:Taxonbar/doc 등 한다면 리졸브 엔티티.아이디(부모 Args['from']) 그리고나서 current Item(현재 항목) = .키보드.엔티티(부모 Args['from']) 끝. 한다면 current Item(현재 항목) == 제로 그리고나서 한다면 리졸브 엔티티.아이디(부모 Args['from1']) 그리고나서 current Item(현재 항목) = .키보드.엔티티(부모 Args['from1']) 끝. 끝. 그렇지 않으면 리졸브 엔티티.아이디(current Entity아이디) 그리고나서 current Item(현재 항목) = .키보드.엔티티(current Entity아이디) 또 다른 --currentEntityId == 0/controllable 캣츠[3] = '[카테고리:Wikidata 항목이 필요한 Taxonbar 페이지]' 끝. 한다면 current Item(현재 항목) 그리고나서 캣츠[4] = '[카테고리:가능한 비택시 페이지 상의 택시온바]' --허용 가능한 경우, 발견됩니다. 위해서 _, instance Of State(인스턴스 오브 스테이트) 쌍들 ( current Item(현재 항목):get Best Statements(베스트 스테이트먼트)('P31') ) 하다 --중요한 현지의 instance Of = instance Of State(인스턴스 오브 스테이트).메인음.데이터.가치.아이디 한다면 받아들일 수 있다인스턴스 Of_모든.[instance Of] 그리고나서 캣츠[4] = '' 브레이크. 끝. 끝. 끝. -- arg의 청소 위해서 k, v 쌍들( :부모 취득().args ) 하다 한다면 유형(k) == '문자열 그리고나서 --args는 대소문자를 구분하지 않습니다. 현지의 로어크 = .스트링.더 낮게(k) 한다면 NilOrempty(비어 있음)( 부모 Args[로어크] ) 그리고나서 부모 Args[k] = 제로 부모 Args[로어크] = v 끝. -- abc를 abc1에 리맵합니다. 한다면 .스트링.발견하다(로어크,'%d
$$SIDE_BOTTOM$$
    $$BOTTOM$$