위키백과:특수 명령문
![]() | 이 문서는 한국어 위키백과의 정보문입니다. 이 문서는 정책과 지침은 아니지만, 위키백과의 규범과 관습 측면에서 공동체의 확립된 관행을 설명하고 있습니다. 공동체의 총의나 검토를 어느 정도 반영하고 있습니다. |
위키백과에서는 특정한 기능을 가지고 있는 특수 명령문(또는 매직워드)을 제공하고 있습니다. 이 명령들은 문서 이름에 대한 정보를 보여주거나, 혹은 목차 사용에 관련된 설정을 변경하는 데에 사용됩니다.
개요[편집]
특수 명령문에는 총 세 종류가 있습니다.
- 문서 설정 스위치: behavior switch. 밑줄로 호출. 문서가 표시되는 방법을 설정함. 매개 변수 안 받음. 목차 강제, 목차 숨김, 분류 숨기기 등.
- 파서 함수: parser function. 중괄호로 호출. URL 처리, 이름공간 출력, 문자열 형식 처리 등을 수행. 매개 변수를 받음. (매개 변수를 받는 특수 변수도 기술적으로는 파서 함수)
- 특수 변수: variable. 중괄호로 호출. 시간, 서버, 문서, 통계 정보 등을 출력. 매개 변수 안 받는 것이 많으나 일부는 받음. 틀과 이름이 겹칠 경우 우선 순위는 특수 변수임.
틀:지역일
문서가 있을 때{{지역일}}
을 쓸 경우 틀이 호출되지 않고 특수 변수가 호출됨. 틀을 부르려면{{틀:지역일}}
을 씀. 단, 일부 상황에서는 틀이 우선됨.{{지역일|aa|bb}}
처럼 파이프문자로 첫째 매개 변수를 지정하면틀:지역일
이 호출됨.
문서 설정[편집]
목차[편집]
입력 | 설명 |
---|---|
__목차숨김__, __NOTOC__ | 목차를 숨깁니다. |
__목차보임__, __FORCETOC__ | 목차를 보이게 합니다. |
__목차__, __TOC__ | 원하는 위치에 목차를 두게 합니다. |
그 외[편집]
입력 | 설명 | 지원 버전 |
---|---|---|
__INDEX__ | 검색엔진이 이 문서를 수집하는 것을 허가합니다. | MW1.14+ |
__색인안함__, __NOINDEX__ | 검색엔진이 이 문서를 수집하는 것을 거부합니다. | MW1.14+ |
__단락편집숨김__, __NOEDITSECTION__ | 각 단락별 오른쪽에 위치한 "[편집]" 버튼을 숨깁니다. (몇몇 브라우저는 큰 용량의 문서를 편집할 때 문제가 발생할 수 있으니, 특별한 문서를 제외하고는 이 기본 틀을 사용하지 않는 것을 권장합니다.) | |
__새글쓰기__, __NEWSECTIONLINK__ | 새 글 쓰기 상위 메뉴(새 주제)를 만듭니다. | MW1.7+ |
__새글쓰기숨기기__, __NONEWSECTIONLINK__ | 새 글 쓰기 상위 메뉴(새 주제)를 숨깁니다. | MW1.15+ |
__화랑숨김__, __갤러리숨김__, __NOGALLERY__ | 분류에 그림이 포함될 경우 갤러리 형태로 '그림 미리보기'가 되는 것을 막습니다. | MW1.7+ |
__숨김분류__, __HIDDENCAT__ | 분류를 숨은 분류로 만들어 주며, ‘숨은 분류’된 분류를 분류하게 되면, 항목 아래에 나타나지 않고 문서 편집 모드에서 분류가 나타납니다. (예 분류:문장에 출처가 필요한 글, 2007년 서해안 원유 유출 사고) | MW1.13+ |
{{기본정렬:정렬 키}}{{DEFAULTSORT:정렬 키}} | 문서가 속한 모든 분류에서 정렬되는 기본 값을 설정합니다. |
특수 변수[편집]
협정 세계시[편집]
협정 세계시의 시간 표기
입력 | 표시 | 설명 | 지원 버전 |
---|---|---|---|
{{현재일}} | 20
|
현재의 날짜를 표시합니다. | |
{{현재일2}} | 20
|
위와 같지만, 한자리수일 경우는 앞에 0이 붙습니다. | MW1.6+ |
{{현재요일}} | 금요일
|
요일을 해당 언어로 표시합니다. | |
{{현재요일숫자}} | 5
|
요일을 숫자로 표시합니다. 일요일이 0, 토요일이 6입니다. | |
{{현재월}} | 05
|
달을 숫자로 표시합니다. 단, 한자리수일 경우는 앞에 0을 붙입니다. | |
{{현재월1}} | 5
|
달을 숫자로 표시합니다. 한자리수일 경우 0을 붙이지 않습니다. | |
{{현재월이름}} | 5월
|
달을 이름으로 표시합니다. 한국어의 경우에는 특별한 이름이 없기 때문에 숫자 뒤에 '월'자를 붙인 꼴입니다. | |
{{현재월이름약자}} | 5
|
달 이름을 3자 약어로 표시합니다. 한국어의 경우에는 역시 위와 동일합니다. | MW1.5+ |
{{현재시분}} | 05:50
|
현재 시각(시:분) (00:00 ~ 23:59) | |
{{현재시}} | 05
|
현재 시각(시) (00 ~ 23) | |
{{현재주}} | 20
|
현재의 주. ISO 8601에 의한 숫자(1 ~ 53). (한자리수일 경우 앞에 0을 붙지 않습니다.) | |
{{현재년}} | 2022
|
현재의 서기년도. | |
{{현재타임스탬프}} | 20220520055020
|
ISO 8601에 의한 타임스탬프 | MW1.7+ |
현지 시각[편집]
- 언어별 위키백과 서버에 설정된 표준시에 따른 시각입니다. 한국어판 위키백과 서버의 현지 시간대는 한국표준시로 설정되어 있습니다. 그러므로 사용자의 현지 시각과 다를 수 있습니다.
입력 | 표시 | 설명 | 지원버전 |
---|---|---|---|
{{지역일}} | 20
|
현재의 날짜를 표시합니다. | MW1.8+ |
{{지역일2}} | 20
|
{{지역일}}과 같지만, 두자리로 표시합니다. 즉, 한자리 수일 경우는 앞에 0이 붙습니다. | MW1.8+ |
{{지역요일}} | 금요일
|
요일을 해당 언어로 표시합니다. | MW1.8+ |
{{지역요일숫자}} | 5
|
요일을 숫자로 표시합니다. 일요일이 0, 토요일이 6입니다. | MW1.8+ |
{{지역월}} | 05
|
달을 숫자로 표시합니다. 단, 한자리수일 경우에는 앞에 0이 붙습니다. | MW1.8+ |
{{지역월1}} | 5
|
달을 숫자로 표시합니다. 한자리수일 경우 0을 붙이지 않습니다. | |
{{지역월이름}} | 5월
|
달을 이름으로 표시합니다. 한국어의 경우에는 특별한 이름이 없기 때문에 숫자 뒤에 '월'자를 붙인 꼴이 출력됩니다. | MW1.8+ |
{{지역월이름약자}} | 5
|
달 이름을 3글자 약어로 표시한다. 한국어의 경우에는 역시 위와 동일합니다. | MW1.8+ |
{{지역시분}} | 14:50
|
현재의 현지시각(시:분) (00:00 ~ 23:59) | MW1.8+ |
{{지역시}} | 14
|
현재의 현지시각(시) (00 ~ 23) | MW1.8+ |
{{지역주}} | 20
|
현재의 주. ISO 8601에 의한 숫자(1 ~ 53). (한자리수일 경우 앞에 0이 붙지 않습니다.) | MW1.8+ |
{{지역년}} | 2022
|
현재의 서기년도. | MW1.8+ |
{{지역타임스탬프}} | 20220520145020
|
ISO 8601에 의한 타임스탬프. | MW1.8+ |
통계[편집]
- 페이지가 캐시되고 있는 경우에는 최신 자료가 아닐 수도 있습니다.
입력 | 표시 | 설명 | 지원 버전 |
---|---|---|---|
{{현재버전}} | 1.39.0-wmf.12 (036b6a4)
|
미디어위키의 버전 | MW1.7+ |
{{문서수}} {{문서수:R}} |
589,289 589289
|
일반 문서의 총 개수 | |
{{모든문서수}} {{모든문서수:R}} |
2,692,622 2692622
|
모든 문서의 총 개수 | |
{{파일수}}, {{그림수}} {{파일수:R}}, {{그림수:R}} |
12,549 12549
|
업로드된 파일 총 개수 | |
{{사용자수}}, {{계정수}} {{사용자수:R}}, {{계정수:R}} |
736,548 736548
|
등록된 사용자 총 수(데이터베이스에서 사용자 테이블의 행 수) | |
{{관리자수}} {{관리자수:R}} |
28 28
|
관리자의 수 | |
{{이름공간문서수}} | 사용불가 | 페이지 공간 내의 페이지 수 | |
{{이름공간문서수:ns}} {{이름공간문서수:ns:R}} |
{{이름공간문서수:2}} 사용불가 |
주어진 페이지 공간 내의 페이지 수. 기본설정(default)에서는 사용할 수 없고, $wgAllowSlowParserFunctions 옵션을 바꾸어야 가능합니다. | MW1.7+ |
파서 함수[편집]
#expr[편집]
#expr은 간단한 계산을 할 수 있는 기능으로, 다음과 같이 사용합니다.
{{ #expr: 계산식
}}
연산자 | 기능 | 예제 |
---|---|---|
- | {{#expr: 123456789012345}} = 1.2345678901234E+14 | |
{{#expr: 0.000001}} = 1.0E-6 | ||
( ) | 괄호 | {{#expr: (30 + 7) * 7 }} = 259 |
+ | 양수 부호 | {{#expr: + 30 * +7 }} = 210
|
- | 음수 부호 | {{#expr: - 30 * - 7}} = 210
|
not | 부정문 | {{#expr: not 0 * 7}} = 7 {{#expr: not 30+7}} = 7 |
* | 곱셈 | {{#expr: 30 * 7}} = 210 |
/ | 나눗셈 | {{#expr: 30 / 7}} = 4.2857142857143 |
div | 나눗셈. /과 같음 | {{#expr: 30 div 7}} = 4.2857142857143 {{#expr: 5 div 2 * 2 + 5 mod 2}} = 6 |
mod | 정수 나눗셈을 한 나머지를 구합니다.
주의: 다른 프로그래밍 언어와 작동 방식이 다릅니다. |
{{#expr: 30 mod 7}} = 2 {{#expr: - 8 mod - 3}} = -2{{#expr: - 8 mod + 3}} = -2{{#expr: 8 mod 2.7}} = 0 {{#expr: 8 mod 3.2}} = 2 {{#expr: 8.9 mod 3}} = 2 |
+
|
덧셈 | {{#expr: 30 + 7}} = 37
|
-
|
뺄셈 | {{#expr: 30 - 7}} = 23
|
round | 반올림 계산을 합니다. | {{#expr: 30 / 7 round 3}} = 4.286 {{#expr: 30 / 7 round 0}} = 4 {{#expr: 3456 round -2}} = 3500 |
= | 등호 | {{#expr: 30 = 7}} = 0 |
<> | 부등호. 다를 경우에 true=1, 같을 경우에 false=0이 나옵니다. | {{#expr: 30 <> 7}} = 1 |
!= | 부등호. <>와 같습니다. | {{#expr: 1 != 0}} = 1 |
< | 작다 | {{#expr: 30 < 7}} = 0 |
> | 크다 | {{#expr: 30 > 7}} = 1 |
<= | 작거나 같다 | {{#expr: 30 <= 7}} = 0 |
>= | 크거나 같다 | {{#expr: 30 >= 7}} = 1 |
and | Logical AND | {{#expr: 4<5 and 4 mod 2}} = 0 |
or | Logical OR | {{#expr: 4<5 or 4 mod 2}} = 1 |
입력할 때에 0이 false, 나머지의 값이 true로 처리됩니다. 계산 결과로는 false가 0, true가 1로 나옵니다.
#if[편집]
#if는 if-then-else 조건문입니다. 다음과 같이 사용합니다.
{{ #if:<조건 문자열> | <조건이 참이면 나올 문장> | <조건이 거짓이면 나올 문장>
}} {{ #if:<조건 문자열> | <조건이 참이면 나올 문장>
}}
이때 조건의 판단은 "조건 문자열"이 비어 있느냐 비어 있지 않느냐입니다. 다시 말해, 조건 문자열이 비어 있지 않을 때 참, 비어 있을 때 거짓을 반환합니다. 그러므로 조건 문자열이 공백 문자들로만 구성되어 있으면 거짓으로 판단하고, 결과로 "조건이 거짓이면 나올 문장"이 반환됩니다.
거짓일 때 나올 문장은 생략할 수 있습니다. 이런 경우에는, 조건이 거짓이면 빈 문장이 반환됩니다.
주의해야 할 점은, 이것은 기존의 {{{parameter|}}} 동작과 다릅니다. 다음의 두 작동을 비교해 보세요.
{{{parameter|없음}}} | {{#if: {{{parameter|}}} | {{{parameter}}} | 없음}} | |
---|---|---|
{{틀|parameter=a}} | a | a |
{{틀}} | 없음 | 없음 |
{{틀|parameter=}} | 없음 |
또한, 조건이 참/거짓일 때 나오는 문장에는 자동으로 앞뒤로 빈 문자열이 삭제됩니다.
#ifeq[편집]
{{#ifeq: 문자열 1 | 문자열 2 | 같을 경우 | 다를 경우}}
- {{#ifeq: aa | aa | same | different}} -> same
문자열 부분에 숫자가 들어오면 숫자 값으로 검사합니다.
- {{ #ifeq: +07 | 007 | 1 | 0 }} -> 1
- {{ #ifeq: "+07" | "007" | 1 | 0 }} -> 0
매개변수가 정의되었는지를 #if로는 검사할 수 없습니다. 이를 검사하려면 #ifeq문을 사용해야 합니다.
- {{ #if: {{{x| }}}|not blank|blank}} = blank
- {{ #ifeq: {{{x| }}}| |blank|not blank}} = blank
- {{ #ifeq: {{{x| }}}|{{{x|u}}}|defined|undefined}} = undefined
#ifexist[편집]
{{#ifexist: 문서 이름 | 문서가 있을 경우 | 문서가 없을 경우}}
만약 문서 이름에 인터위키를 넣으면 결과는 항상 문서가 없는 경우로 나옵니다.
#ifexpr[편집]
{{#ifexpr: 계산식 | true일 경우 | false일 경우}}
계산식이 빈 문자열일 때도 false가 나옵니다.
- {{#ifexpr: {{ns:0}}|Toast|'''or else'''}} = or else
true, false 두 문장을 쓰지 않으면 아무것도 출력되지 않습니다. 단, 오류가 있을 경우에는 오류 메시지가 출력됩니다. 이를 이용해서 수식에 오류가 있는지 없는지 확인하는 것도 가능합니다.
- {{#ifexpr: 1/0}} -> 0으로 나눴습니다.
- {{#if: {{#ifexpr: 1/0}} | 오류 있음 | 오류 없음}} -> 오류 있음
#switch[편집]
다른 프로그래밍 언어의 switch문과 비슷한 구조를 가지고 있습니다.
{{#switch: 비교할 값 | <value1> = <result1> | <value2> = <result2> | ... | <valuen> = <resultn> | <default result> }}
마지막 default값은 모든 비교가 실패했을 때의 값으로, 항상 있어야 합니다. 만약 default 값에 등호가 들어간다면, #default = <값>를 사용할 수 있습니다.
#time, #timel[편집]
{{ #time:형식
}} {{ #time:형식 | 시간
}}
현재 년월일과 시간을 출력합니다. #timel의 경우 한국어 위키백과에서 기본적으로 설정된 시간대의 값을 보여줍니다.
코드 | 설명 | 예시 | 현재 |
---|---|---|---|
Y | 네 자리 연도 | 예: 2006 | 2022 |
y | 두 자리 연도 | 00~99, 예: 06=2006. |
22 |
L | 윤년일 경우 | 1이면 윤년, 0이면 평년 | 0 |
n | 현재 달(앞에 0이 붙지 않음) | 1~12 | 5 |
m | 현재 달(앞에 0이 붙음) | 01~12 | 05 |
M | 줄인 달 이름 | 1~12 | 5 |
F | 달 이름 | 1월~12월 | 5월 |
t | 각 달에 있는 날짜 수 | 28~31 | 31 |
j | 현재 날(앞에 0이 붙지 않음) | 1~31 | 20 |
d | 현재 날(앞에 0이 붙음) | 01~31 | 20 |
z | 그 해의 1월 1일부터 지난 일수(0부터 시작함) | 0~364, 윤년일 경우 365까지 | 139 |
D | 줄인 요일 이름 | 월~일 | 금 |
l | 요일 이름 | 월요일~일요일 | 금요일 |
w | 요일 숫자(미국식) | 0(일요일)~6(토요일) | 5 |
N | 요일 숫자(ISO 8601 방식). | 1(월요일)~7(일요일) | 5 |
W | ISO 8601 주 숫자(ISO 연도는 월요일부터 일요일까지 완전히 있어야 한 주로 치고, 첫 번째 주는 늘 1월 4일이나 역년 목요일을 포함한다.). | 1 to 52 or 53 (depends on year) | 20 |
o | ISO 8601 주 에 따른 연도 | 현재연도와 대체로 일치 | 2022 |
a | am(같은 날 01:00:00부터 12:59:59까지)이나 pm을 소문자로 나타낸다(시간 단위를 12시간제로 표시할 때 쓴다.). | am이나 pm | am |
A | 위 a 와 같지만, 대문자로 나타낸다.
|
AM이나 PM | AM |
g | 시간을 12시간 단위로 표기하되, 앞에 0을 붙이지 않음(1, 2자리이고 am/pm 또는 AM/PM과 같이 쓴다.). | 1~12 | 5 |
h | 시간을 12시간 단위로 표기하되, 앞에 0을 붙임(2자리이고 am/pm 또는 AM/PM과 같이 쓴다.). | 01~12 | 05 |
G | 시간을 24시간 단위로 표기하되, 앞에 0을 붙이지 않음(1자리 또는 2자리). | 0~23 | 5 |
H | 시간을 24시간 단위로 표기하되, 앞에 0을 붙임(2자리). | 00~23 | 05 |
i | 분(2자리). | 00~59 | 50 |
s | 초(2자리). | 00~59 | 20 |
U | 1970년 1월 1일 00:00:00 UTC부터 흐른 초 수. | 0~2147483647 | 1653025820 |
c | ISO 8601 형식을 따른 날짜로, {{#time:Y-m-dTH:m:s{{#time:+H:m|+0 hours}}}}와 같다. | fixed length string | 2022-05-20T05:50:20+00:00 |
r | RFC 2822 형식을 따른 날짜로, {{#time:D, j M Y H:m:s {{#time:+H:m|+0 hours}}}}와 같다. | variable length string | Fri, 20 May 2022 05:50:20 +0000 |
#rel2abs[편집]
상대 주소를 절대 주소로 바꿔줍니다.
- “도움말:가나/다라”에서 {{ #rel2abs:
../마바
}}를 호출한 경우, 결과는 도움말:가나/마바가 됩니다. - “도움말:가나”에서 {{ #rel2abs:
../마바
}}를 호출한 경우, 결과는 마바가 됩니다. - “도움말:가나”에서 {{ #rel2abs:
../../마바
}}를 호출한 경우, 아래와 같은 오류 메시지가 출력됩니다.- 오류: 경로 구조가 잘못되었습니다: "도움말:가나/../../마바" (루트 노드 위의 노드에 접속을 시도했습니다)
- {{ #rel2abs:
../마바 | 도움말:가나/다라
}}를 호출한 경우, 결과는 도움말:가나/마바가 됩니다. - {{ #rel2abs:
도움말:가나/다라/../마바
}}를 호출한 경우, 결과는 도움말:가나/마바가 됩니다.
#language[편집]
해당 언어 코드에 맞는 언어명을 출력합니다.
- {{ #language:
ko
}} → 한국어 - {{ #language:
vi
}} → Tiếng Việt - {{ #language:
zh-min-nan
}} → Bân-lâm-gú
#invoke[편집]
위키백과:모듈을 불러 들여와 실행합니다.
- {{ #invoke: Bananas|hello }} → 모듈:Bananas의
hello
함수를 호출한 결과를 출력합니다.
조사 관련[편집]
한국어의 조사 확장 기능이 존재합니다. 루아 기반의 모듈:hangul을 대체할 수 있으나, 로마자 등은 지원되지 않습니다. 자세한 사항은 여기를 참고하세요.
- {{ #은는: 사과 }} → 사과는
- {{ #은는: 사과|조사만 }} → 는
- {{ #을를: 연필 }} → 연필을
- {{ #이가: 친구 }} → 친구가
- {{ #과와: 인터넷 }} → 인터넷과
- {{ #아야: 영희 }} → 영희야
- {{ #이: 태준 }}가 → 태준이가
- {{ #으로: 위키백과 }} → 위키백과로