모듈:해트노트/샌드박스
Module| 모듈 샌드박스 페이지는 다음과 같습니다.해트노트(diff). 테스트 케이스에 대해서는, 부속의 서브 페이지도 참조해 주세요(실행). |
| 이 Lua 모듈은 MediaWiki에서 사용됩니다.수배 페이지 요약 이를 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 중대한 중단을 방지하려면 모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트한 변경은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.토크 페이지에서 변경 사항을 논의한 후 구현하십시오. |
| 이 모듈은 페이지 보호 대상입니다.이 모듈은 매우 많은 페이지에서 사용 중이거나 매우 자주 교체됩니다.파손이나 실수는 많은 페이지에 영향을 미치고 사소한 편집이라도 서버에 큰 부하가 걸릴 수 있으므로 편집으로부터 보호됩니다. |
| 이 모듈은 다음 다른 모듈에 의존합니다. |
| 이 모듈에서는 TemplateStyles를 사용합니다. |
해트노트를 만드는 다양한 기능을 제공하는 메타모듈입니다.페이지 상단의 해트노트에서 사용하는 {{hatnote} 템플릿과 해트노트에서 사용하는 Wikilink 포맷에 사용하는 {{format link} 템플릿이 구현되어 있습니다.또한 다른 Lua 해트노트모듈에서 사용하기 위한 도우미 기능도 다수 포함되어 있습니다.
Wikitext에서 사용
이 모듈의 함수는 #invoke에서 직접 사용할 수 없으며 대신 템플릿을 통해 사용해야 합니다."템플릿"을 참조해 주세요.해트노트 및 템플릿:문서용 링크 포맷.
다른 Lua 모듈에서 사용
다른 Lua 모듈에서 이 모듈을 로드하려면 다음 코드를 사용합니다.
현지의 mHatnote = 요구하다('모듈:해트노트') 그런 다음 아래에 설명된 대로 기능을 사용할 수 있습니다.
해트노트
mHatnote._해트노트(s, 옵션들) 문자열을 포맷합니다.s해트노트로요.이것은 에워싸여 있습니다.s명단에서<div class="hatnote">...</div>옵션은 에 기재되어 있습니다.optionstable. 옵션은 다음과 같습니다.
- options.extraclasses- 일련의 추가 클래스 제공
- options.selfref- 0 또는 false가 아닌 경우 Wikipedia에 대한 자기 참조를 나타내기 위해 사용되는 클래스 "selfref"를 추가합니다(템플릿 참조:Selfref)
해트노트 클래스의 CSS는 다음 모듈에서 정의됩니다.Hatnote/styles.css.
- 예 1
mHatnote._해트노트('이건 해트노트야') 작성:<div class="hatnote">This is a hatnote.</div>
다음과 같이 표시됩니다.
- 예 2
mHatnote._해트노트('이건 해트노트야', {체외 = '평판 참조', 셀프레프 = 진실의}) 작성:<div class="hatnote boilerplate seealso selfref">This is a hatnote.</div>
다음과 같이 표시됩니다.
네임스페이스 ID 찾기
mHatnote.find Namespace Id(링크, 리무브콜론) 문자열의 네임스페이스 ID를 찾습니다.link섹션 이름 유무에 관계없이 유효한 페이지 이름이어야 합니다.페이지명이 대괄호로 둘러싸여 있는 경우는, 이 기능은 동작하지 않습니다.네임스페이스 이름을 해석하려고 하면 기본적으로 콜론은 링크 시작 부분에서 삭제됩니다.이는 사용자가 콜론을 반드시 필요하지 않을 때 콜론을 지정한 콜론입니다.초기 콜론을 확인할 필요가 없는 경우,removeColon거짓으로.
- 예
mHatnote.findNamespaceId('Lion')→ 0mHatnote.findNamespaceId('Category:Lions')→ 14mHatnote.findNamespaceId(':Category:Lions')→ 14mHatnote.findNamespaceId(':Category:Lions', false)→ 0(네임스페이스가 "카테고리"가 아닌 ":카테고리"로 감지됨)
Wikitext 오류 발생
mHatnote.makeWikitext 오류(메시지, 도움말 링크, add Tracking Category (addTracking카테고리) 문자열을 포맷합니다.msg빨간색 Wikitext 오류 메시지로 표시되며 도움말 페이지 링크(옵션)가 제공됩니다.helpLink. 보통 이 함수는 카테고리도 추가합니다.오류가 있는 노트 템플릿(0).분류를 억제하려면 , passfalse함수의 세 번째 매개 변수로 지정됩니다(addTrackingCategory).
예:
mHatnote.makeWikitextError('an error has occurred')→ 오류: 오류가 발생했습니다.mHatnote.makeWikitextError('an error has occurred', 'Template:Example#Errors')→ 오류: 오류가 발생했습니다(도움말).
예
-------------------------------------------------------------------------------- -- 모듈:Hatnote -- -- -- -- 이 모듈에서는 해트노트 링크 및 관련 기사에 대한 링크를 생성합니다.그건... --는 {{hatnote} 및 {{format link}} 메타데이터를 구현하며 다음을 포함합니다. -- 다른 Lua 해트노트 모듈의 도우미 기능 -- -------------------------------------------------------------------------------- 현지의 라이브러리 Util = 요구하다('라이브러리 유틸') 현지의 체크 타입 = 라이브러리 Util.체크 타입 현지의 checkTypeForNamedArg = 라이브러리 Util.checkTypeForNamedArg 현지의 mArguments(인수) -- 느릿느릿 초기화 [[모듈:인수]] 현지의 네, 아니요 -- 느릿느릿 초기화 [[모듈:네] 현지의 포맷링크 -- 느릿느릿 초기화 [[모듈:링크 포맷] ._formatLink 현지의 p = {} -------------------------------------------------------------------------------- -- 도우미 기능 -------------------------------------------------------------------------------- 현지의 구부러지다 = 음.직함.get Current Title(전류 제목)().네임스페이스 p.missing Target Cat(대상 고양이 누락) = --관련 모듈에서 사용하기 위해 내보낸 기본 누락 대상 카테고리 ((구부러지다 == 0) 또는 (구부러지다 == 14)) 그리고. '존재하지 않는 페이지를 대상으로 한 해트노트 템플릿이 있는 기사' 또는 제로 현지의 기능. 취득하다(틀) -- 부모 프레임에서 인수를 가져옵니다.공백은 잘라내고 --공백이 삭제됩니다. mArguments(인수) = 요구하다('모듈:인수') 돌아가다 mArguments(인수).취득하다(틀, {parent Only(부모 전용) = 진실의}) 끝. 현지의 기능. removeInitialColon(s) -- 문자열에서 초기 콜론을 삭제합니다(있는 경우). 돌아가다 s:경기('^:?(.*)') 끝. 기능. p.find Namespace Id(링크, 리무브콜론) -- 링크 또는 pagename의 네임스페이스 ID(네임스페이스 번호)를 찾습니다.이것. --링크가 이중 괄호로 둘러싸여 있으면 기능은 동작하지 않습니다.콜론 --는 기본적으로 링크 시작 부분부터 잘라집니다.콜론을 건너뛰려면 -- 트리밍, removeColon 파라미터를 false로 설정합니다. 체크 타입('네임스페이스 ID 찾기', 1, 링크, '문자열) 체크 타입('네임스페이스 ID 찾기', 2, 리무브콜론, '실패', 진실의) 한다면 리무브콜론 ~= 거짓의 그리고나서 링크 = removeInitialColon(링크) 끝. 현지의 네임스페이스 = 링크:경기('^(.-):') 한다면 네임스페이스 그리고나서 현지의 nsTable = 음.위치.네임스페이스[네임스페이스] 한다면 nsTable 그리고나서 돌아가다 nsTable.아이디 끝. 끝. 돌아가다 0 끝. 기능. p.makeWikitext 오류(메시지, 도움말 링크, add Tracking Category (addTracking카테고리, 직함) -- 오류 메시지를 Wikitext로 반환하는 형식을 지정합니다.한다면 -- add Tracking Category가 false가 아닌 경우 -- [[모듈:[네]) 및 토크 페이지가 아닌 경우 추적 -- 가 추가되었습니다. 체크 타입('makeWikitextError', 1, 메시지, '문자열) 체크 타입('makeWikitextError', 2, 도움말 링크, '문자열, 진실의) 네, 아니요 = 요구하다('모듈:네, 아니요.) 직함 = 직함 또는 음.직함.get Current Title(전류 제목)() -- 도움말 링크를 텍스트로 만듭니다. 현지의 도움말 텍스트 한다면 도움말 링크 그리고나서 도움말 텍스트 = ' ([[' .. 도움말 링크 .. [ help ] ] ) 。 또 다른 도움말 텍스트 = '' 끝. -- 카테고리를 텍스트로 합니다. 현지의 카테고리 한다면 것은 아니다. 직함.isTalkPage -- 토크 페이지를 분류하지 않습니다. 그리고. 직함.네임스페이스 ~= 2 -- 사용자 공간을 분류하지 않습니다. 그리고. 네, 아니요(add Tracking Category (addTracking카테고리) ~= 거짓의 -- 탈퇴를 허용합니다. 그리고나서 카테고리 = '오류가 있는 노트 템플릿' 카테고리 = 음.스트링.포맷( '[%s:%s]', 음.위치.네임스페이스[14].이름., 카테고리 ) 또 다른 카테고리 = '' 끝. 돌아가다 음.스트링.포맷( '<strong class="error"> 오류: %s%s.</strong>%s', 메시지, 도움말 텍스트, 카테고리 ) 끝. 기능. p.애매모호하게 하다(페이지입니다., 불명확한 사람) -- 페이지 제목을 모호하지 않은 상위 가설로 포맷합니다. -- 즉, "예" → "예(명료화)"입니다. 체크 타입(불명확하게 하다, 1, 페이지입니다., '문자열) 체크 타입(불명확하게 하다, 2, 불명확한 사람, '문자열, 진실의) 불명확한 사람 = 불명확한 사람 또는 '명료화' 돌아가다 음.스트링.포맷('%s(%s)', 페이지입니다., 불명확한 사람) 끝. 기능. p.default Classes(인라인) -- 기본 해트노트 클래스를 공백으로 구분된 문자열로 제공합니다.유용합니다. -- [Module]와 같은 해트노트 조작 모듈의 경우:[ Hatnote group ] ] 돌아가다 (인라인 == 1 그리고. '해트노트' 또는 '해트노트') .. ' ' .. '검색 불가' 끝. -------------------------------------------------------------------------------- -- 해트노트 -- -- 표준 해트노트 텍스트를 생성합니다.{{hatnote}} 템플릿을 구현합니다. -------------------------------------------------------------------------------- 기능. p.해트노트(틀) 현지의 args = 취득하다(틀) 현지의 s = args[1] 한다면 것은 아니다. s 그리고나서 돌아가다 p.makeWikitext 오류( '지정된 텍스트 없음', '템플릿:Hatnote #오류, args.카테고리 ) 끝. 돌아가다 p._해트노트(s, { 체외 = args.체외, 셀프레프 = args.셀프레프 }) 끝. 기능. p._해트노트(s, 옵션들) 체크 타입('_hatnote', 1, s, '문자열) 체크 타입('_hatnote', 2, 옵션들, '테이블', 진실의) 옵션들 = 옵션들 또는 {} 현지의 인라인 = 옵션들.인라인 현지의 해트노트 = 음.html.만들다(인라인 == 1 그리고. '스판' 또는 'div') 현지의 체외 한다면 유형(옵션들.체외) == '문자열 그리고나서 체외 = 옵션들.체외 끝. 해트노트 :특성('역할', '주') :클래스 추가(p.default Classes(인라인)) :클래스 추가(체외) :클래스 추가(옵션들.셀프레프 그리고. '셀프 레프 또는 제로) :위키텍스트(s) 돌아가다 음.get Current Frame(전류 프레임)():확장 태그{ 이름. = '패턴 스타일', args = { src = '모듈:Hatnote / styles . css ' } } .. 스트링(해트노트) 끝. 돌아가다 p 