1. 매크로

매크로는 위키 페이지에 특수한 기능을 집어넣는 확장입니다. 대부분의 위키페이지는 매크로기능을 사용하지 않고 있지만 경우에 따라서 이러한 특수한 기능이 필요할 때가 있습니다. 예를 들어 RecentChanges 페이지에는 RecentChanges매크로를 사용하고 있고, SystemInfo 페이지에는 SystemInfo 매크로를 사용하고 있습니다. 각 페이지를 편집하거나 I를 눌러 이전 정보로부터 페이지 소스를 보시면 매크로를 어떻게 사용하고 있는지를 보실 수 있습니다.

매크로는 [[MacroName]]과 같은 문법을 사용합니다. 매크로에 대한 인자가 필요한 경우가 있는데 각 매크로에 대한 자세한 설명은 해당 페이지에서 확인하실 수 있습니다.

모니위키에 있는 모든 매크로를 확인하려면 MoniWikiMacros 페이지를 참조하세요.

위키 문법이 궁금하시면 HelpOnEditing 페이지를 참조하세요.

2. 매크로 문법

[[MacroName]] 혹은 인자가 필요한 경우에는 [[MacroName(arg1,arg2,arg3...)]]처럼 사용합니다.

매크로의 구현에 따라 인자는 다양한 방식으로 들어갈 수 있습니다.

<!> 모니위키 확장 주의사항
  • 원래 모인모인 문법에서 매크로 이름은 반드시 대문자로 시작하는 이름이어야 했습니다. 모니위키에서는 이러한 제한이 없습니다.
  • 매크로 문법은 [[페이지 이름]]문법과 충돌을 일으킬 수 있습니다. 예를 들어 DateTime 페이지가 있을 때에 [[DateTime]]이라는 식으로 DateTime을 연결할 수 없습니다. 이 경우 2024-11-22 10:53:38이라고 나오게 됩니다. 이런 경우에는 [["DateTime"]]이라고 하면 DateTime이라고 링크가 걸립니다.
  • 모니위키 1.1.5부터는 모인모인 최신처럼 <<매크로이름>> 문법을 지원합니다.

  • 모니위키 1.1.5 부터는 매크로에 대한 별명을 지원합니다. [[각주]]라는 식으로 써서 [[FootNote]]의 별명으로 사용하실 수 있습니다.
    이렇게 사용하려면 다음과 같은 설정을 config.php에 넣어주셔야 합니다.

$myplugins=array("각주"=>"FootNote",...); # ...는 생략을 뜻합니다. 다른 내용이 없으면 쓰지 않으셔야 합니다.
  • 이경우 대소문자 구분이 중요한데, 반드시 plugin/파일이름.php에 대응하는 파일이름을 "각주"=>"매크로파일이름"식으로 지정해야 합니다.

2.1. 검색 매크로

매크로설명사용례
[[TitleSearch]] 페이지 제목/별명 찾기 [1] FindPage
[[FullSearch]] 페이지 내용 찾기 FindPage
[[GoTo]] 페이지 바로가기 FindPage
[[PageList(regex)]] 정규식에 해당하는 페이지이름 찾기 HelpIndex

2.2. 네비게이션

매크로설명사용례
[[RecentChanges]] 최근에 변경된 페이지 목록 RecentChanges
[[TitleIndex]] 모든 페이지에 대한 제목 목차 TitleIndex
[[WordIndex]] 페이지 이름으로 구성된 단어 목차 WordIndex
[[RandomPage]] 랜덤페이지 eBoostr
[[RandomPage(#)]] 여러개의 랜덤 페이지. 인자는 숫자
[[TableOfContents]] 목차 매크로 현재 보고계신 페이지에서 사용중입니다. == 제목 == 을 모아 목록으로 보여주고, 페이지 이동 링크를 만듭니다.
[[OrphanedPages]] 고아 페이지 목록 어디에도 링크 되지 않은 문서 목록

2.3. 시스템 정보

매크로설명사용례
[[InterWiki]] 등록된
ISBN:ISBNhttp://www.amazon.com/exec/obidos/ISBN=
Wiki:Wikihttp://c2.com/cgi/wiki?
MeatBall:MeatBallhttp://www.usemod.com/cgi-bin/mb.pl?
MoinMoin:MoinMoinhttp://purl.net/wiki/moin/
UseMod:UseModhttp://www.usemod.com/cgi-bin/wiki.pl?
TWiki:TWikihttp://twiki.org/cgi-bin/view/
WikiPedia:WikiPediahttp://www.wikipedia.org/wiki/
ZWiki:ZWikihttp://www.zwiki.org/
FoxWiki:FoxWikihttp://fox.wikis.com/wc.dll?Wiki~
AndStuff:AndStuffhttp://andstuff.org/wiki.php?
Unreal:Unrealhttp://wiki.beyondunreal.com/wiki/
Google:Googlehttp://www.google.com/search?q=
GoogleGroups:GoogleGroupshttp://groups.google.com/groups?q=
KnowHow:KnowHowhttp://www2.iro.umontreal.ca/~paquetse/cgi-bin/wiki.cgi?
Bzla:Bzlahttp://bugzilla.gnome.org/show_bug.cgi?id=
BugZilla:BugZillahttp://bugzilla.gnome.org/show_bug.cgi?id=
Foldoc:Foldochttp://www.foldoc.org/foldoc/foldoc.cgi?
JargonFile:JargonFilehttp://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=
Acronym:Acronymhttp://www.acronymfinder.com/af-query.asp?String=exact&Acronym=
Advogato:Advogatohttp://www.advogato.org/
SourceForge:SourceForgehttp://www.sourceforge.net/
NoSmoke:NoSmokehttp://no-smok.net/nsmk/
GnomeKorea:GnomeKoreahttp://www.gnome.or.kr/wiki/
KLE:KLEhttp://kle.kldp.org/main/$PAGE?action=urlencode&ie=UTF-8&oe=EUC-KR
GentooKorea:GentooKoreahttp://gentoo.or.kr/wiki/moin.cgi/
DebianKorea:DebianKoreahttp://debianusers.org/DebianWiki/
BSDKorea:BSDKoreahttp://wiki.bsdforum.or.kr/wiki.php/
Freefeel:Freefeelhttp://freefeel.org/wiki/
SFReaders:SFReadershttp://wiki.sfreaders.org/
Xper:Xperhttp://xper.org/wiki/xp/
PyKug:PyKughttp://www.python.or.kr/pykug/
KTUG:KTUGhttp://faq.ktug.or.kr/faq/
MoniWiki:MoniWikihttp://moniwiki.kldp.net/wiki.php/
MoniWikiDev:MoniWikiDevhttp://moniwiki.kldp.org/dev/wiki.php/
KLDPWiki:KLDPWikihttp://wiki.kldp.org/wiki.php/$PAGE?action=urlencode&ie=UTF-8&oe=EUC-KR
Uploads:Uploads/pds/
Man:ManManPage?action=man_get&man=
MoniWikiPds:MoniWikiPdshttp://moniwiki.kldp.org/pds/
AladdinMusic:AladdinMusichttp://www.aladdin.co.kr/music/catalog/music.asp?ISBN=
Nsmk:Nsmkhttp://no-smok.net/nsmk/
WikiPediako:WikiPediakohttp://ko.wikipedia.org/wiki/
Hrp:Hrphttp://hyacinth.byus.net/moniwiki/wiki.php/
MMC:MMChttp://memorecycle.com/wiki/wiki.php/
Twitter:Twitterhttp://www.twitter.com/
Namu:Namuhttps://namu.wiki/w/
Anha:Anhahttps://namu.wiki/w/
AM:AMhttp://anonym.to/?http://
Self:Self/w/
TwinPages:TwinPages?action=twinpages&value=
이름
InterWiki
[[SystemInfo]] 현재 위키의 사양 SystemInfo
[[PageCount]] 전체 페이지 개수 796 페이지
[[PageHits]] 페이지를 본 회수 PageHits

2.4. 기타

매크로설명사용례
[[Icon(image)]] 시스템 아이콘 보여주기 HelpOnNavigation
[[UserPreferences]] 사용자 환경설정 UserPreferences
[[BR]] 강제 줄바꿈 첫번째 줄
다음 줄
[[Include(HelloWorld[,heading[,level]])]] 다른 페이지를 읽어옴 HelloWorld
[[Comment]] 댓글창 [[Comment]]

3. 사용례

각각의 매크로에 대한 예제는 각 매크로 해당 페이지에서 보실 수 있습니다. 간단한 예로 SystemInfo페이지에서 사용하는 [[SystemInfo]]매크로입니다. [[SystemInfo]]를 임의의 페이지에 집어넣으면 다음과 같이 보여집니다:
PHP Version 5.2.x (Linux 3.10.0-862.11.6.el7.x86_64 SMP)
MoniWiki Version Release 1.2.5p2 [Revision: 1.2000 ]
HTTP Server Version Apache
Number of Pages 796


----
Retrieved from http://memorecycle.com/w/HelpOnMacros
last modified 2016-03-09 20:57:18