도움말:특수 명령문
이 문서는 L위키의 정보문입니다. 이 문서는 정책과 지침은 아니지만, L위키의 규범과 관습 측면에서 공동체의 확립된 관행이나 기술적인 정보 등을 설명하고 있습니다. |
L위키가 사용하고 있는 위키 소프트웨어인 미디어위키는 특정한 기능을 가지고 있는 특수 명령문(또는 매직워드)을 제공하고 있습니다. 이 명령들은 문서 이름에 대한 정보를 보여주거나, 혹은 목차 사용에 관련된 설정을 변경하는 데에 사용됩니다.
특수 명령문의 종류[편집 | 원본 편집]
특수 명령문에는 총 세 종류가 있습니다.
- 작동 스위치(behavior switch): 밑줄로 호출하며, 목차 강제, 목차 숨김, 분류 숨기기 등의 문서가 표시되는 방법을 설정합니다. 매개 변수는 받지 않습니다. 두 개의 밑줄표로 둘러싸이고 대문자로 된 문자열을 가지는 경우가 보통입니다. 예시:
__FOO__
- 변수(variable): 두 개의 중괄호로 둘러싸이고 대문자로 된 문자열을 가지며, 시간, 서버, 문서, 통계 정보 등을 출력합니다. 틀과 이름이 겹칠 경우 우선 순위는 특수 변수입니다.
틀:지역일
문서가 있을 때{{지역일}}
을 쓸 경우 틀이 호출되지 않고 특수 변수가 호출되며, 틀을 부르려면{{틀:지역일}}
을 써야 합니다. 단, 일부 상황에서는 틀이 우선됩니다. 예시:{{FOO}}
. 보시다시피, 틀을 사용하는 것과 매우 닮았습니다. - 파서 함수(parser function): 중괄호로 호출하며, URL 처리, 이름공간 출력, 문자열 형식 처리 등을 수행합니다. 매개 변수를 받는지 여부는 파서 함수마다 다릅니다. 매개 변수를 받는 특수 변수 또한 기술적으로는 파서 함수입니다.
{{foo:...}}
나{{#foo:...}}
의 형태를 가집니다. 예시:{{#invoke:...}}
.
문서 설정 스위치[편집 | 원본 편집]
목차[편집 | 원본 편집]
입력 | 설명 |
---|---|
__목차숨김__, __NOTOC__ | 목차를 숨깁니다. |
__목차보임__, __FORCETOC__ | 목차를 보이게 합니다. |
__목차__, __TOC__ | 원하는 위치에 목차를 두게 합니다. |
그 외[편집 | 원본 편집]
입력 | 설명 | 지원 버전 |
---|---|---|
__INDEX__ | 검색엔진이 이 문서를 수집하는 것을 허가합니다. | MW1.14+ |
__색인안함__, __NOINDEX__ | 검색엔진이 이 문서를 수집하는 것을 거부합니다. | MW1.14+ |
__단락편집숨김__, __NOEDITSECTION__ | 각 단락별 오른쪽에 위치한 "[편집]" 버튼을 숨깁니다. (몇몇 브라우저는 큰 용량의 문서를 편집할 때 문제가 발생할 수 있으니, 특별한 문서를 제외하고는 이 기본 틀을 사용하지 않는 것을 권장합니다.) | |
__새글쓰기__, __NEWSECTIONLINK__ | 새 글 쓰기 상위 메뉴(새 주제)를 만듭니다. | MW1.7+ |
__새글쓰기숨기기__, __NONEWSECTIONLINK__ | 새 글 쓰기 상위 메뉴(새 주제)를 숨깁니다. | MW1.15+ |
__화랑숨김__, __갤러리숨김__, __NOGALLERY__ | 분류에 그림이 포함될 경우 갤러리 형태로 '그림 미리보기'가 되는 것을 막습니다. | MW1.7+ |
__숨김분류__, __HIDDENCAT__ | 분류를 숨은 분류로 만들어 주며, ‘숨은 분류’된 분류를 분류하게 되면, 항목 아래에 나타나지 않고 문서 편집 모드에서 분류가 나타납니다. (예 분류:문장에 출처가 필요한 글, 2007년 서해안 원유 유출 사고) | MW1.13+ |
특수 변수[편집 | 원본 편집]
협정 세계시[편집 | 원본 편집]
협정 세계시의 시간 표기
입력 | 표시 | 설명 | 지원 버전 |
---|---|---|---|
{{현재일}} | 15
|
현재의 날짜를 표시합니다. | |
{{현재일2}} | 15
|
위와 같지만, 한자리수일 경우는 앞에 0이 붙습니다. | MW1.6+ |
{{현재요일}} | 금요일
|
요일을 해당 언어로 표시합니다. | |
{{현재요일숫자}} | 5
|
요일을 숫자로 표시합니다. 일요일이 0, 토요일이 6입니다. | |
{{현재월}} | 11
|
달을 숫자로 표시합니다. 단, 한자리수일 경우는 앞에 0을 붙입니다. | |
{{현재월1}} | 11
|
달을 숫자로 표시합니다. 한자리수일 경우 0을 붙이지 않습니다. | |
{{현재월이름}} | 11월
|
달을 이름으로 표시합니다. 한국어의 경우에는 특별한 이름이 없기 때문에 숫자 뒤에 '월'자를 붙인 꼴입니다. | |
{{현재월이름약자}} | 11
|
달 이름을 3자 약어로 표시합니다. 한국어의 경우에는 역시 위와 동일합니다. | MW1.5+ |
{{현재시분}} | 05:01
|
현재 시각(시:분) (00:00 ~ 23:59) | |
{{현재시}} | 05
|
현재 시각(시) (00 ~ 23) | |
{{현재주}} | 46
|
현재의 주. ISO 8601에 의한 숫자(1 ~ 53). (한자리수일 경우 앞에 0을 붙지 않습니다.) | |
{{현재년}} | 2024
|
현재의 서기년도. | |
{{현재타임스탬프}} | 20241115050158
|
ISO 8601에 의한 타임스탬프 | MW1.7+ |
현지 시각[편집 | 원본 편집]
- 사이트에서 설정된 표준시에 따른 시각입니다. L위키에서는 한국표준시로 시간대가 설정되어 있습니다. 그러므로 사용자의 현지 시각과 다를 수 있습니다.
입력 | 표시 | 설명 | 지원버전 |
---|---|---|---|
{{지역일}} | 15
|
현재의 날짜를 표시합니다. | MW1.8+ |
{{지역일2}} | 15
|
{{지역일}}과 같지만, 두자리로 표시합니다. 즉, 한자리 수일 경우는 앞에 0이 붙습니다. | MW1.8+ |
{{지역요일}} | 금요일
|
요일을 해당 언어로 표시합니다. | MW1.8+ |
{{지역요일숫자}} | 5
|
요일을 숫자로 표시합니다. 일요일이 0, 토요일이 6입니다. | MW1.8+ |
{{지역월}} | 11
|
달을 숫자로 표시합니다. 단, 한자리수일 경우에는 앞에 0이 붙습니다. | MW1.8+ |
{{지역월1}} | 11
|
달을 숫자로 표시합니다. 한자리수일 경우 0을 붙이지 않습니다. | |
{{지역월이름}} | 11월
|
달을 이름으로 표시합니다. 한국어의 경우에는 특별한 이름이 없기 때문에 숫자 뒤에 '월'자를 붙인 꼴이 출력됩니다. | MW1.8+ |
{{지역월이름약자}} | 11
|
달 이름을 3글자 약어로 표시한다. 한국어의 경우에는 역시 위와 동일합니다. | MW1.8+ |
{{지역시분}} | 14:01
|
현재의 현지시각(시:분) (00:00 ~ 23:59) | MW1.8+ |
{{지역시}} | 14
|
현재의 현지시각(시) (00 ~ 23) | MW1.8+ |
{{지역주}} | 46
|
현재의 주. ISO 8601에 의한 숫자(1 ~ 53). (한자리수일 경우 앞에 0이 붙지 않습니다.) | MW1.8+ |
{{지역년}} | 2024
|
현재의 서기년도. | MW1.8+ |
{{지역타임스탬프}} | 20241115140158
|
ISO 8601에 의한 타임스탬프. | MW1.8+ |
통계[편집 | 원본 편집]
- 페이지가 캐시되고 있는 경우에는 최신 자료가 아닐 수도 있습니다.
입력 | 표시 | 설명 | 지원 버전 |
---|---|---|---|
{{현재버전}} | 1.39.8 (fbca402)
|
미디어위키의 버전 | MW1.7+ |
{{문서수}} {{문서수:R}} |
536 536
|
일반 문서의 총 개수 | |
{{모든문서수}} {{모든문서수:R}} |
5,144 5144
|
모든 문서의 총 개수 | |
{{파일수}}, {{그림수}} {{파일수:R}}, {{그림수:R}} |
400 400
|
업로드된 파일 총 개수 | |
{{사용자수}}, {{계정수}} {{사용자수:R}}, {{계정수:R}} |
100 100
|
등록된 사용자 총 수(데이터베이스에서 사용자 테이블의 행 수) | |
{{관리자수}} {{관리자수:R}} |
3 3
|
관리자의 수 | |
{{이름공간문서수}} | 사용불가 | 페이지 공간 내의 페이지 수 | |
{{이름공간문서수: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의 경우 L위키에서 기본적으로 설정된 시간대(KST)의 값을 보여줍니다.
코드 | 설명 | 예시 | 현재 |
---|---|---|---|
Y | 네 자리 연도 | 예: 2006 | 2024 |
y | 두 자리 연도 | 00~99, 예: 06=2006. |
24 |
L | 윤년일 경우 | 1이면 윤년, 0이면 평년 | 1 |
n | 현재 달(앞에 0이 붙지 않음) | 1~12 | 11 |
m | 현재 달(앞에 0이 붙음) | 01~12 | 11 |
M | 줄인 달 이름 | 1~12 | 11 |
F | 달 이름 | 1월~12월 | 11월 |
t | 각 달에 있는 날짜 수 | 28~31 | 30 |
j | 현재 날(앞에 0이 붙지 않음) | 1~31 | 15 |
d | 현재 날(앞에 0이 붙음) | 01~31 | 15 |
z | 그 해의 1월 1일부터 지난 일수(0부터 시작함) | 0~364, 윤년일 경우 365까지 | 319 |
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) | 46 |
o | ISO 8601 주 에 따른 연도 | 현재연도와 대체로 일치 | 2024 |
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 | 01 |
s | 초(2자리). | 00~59 | 58 |
U | 1970년 1월 1일 00:00:00 UTC부터 흐른 초 수. | 0~2147483647 | 1731646918 |
c | ISO 8601 형식을 따른 날짜로, {{#time:Y-m-dTH:m:s{{#time:+H:m|+0 hours}}}}와 같다. | fixed length string | 2024-11-15T05:01:58+00:00 |
r | RFC 2822 형식을 따른 날짜로, {{#time:D, j M Y H:m:s {{#time:+H:m|+0 hours}}}}와 같다. | variable length string | Fri, 15 Nov 2024 05:01:58 +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[편집 | 원본 편집]
L위키:모듈을 불러 들여와 실행합니다.
- {{ #invoke: Bananas|hello }} → 모듈:Bananas의
hello
함수를 호출한 결과를 출력합니다.
조사 관련[편집 | 원본 편집]
한국어의 조사 확장 기능이 존재합니다. 해당 확장기능은 로마자 등은 지원되지 않습니다. 자세한 사항은 여기를 참고하세요.
- {{ #은는: 사과 }} → 사과는
- {{ #은는: 사과|조사만 }} → 는
- {{ #을를: 연필 }} → 연필을
- {{ #이가: 친구 }} → 친구가
- {{ #과와: 인터넷 }} → 인터넷과
- {{ #아야: 영희 }} → 영희야
- {{ #이: 태준 }}가 → 태준이가
- {{ #으로: 위키백과 }} → 위키백과로