모듈:섹션 링크/샌드박스
Module:Section link/sandbox| 모듈용 모듈 샌드박스 페이지:섹션 링크(디프) |
| 이 Lua 모듈은 MediaWiki에서 사용된다.남용 필터 경고 notwallofshame. 그것에 대한 변경은 위키백과 사용자 인터페이스에 즉각적인 변화를 일으킬 수 있다. 큰 중단을 방지하려면 모듈의 /샌드박스 또는 /테스트케이스 하위 페이지 또는 사용자 고유의 모듈 샌드박스에서 변경 사항을 테스트해야 한다.테스트한 변경사항은 한 번의 편집으로 이 페이지에 추가될 수 있다.변경 사항을 적용하기 전에 토크 페이지에서 논의하십시오. |
| 이 모듈은 페이지 보호의 대상이 된다.그것은 매우 많은 페이지들이 사용하고 있거나 매우 자주 교체되는 매우 눈에 잘 띄는 모듈이다.공공 기물 파손이나 실수가 많은 페이지에 영향을 미치고 사소한 편집이라도 서버에 상당한 부하를 줄 수 있기 때문에 편집으로부터 보호된다. |
이 모듈은 기본 "#" 대신 "§" 기호로 잘 포맷된 섹션에 대한 링크를 만든다.
사용법
Wikitexthe wikitxt
Wikitext에서 이 모듈은 템플릿 {{section link}}을(를) 통해 사용해야 한다.설명서는 템플릿 페이지를 참조하십시오.
from Lua
먼저 모듈을 로드하십시오.
국부적 mSectionLink = 요구하다('모듈:섹션 링크') 그런 다음 _주요함수를 통해 섹션 링크를 만들 수 있다.
mSectionLink._주요(페이지를 매기다, 단면, 옵션들, 칭호를 붙이다) 매개 변수:
- page- 연결할 페이지 이름.기본값은 의 전체 페이지 이름title또는 현재 제목이 지정되지 않은 경우
- sections- 연결할 섹션 이름 배열 또는 하나의 섹션 이름에만 연결할 문자열.
- options- 옵션 표다음 필드를 수락하십시오.
- nopage- 링크에 기본 페이지 이름이 표시되지 않도록 하려면 이 값을 참으로 설정하십시오.
- title- 현재 제목 대신 사용할 기본 mw.mw.mb 오브젝트.테스트 목적으로 제작됨.
모든 파라미터는 선택 사항이다.
예
| 루아 코드 | 위키텍스트 코드 | 결과 |
|---|---|---|
mSectionLink('Paris') | {{section link Paris}} | 파리 § 노트 |
mSectionLink('Paris', 'Architecture') | {{section link Paris Architecture}} | 파리 § 건축 |
mSectionLink('Paris', {'Architecture', 'Culture'}) | {{section link Paris Architecture Culture}} | 파리 §§ 건축과 문화 |
mSectionLink('Paris', {'Architecture', 'Culture', 'Sport'}) | {{section link Paris Architecture Culture Sport}} | 파리 § 건축, 문화, 스포츠 |
mSectionLink('Paris', {'Architecture', 'Culture', 'Sport'}, {nopage = true}) | {{section link Paris Architecture Culture Sport nopage=yes}} | §§ 건축, 문화, 스포츠 |
참고 항목
- 사용된 문자는 U+00A7 § (HTML § · §)
-- 이 모듈은 {{섹션 링크}}을(를) 구현한다. 요구하다('모듈:글로벌 없음'); 국부적 체크타입 = 요구하다('libraryUtil').체크타입 국부적 p = {} 국부적 기능을 하다 makeSectionLink(페이지를 매기다, 단면, 전시하다) 전시하다 = 전시하다 또는 단면 페이지를 매기다 = 페이지를 매기다 또는 '' -- 미디어위키는 페이지에서는 이런 것을 허용하지 않기 때문에 섹션에서만 하면 된다. 만일 타자를 치다(단면) == '끈' , 그러면. 단면 = 끈.gsub(단면, "{", "{") 단면 = 끈.gsub(단면, "}", "}") 끝, 돌아오다 문자열.format('[%s#%s %s]', 페이지를 매기다, 단면, 전시하다) 끝, 국부적 기능을 하다 정상화하다제목(칭호를 붙이다) 칭호를 붙이다 = mw.우스트링.gsub(mw.우스트링.gsub(칭호를 붙이다, "'", ""), '"', '') 칭호를 붙이다 = mw.우스트링.gsub(칭호를 붙이다, "%b<", "") 돌아오다 mw.칭호를 붙이다.새로운(칭호를 붙이다).접두사의텍스트 끝, 국부적 기능을 하다 makeLHS(페이지를 매기다, 옵션들, 칭호를 붙이다, 중간의) 국부적 lhs = 중간의 만일 아닌 옵션들.노피지 , 그러면. 페이지를 매기다 = 페이지를 매기다 또는 칭호를 붙이다.접두사의텍스트 만일 옵션들.전시하다 그리고 옵션들.전시하다 ~= '' , 그러면. 만일 정상화하다제목(옵션들.전시하다) == 정상화하다제목(페이지를 매기다) , 그러면. lhs = 옵션들.전시하다 .. ' ' .. lhs 다른 착오(문자열.format( '%s 표시 제목이 '%s'이므로 무시됨 .. "페이지의 실제 제목과 같지 않음", 옵션들.전시하다 ), 0) 끝, 다른 lhs = 페이지를 매기다 .. ' ' .. lhs 끝, 끝, 돌아오다 lhs 끝, 기능을 하다 p._주요(페이지를 매기다, 단면, 옵션들, 칭호를 붙이다) -- 입력 유효성 확인. 체크타입('_main', 1, 페이지를 매기다, '끈', 진실의) 체크타입('_main', 3, 옵션들, '테이블', 진실의) 만일 단면 == 못을 박다 , 그러면. 단면 = {} 그렇지 않으면 타자를 치다(단면) == '끈' , 그러면. 단면 = {단면} 그렇지 않으면 타자를 치다(단면) ~= '테이블' , 그러면. 착오(문자열.format( " #2 ~ '_main' 인수의 유형 오류 " .. "(현, 테이블 또는 nil 예상, %s", 타자를 치다(단면) ), 2) 끝, 옵션들 = 옵션들 또는 {} 칭호를 붙이다 = 칭호를 붙이다 또는 mw.칭호를 붙이다.getCurrentTitle() -- 빈 페이지 이름을 우아하게 처리 만일 페이지를 매기다 그리고 아닌 페이지를 매기다:찾아내다('%S') , 그러면. 페이지를 매기다 = 못을 박다 옵션들.노피지 = 진실의 끝, -- 링크를 만드십시오. 만일 #단면 <= 1 , 그러면. 국부적 링크페이지 = 페이지를 매기다 또는 '' 국부적 단면 = 단면[1] 또는 'Notes' 국부적 전시하다 = makeLHS(페이지를 매기다, 옵션들, 칭호를 붙이다, '§ ') .. 단면 돌아오다 makeSectionLink(링크페이지, 단면, 전시하다) 다른 - 다중 섹션.먼저 표시할 링크 목록을 만드십시오. 국부적 되받아치다 = {} 을 위해 i, 단면 에 아이페어(단면) 하다 되받아치다[i] = makeSectionLink(페이지를 매기다, 단면) 끝, -- 링크 목록을 mw.text.listToText를 사용하여 문자열로 결합하십시오. -- mw.text.listToText에 기본 구분 기호를 사용하지만, 사용자 정의 -- 접속사.또한 특별한 케이스 접속사(case consider)가 있다. -- 두 개의 연결고리를 가지고 있다. 국부적 접속사 만일 #단면 == 2 , 그러면. 접속사 = '​ 그리고 ' 다른 접속사 = ', 그리고 ' 끝, 되받아치다 = mw.문자 메시지를 보내다.listToText(되받아치다, 못을 박다, 접속사) -- 소개 텍스트를 추가하십시오. 되받아치다 = makeLHS(페이지를 매기다, 옵션들, 칭호를 붙이다, '조선소 ') .. 되받아치다 돌아오다 되받아치다 끝, 끝, 기능을 하다 p.본래의(액자에 넣다) 국부적 예스노 = 요구하다('모듈:예스노') 국부적 아그 = 요구하다('모듈:주장').게타르크스(액자에 넣다, { 포장지 = '템플릿:섹션 링크', valueFunc = 기능을 하다 (핵심을, 가치를 매기다) 가치를 매기다 = 가치를 매기다:짝을 맞추다('^%s*(^%)%s*