모듈:포맷 링크
Module| 이 Lua 모듈은 MediaWiki에서 사용됩니다.약 1,240,000페이지(전체 페이지의 약 2%)의 페이지입니다. 이를 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 중대한 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경을 테스트해야 합니다.테스트한 변경은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.토크 페이지에서 변경 사항을 논의한 후 구현하십시오. |
이 모듈은 모듈의 원본에서 마이그레이션됩니다.Hatnote는 {{format link}} 템플릿에 전원을 공급하는 기능을 포함하여 표시할 링크를 포맷하는 기능을 제공합니다.
섹션 기호("")와 적절한 공백으로 섹션 링크를 예쁘게 포맷할 수 있으며 콜론 트릭으로 카테고리 및 파일 이름을 자동으로 이스케이프할 수 있으며 페이지 또는 섹션 이름을 이탤릭체로 표시하여 빨간색 링크를 생성하는 결과를 감지 및 분류하는 기능이 있습니다.
Wikitext에서 사용
이 모듈의 함수는 #invoke에서 직접 사용할 수 없으며 대신 템플릿을 통해 사용해야 합니다."템플릿"을 참조해 주세요.해당 템플릿의 사용 방법에 대한 문서 링크를 포맷합니다.
다른 Lua 모듈에서 사용
다른 Lua 모듈에서 이 모듈을 로드하려면 다음 코드를 사용합니다.
현지의 mFormatLink = 요구하다('모듈:링크 포맷') 그런 다음 아래에 설명된 대로 기능을 사용할 수 있습니다.
_formatLink
mFormatLink._formatLink{ 링크 = '링크', 표시 = '디스플레이', 타깃 = '타깃', 페이지 이탤릭체 = 진실의, 이탤릭체로 쓰다부분 = 진실의, 분류누락 = '빨간색 링크를 사용한 페이지' } 포맷linkWikilink 로서.카테고리 및 파일은 콜론 트릭을 사용하여 자동으로 이스케이프되며 섹션으로의 링크는 MediaWiki 기본값 page#section이 아닌 page " 섹션으로 자동 포맷됩니다.
출력을 변경하는 옵션은 다음과 같습니다.
- 이 경우,display값이 존재하면 표시 값으로 사용됩니다.수동 배관(사용)
{{!}}마법의 단어 또는 유사)에 존재하는link에 의해 덮어쓰게 됩니다.display값(존재하는 경우) - 이 경우,target값이 존재하면 덮어씁니다.link타겟으로서도, 결과는, 다음의 어느쪽인가를 사용해 표시됩니다.display또는 포맷 결과link.
- 한다면italicizePage이 경우 링크 페이지 부분은 이탤릭체로 표시됩니다.
- 한다면italicizeSection이 경우 링크 섹션 부분은 이탤릭체로 표시됩니다.
- 한다면categorizeMissing이 값은 공백이 아닌 문자열입니다.이 값은 카테고리 이름으로 사용됩니다.이 카테고리는 링크의 결과 타깃에 적용됩니다(경유 여부에 관계없이).link또는 경유로target)가 존재하지 않습니다.
- 예
mFormatLink._formatLink{link = 'Foo#Bar'}→ [[:Foo#Bar Foo § 막대] → 푸우 bar 막대mFormatLink._formatLink{link = 'Baz', display = 'Qux'}→ [[:Baz Qux] → QuxmFormatLink._formatLink{link = 'Foo Bar', display = 'Baz'}→ [[:Foo Baz] → BazmFormatLink._formatLink{link = '#Foo', target = 'Example#Foo'}→ [[: 예#FOO b Foo] → fo FoomFormatLink._formatLink{link = 'The Lord of the Rings#Plot', italicizePage = true}→ [[: 반지의 제왕 #플롯 "반지의 제왕" »&nsp;플롯] → 반지의 제왕 » 플롯mFormatLink._formatLink{link = 'Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice', italicizeSection = true}→[[:2012년 사이버범죄방지법#2012년 법무부 장관[ "Disini v. Cybercrime Prevention Act of 2012] →2012년 사이버범죄방지법 dis [Disini v. 법무장관]mFormatLink._formatLink{link = 'Nonexistent page', categorizeMissing = 'Example'}→ [[: 존재하지 않는 페이지][[카테고리:예] → 존재하지 않는 페이지mFormatLink._formatLink{link = 'Existing', categorizeMissing = 'Example'}→ [[:기존] → 기존
포맷 페이지
mFormatLink.포맷 페이지(옵션들, 페이지) 이 파생 함수는 많은 링크 형식을 지정하는 목록에 유용합니다._formatLink 함수를 사용하여 페이지 배열을 포맷하고 결과를 배열로 반환합니다.의 옵션options테이블이 적용되어 옵션과 같은 이름을 사용합니다._formatLink.
- 예
mFormatLink.formatPages({categorizeMissing = 'Example'}, {'Foo#Bar', 'Nonexistent page'})→{'[[:Foo#Bar Foo § Bar]]', '[[:Nonexistent page]][[Category:Example]]'}
에러
한다면_formatLink사용되지 않고, 어느 쪽도link아무것도 아니다target인수를 지정하면 모듈은 유효한 출력을 생성할 수 없기 때문에 일반적인 출력 대신 오류 메시지를 생성합니다.
이 오류는 적절한 파라미터를 지정함으로써 해결할 수 있습니다._formatLink또는 다운스트림템플릿 또는 모듈에서 보다 알기 쉬운 오류가 발생하도록 할 수 있습니다._formatLink논거가 불충분해서
-------------------------------------------------------------------------------- -- 링크 포맷 -- -- 지정된 링크에서 Wikilink를 생성하여 값을 표시합니다.링크는 이스케이프됩니다. --필요에 따라 콜론을 사용하여 섹션 링크가 검출되어 표시됩니다. -- 표준 MediaWiki "#"이 아닌 구분자로 " " "를 사용합니다.사용처 -- {{format link}} 템플릿. -------------------------------------------------------------------------------- 현지의 라이브러리 Util = 요구하다('라이브러리 유틸') 현지의 체크 타입 = 라이브러리 Util.체크 타입 현지의 checkTypeForNamedArg = 라이브러리 Util.checkTypeForNamedArg 현지의 mArguments(인수) -- 느릿느릿 초기화 [[모듈:인수]] 현지의 mError(오류) -- 느릿느릿 초기화 [[모듈:에러]] 현지의 네, 아니요 -- 느릿느릿 초기화 [[모듈:네] 현지의 p = {} -------------------------------------------------------------------------------- -- 도우미 기능 -------------------------------------------------------------------------------- 현지의 기능. 취득하다(틀) -- 부모 프레임에서 인수를 가져옵니다.공백은 잘라내고 --공백이 삭제됩니다. mArguments(인수) = 요구하다('모듈:인수') 돌아가다 mArguments(인수).취득하다(틀, {parent Only(부모 전용) = 진실의}) 끝. 현지의 기능. removeInitialColon(s) -- 문자열에서 초기 콜론을 삭제합니다(있는 경우). 돌아가다 s:경기('^:?(.*)') 끝. 현지의 기능. 아마이탈라이즈(s, 이탈리아화해야 한다) -- s가 문자열이고 wameItalicize 파라미터가 true인 경우 이탤릭체로 표시합니다. 한다면 s 그리고. 이탈리아화해야 한다 그리고나서 돌아가다 '<i>' .. s .. '/i>' 또 다른 돌아가다 s 끝. 끝. 현지의 기능. 해석 링크(링크) -- 링크를 해석하고 링크의 컴포넌트와 함께 테이블을 반환합니다. -- 다음 컴포넌트가 있습니다. -- - link : 링크, 초기 콜론 제거(항상 존재) -- - 페이지: 페이지 이름(항상 있음) -- - 섹션: 페이지 이름(영일 수 있음) -- - 표시: 파이프 뒤에 수동으로 입력한 경우 표시 텍스트(영점일 수 있음) 링크 = removeInitialColon(링크) -- {{!}에 가짜 표시 값이 추가되었는지 확인합니다.}} 매직 --단어. 현지의 프리파이프, 표시 = 링크:경기('^(.-) (.*)