2023 문법 개선 프로젝트

개요[편집 / 원본 편집]

2023년 위키 개선 프로젝트의 일환으로서 기존의 부족한 위키 문법을 개선했습니다. 각 문법 별 사용 방법과 표시 결과를 출력합니다.

수학[편집 / 원본 편집]

평균[편집 / 원본 편집]

<average>161, 257, 168, 95, 315, 12, 215, 232, 211, 23</average> 168.9
입력값 출력값

<average></average> 태그 안에 있는 숫자들의 평균을 출력합니다. 만약 아무 값도 입력하지 않으면 0을 출력합니다.

중앙값[편집 / 원본 편집]

<median>161, 257, 168, 95, 315, 12, 215, 232, 211, 23</median> 189.5
입력값 출력값

<median></median> 태그 안에 있는 숫자들의 중앙값을 출력합니다. 만약 아무 값도 입력하지 않으면 0을 출력합니다.

최빈값[편집 / 원본 편집]

<mode>161, 257, 168, 95, 315, 12, 215, 232, 211, 23, 23, 12, 95, 12, 23</mode> 12, 23
입력값 출력값

<mode></mode> 태그 안에 있는 숫자들의 최빈값울 출력합니다. 만약 아무 값도 입력하지 않으면 아무것도 출력되지 않으며, 최빈값이 존재하지 않는 경우[1]에는 모든 숫자들이 출력[2]이 됩니다.

올림, 반올림, 버림[편집 / 원본 편집]

<ceil>161.3</ceil>
<round>53.5</round>
<floor>23.9</floor>
162
54
23
입력값 출력값

소수점 아래의 숫자를 보고 올림/반올림/버림을 합니다. 만약 아무 값도 입력하지 않으면 아무것도 출력되지 않으며, ","로 값을 여러개 입력하더라도 계산되어 출력되는 것은 맨 처음 입력된 값입니다.

원주율[편집 / 원본 편집]

<pi></pi> 3.1415926535898
입력값 출력값

원주율([math]\displaystyle{ \pi }[/math])을 출력합니다. PHP로 원주율을 계산한 값을 출력하며, 태그 안에 숫자를 입력하여 자리수를 조절할 수 있습니다. 최대 14자리까지 표시 가능하며, 만약 5자리까지 표시를 원한다면 3.14159 이렇게 입력하면 3.14159 이렇게 출력이 됩니다. 자리수 미지정 시 14자리 까지 출력합니다.

로그 2[편집 / 원본 편집]

<log2></log2> 0.69314718055995
입력값 출력값

로그 2([math]\displaystyle{ log2 }[/math])를 출력합니다. PHP로 원주율을 계산한 값을 출력하며, 태그 안에 숫자를 입력하여 자리수를 조절할 수 있습니다. 최대 14자리까지 표시 가능하며, 만약 5자리까지 표시를 원한다면 0.69315 이렇게 입력하면 0.69315 이렇게 출력이 됩니다. 자리수 미지정 시 14자리 까지 출력합니다.

루트 2[편집 / 원본 편집]

<sqrt2></sqrt2> 1.4142135623731
입력값 출력값

루트 2([math]\displaystyle{ \sqrt{2} }[/math])를 출력합니다. PHP로 원주율을 계산한 값을 출력하며, 태그 안에 숫자를 입력하여 자리수를 조절할 수 있습니다. 최대 14자리까지 표시 가능하며, 만약 5자리까지 표시를 원한다면 1.41421 이렇게 입력하면 1.41421 이렇게 출력이 됩니다. 자리수 미지정 시 14자리 까지 출력합니다.

자연로그 밑 e[편집 / 원본 편집]

<euler></euler> 2.718281828459
입력값 출력값

루트 2([math]\displaystyle{ {e} }[/math])를 출력합니다. PHP로 원주율을 계산한 값을 출력하며, 태그 안에 숫자를 입력하여 자리수를 조절할 수 있습니다. 최대 14자리까지 표시 가능하며, 만약 5자리까지 표시를 원한다면 2.71828 이렇게 입력하면 2.71828 이렇게 출력이 됩니다. 자리수 미지정 시 14자리 까지 출력합니다.

수식 계산[편집 / 원본 편집]

<mathcalc>2+3*sqrt(4)</mathcalc> 2+3*sqrt(4)
입력값 출력값

자바스크립트 Math.js 라이브러리로 계산한 값을 출력합니다. 서버에서 계산하지 않으므로 계산값이 출력되는데 약간의 시간이 걸리며, 자바스크립트를 사용하지 않는 매우매우 드문 유저는 사용할 수 없습니다.

날짜[편집 / 원본 편집]

현재 날짜 및 시간 출력[편집 / 원본 편집]

<date></date> 2023-11-30
입력값 출력값

현재 날짜를 출력합니다. 현재 날짜는 문서를 볼때마다 최신화 됩니다.

<datetime></datetime> 2023-11-30 03:54:20
입력값 출력값

현재 날짜와 시간값을 출력합니다. 현재 날짜는 문서를 볼때마다 최신화 됩니다.

서버 시간 표시[편집 / 원본 편집]

<svrtime></svrtime>
<svrtime>Asia/Seoul</svrtime>
<svrtime>PHP</svrtime>
<svrtime>WIKI</svrtime>
2023-11-30 03:54:20
2023-11-30 03:54:20
2023-11-30 03:54:20
2023-11-30 03:54:20
입력값 출력값

서버 시간을 기준으로 현재 시간을 출력합니다.[3] 다만 <datetime></datetime>와 달리 시간대를 선택할 수 있습니다.

2023-11-30 03:54:20 → 현재 서버 시간 표시(시간대는 서버가 사용중인 시간대)
2023-11-30 03:54:20 → 현재 서버 시간 표시(시간대는 Asia/Seoul)
2023-11-30 03:54:20 → 현재 서버 시간 표시(PHP 시간 정보, php는 대소문자 구분 안함)
2023-11-30 03:54:20 → 현재 서버 시간 표시(위키의 시간대를 이용한 시간 표시, WIKI 대소문자 구분 안함)

날짜 계산[편집 / 원본 편집]

<datecalc>2023-10-05 + 1 year 5 months 31 days</datecalc>
<datecalc>2023-10-05 15:30:00 + 1 year 5 months 31 days 5 hours 10 minutes 30 seconds</datecalc>
2025-04-05 03:54:20
2025-04-05 20:40:30
입력값 출력값

기준 날짜 또는 기준 날짜 및 시간을 입력 후 이후의 연월일 값을 입력하면 그 이후의 날짜를 출력합니다. 다만 태그 안에 값을 입력하지 않거나, 기준 날짜(및 시간)을 입력하지 않은 경우, 이후의 연원일 값을 입력하지 않으면 Error: Invalid input라고 출력이 됩니다.

기준 날짜(시간값을 지정하지 않은 경우)에 연월일 + 시간값을 더하면, 결과값은 KST 기준 현재 시간값으로 계산됩니다.

만 나이 계산[편집 / 원본 편집]

<age>1975-00-00</age>
<age>1975-07-00</age>
<age>1975-07-20</age>
48-47
48-48
48
입력값 출력값

만 나이를 계산합니다. 기본적으로 생년월일을 입력하면 현재 날짜 기준으로 만나이를 계산하며, KST를 기준으로 합니다. 만약 연도와 달 또는 연도만 아는 경우, 나머지 모르는 부분에 00을 입력하면 대략적인 만나이를 출력합니다. 만약 태그 안에 값을 입력하지 않으면 Error: No date value provided.라고 출력되고, 날짜 포맷에 맞추어 입력하지 않으면 Error: Date format is incorrect. Please use 'YYYY-MM-DD'.라고 출력됩니다.

디데이 계산[편집 / 원본 편집]

<dday>2030-10-20</dday> 2515
입력값 출력값

현재 날짜를 기준으로 태그 안의 날짜까지 얼마나 남았는지 일수를 알려줍니다. 연도의 범위는 0부터 9999까지이며, 이 범위를 넘은 값을 입력하면 Invalid year in date 라는 메시지를 띄우도록 설계되어 있지만, -8258 days 13 hours 0 minutes 37 seconds ago 이렇게 출력이 될 수도 있습니다. PHP의 한계이므로 양해 부탁드립니다. 태그 안에 아무런 값을 입력하지 않으면 No date provided in the tag. 라고 출력됩니다.

윤년 계산[편집 / 원본 편집]

<leapyear>2030-10-20</leapyear> False
입력값 출력값

연도 또는 날짜를 입력하면, 해당 연도가 윤년인지 여부를 출력합니다. 윤년인 경우 True를, 윤년이 아닌 경우 False를 반환합니다.

글자[편집 / 원본 편집]

요소 정렬[편집 / 원본 편집]

입력값: <float val='left'>Hello, world!</float> / "출력값:

Hello, world!


입력값: <float val='center'>Hello, world!</float> / "출력값:

Hello, world!


입력값: <float val='tcenter'>Hello, world!</float> / "출력값:

Hello, world!


입력값: <float val='right'>Hello, world!</float> / "출력값:

Hello, world!


요소를 왼쪽, 중앙, 가운데로 정렬할 수 있습니다. 요소의 css 중 float 속성을 지정하며, center는 float가 아닌 margin: auto로 설정합니다. tcentertext center의 뜻으로 margin: auto 뿐만 아니라 text-align: auto 까지 부여합니다.

세로 쓰기[편집 / 원본 편집]

<vertical>안녕하세요, 가온이에요!</vertical>
안녕하세요, 가온이에요!
입력값 출력값

태그 안의 값을 세로로 위치시킵니다.

요소 움직이기[편집 / 원본 편집]

<mvphrase direction='right' speed='30'>안녕하세요, 가온이에요!</mvphrase>
안녕하세요, 가온이에요!
입력값 출력값

요소를 왼쪽 또는 오른쪽으로 움직이는 애니메이션 효과를 줄 수 있습니다. direction 속성에는 움직일 방향을 정의[4]하고, speed에는 움직임 속도를 정의합니다. 각 속성의 기본값은 left100이며, 기본 움직임 속도가 매우 빠르기 때문에 속도값을 많이 줄이는 것을 권장합니다.

글자 블러 처리[편집 / 원본 편집]

<blur>안녕하세요, 가온이에요!</blur> 안녕하세요, 가온이에요!
입력값 출력값

글자를 블러 처리할 수 있습니다. 태그 안에 값을 입력하면 블러 처리가 되며, 내외부 링크 모두 동작합니다. 마우스로 블러 처리된 부분 위로 가져다 놓으면 블러가 잠깐 해제됩니다.

분류는 본 방식으로 블러 처리가 되지 않습니다. 분류에서의 블러 처리는 아래의 문단을 확인하시기 바랍니다.

분류 블러[편집 / 원본 편집]

[[분류:블러 처리 된 분류@@blur]] 상단 분류값 확인
입력값 출력값

분류 중에 블러 처리를 하기 원하는 경우, 분류명 맨 뒤에 @@blur를 붙이면, 블러 처리가 됩니다. 단, 자바스크립트를 허용(기본적으로는 허용되어 있음)해야만 작동하며, 자바스크립트에서 처리하기 때문에 약간의 시간이 걸릴 수 있습니다.

해시값 계산[편집 / 원본 편집]

<hash type="sha256">안녕하세요</hash> 2c68318e352971113645cbc72861e1ec23f48d5baa5f9b405fed9dddca893eb4
입력값 출력값

태그 안의 값을 type 속성으로 지정한 해시 방식으로 해시화 한 뒤 결과값을 출력합니다. PHP 버전 및 모듈에 따라 다르지만, 가온 위키에서 사용 가능한 방식은 md2 / md4 / md5 / sha1 / sha224 / sha256 / sha384 / sha512/224 / sha512/256 / sha512 / sha3-224 / sha3-256 / sha3-384 / sha3-512 / ripemd128 / ripemd160 / ripemd256 / ripemd320 / whirlpool / tiger128,3 / tiger160,3 / tiger192,3 / tiger128,4 / tiger160,4 / tiger192,4 / snefru / snefru256 / gost / gost-crypto / adler32 / crc32 / crc32b / crc32c / fnv132 / fnv1a32 / fnv164 / fnv1a64 / joaat / haval128,3 / haval160,3 / haval192,3 / haval224,3 / haval256,3 / haval128,4 / haval160,4 / haval192,4 / haval224,4 / haval256,4 / haval128,5 / haval160,5 / haval192,5 / haval224,5 / haval256,5가 있습니다.

접기 펼치기[편집 / 원본 편집]

<folding>안녕하세요</folding>
<folding>제목||내용입니다</folding>

[접기 · 펼치기]


제목

입력값 출력값

내용이 길어 접었다가 상세한 내용을 보기를 원하는 사용자가 클릭하면 숨겨진 내용이 나오도록 할 수 있습니다. 제목과 내용 부분은 ||로 구분하며, 만약 구분하지 않고 내용만 입력하면 [접기 · 펼치기] 가 제목으로 나오게 됩니다.

아스키 유니코드 변환[편집 / 원본 편집]

아스키 변환[편집 / 원본 편집]

<ascii type="str" to="10">h</ascii> 104
입력값 출력값

아스키 코드를 변환합니다. Error: Invalid type or to. 형태로 입력하며, 여러 값이 있더라도 맨 첫번째 값[5]만 계산됩니다.

유니코드 변환[편집 / 원본 편집]

<unicode type="16" to="str">U+1100, U+1161, U+11BC, U+1102, U+1161, U+11B7</unicode> 강남
입력값 출력값

유니코드를 변환합니다. 유니코드 값을 U+XXXX 형태로 입력하면 그 값을 반환합니다.

문자열 길이[편집 / 원본 편집]

<len>Pneumonoultramicroscopicsilicovolcanoconiosis</len> 45
입력값 출력값

문자열의 길이를 반환합니다. 띄어쓰기와 특수문자를 모두 반영합니다.

문자열 갯수[편집 / 원본 편집]

<count value="shell">She sells seashells on the seashore, and the shells she sells are surely seashells.</count> 3
입력값 출력값

원하는 문자열이 몇개 들어있는지를 반환합니다. 대소문자를 구분합니다.

전부 대(소)문자로 변환[편집 / 원본 편집]

전부 대문자로 변환[편집 / 원본 편집]

<upper>hello i am a boy!</upper> HELLO I AM A BOY!
입력값 출력값

모든 글자를 대문자로 변환합니다.

전부 소문자로 변환[편집 / 원본 편집]

<lower>HELLO MR MY YESTERDAY</lower> hello mr my yesterday
입력값 출력값

모든 글자를 소문자로 변환합니다.

대(소)문자 여부[편집 / 원본 편집]

대문자 여부[편집 / 원본 편집]

<isupper>HELLO I AM A BOY!</isupper> False
입력값 출력값

입력한 값이 모두 대문자인 경우 True를, 소문자가 섞여 있으면 False를 반환합니다. 특수문자, 띄어쓰기 등 알파벳이 아닌 문자는 무시됩니다.

소문자 여부[편집 / 원본 편집]

<islower>hello Mr my yesterday</islower> False
입력값 출력값

입력한 값이 모두 소문자인 경우 True를, 대문자가 섞여 있으면 False를 반환합니다. 특수문자, 띄어쓰기 등 알파벳이 아닌 문자는 무시됩니다.

문자열 뒤집기[편집 / 원본 편집]

<reverse>Hello</reverse> olleH
입력값 출력값

입력한 문자열을 뒤집어 출력합니다.

공백 제거[편집 / 원본 편집]

<rmspaces>The sun slowly set behind the mountains, casting a beautiful orange glow across the sky.</rmspaces> Thesunslowlysetbehindthemountains,castingabeautifulorangeglowacrossthesky.
입력값 출력값

공백을 제거합니다.

정렬[편집 / 원본 편집]

오름차순 정렬[편집 / 원본 편집]

<sort-asc>Friendship</sort-asc> Fdehiinprs
입력값 출력값

오름차순으로 정렬합니다. 아스키 코드를 기준으로 하기 때문에 대문자가 우선합니다.

내림차순 정렬[편집 / 원본 편집]

<sort-desc>Friendship</sort-desc> srpniihedF
입력값 출력값

내림차순으로 정렬합니다. 아스키 코드를 기준으로 하기 때문에 소문자가 우선합니다.

글자 및 배경색[편집 / 원본 편집]

<wordclr color="red" bg="yellow">Hello, world!</wordclr> <wordclr color="red" bg="yellow">Hello, world!</wordclr>
입력값 출력값

글자 색과 배경색을 지정할 수 있습니다. color값을 지정하지 않으면 black으로, bg를 지정하지 않으면 투명(없음)으로 설정됩니다.

URL 인코딩 디코딩[편집 / 원본 편집]

<urlencode>안녕하세요!</urlencode>
<urldecode>%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94%21</urldecode>
%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94%21
안녕하세요!
입력값 출력값

url 값을 인코딩 시키거나 디코딩 시켜서 반환합니다.

마크다운 뱃지[편집 / 원본 편집]

<mdbadge type='language' value='php'></mdbadge>

languagephp

입력값 출력값

깃허브 등에서 마크다운으로 뱃지를 넣는 것을 보고 착안했습니다. 사용 가능한 type'build', 'code Coverage', 'language', 'test Results', 'analysis', 'chat', 'dependencies', 'size', 'downloads', 'funding', 'issue_tracking', 'license', 'rating', 'social', 'version', 'platform', 'monitoring', 'activity', 'custom'이 있으며, 각 type별로 색상이 다릅니다.

랜덤[편집 / 원본 편집]

퍼센트 별 출력 메시지[편집 / 원본 편집]

<random range="50">True시 이 문장을 보입니다.|False시 이 문장을 보입니다.</random> True시 이 문장을 보입니다.
입력값 출력값

range 안에 숫자로 값을 입력하면, 해당 확률에 따라 True 또는 False 여부를 확인 후, 사용자가 설정한 문구가 나오도록 합니다. 새로고침 할 때마다 확률을 다시 계산합니다.

랜덤 뽑기[편집 / 원본 편집]

<draw range="1-15" count="5" duplication="true"></draw> 7, 4, 4, 8, 8
입력값 출력값

range 안에 숫자 범위를 입력하고, count에는 몇 개를 뽑을 것인지 선택하면, 랜덤하게 숫자를 뽑아줍니다. duplication 옵션은 중복을 허용할 것인지 이며, 입력하지 않은 경우 중복을 허용하지 않습니다.

range 내의 숫자보다 count의 갯수가 적은 경우, 예를 들어 range1~5이고, count10이면, 5개만 나오게 됩니다.

마찬가지로 새로고침 할 때마다 새로 뽑습니다.

랜덤 문자열 생성[편집 / 원본 편집]

<rdstr sets="up,num" len="20"></rdstr> GYZ9TXDBFEOOKXT113E4
입력값 출력값

랜덤한 문자열을 생성합니다. sets에는 어떤 문자를 넣을 것인지, len은 글자 수를 설정하는 것이며, sets에는 up[6], low[7], num[8] 중에서 1개 이상을 입력하면 됩니다. 마찬가지로 새로고침 할 때마다 새로 생성합니다.

기타[편집 / 원본 편집]

Progress Bar 생성[편집 / 원본 편집]

<progress_bar percent="78" value="78퍼센트" color="#00BCD4" width="100%" height="20px"></progress_bar>
입력값
78퍼센트
출력값

Progress Bar를 생성합니다. percent에는 progress bar의 퍼센테이지[9], value에는 바 안에 출력할 값을, color는 바의 색상, width는 가로 길이, height는 세로 길이를 정의합니다.

percent는 필수로 입력해야 하고, 나머지 요소들을 선택사항 입니다. color의 기본값은 #00BCD4이고 width의 기본값은 100%, height의 기본값은 20px 입니다.

컬러 팔레트[편집 / 원본 편집]

<colorpalette type="rgb">125,32,80</colorpalette>
입력값 출력값

입력한 색상 값을 출력합니다. type에는 rgb, hex, cmyk 중 하나를 선택할 수 있으며, 입력하지 않는 경우 기본값은 rgb 입니다. 색상은 가로-세로 5em-1em 영역에 표시가 됩니다.

rgbalpha 채널도 지원합니다.

각주[편집 / 원본 편집]

  1. 모두 1개씩만 있는 경우
  2. 작은 숫자부터 큰 숫자로 정렬되어 출력
  3. 위의 <datetime></datetime>도 마찬가지로 서버 시간으로 현재 시간을 출력함
  4. left 또는 right
  5. hello라고 입력하면 h
  6. 대문자
  7. 소문자
  8. 숫자
  9. 전체를 100%로 보았을 때의 퍼센테이지를 입력
• 현재 페이지 URL 줄이기