1. include, template, 동적template
어떤 페이지를 출력하거나 편집할 때, 다른 페이지의 내용을 가져와서 삽입하는 방법들.
1.1. include*
include 매크로들은, 다른 페이지의 페이지 소스를 읽어서 매크로가 있는 자리에 치환한다. 치환이 다 끝난 다음에 마크업이 시작되니, 애초에 원래 페이지에 그 소스들이 있던 것과 거의 동일하다.
- include(A) - A페이지의 소스를 읽어서 삽입
아래의 것들은 결국은 최종적으로 include()를 부른다. 정확히는 MacroInclude()함수를 부른다.
- UseModWiki소스수정/IncludeNoToc매크로 - includenotoc(A) - A페이지의 소스를 읽어올 때, <toc>매크로만 형태를 바꿔서, 작동하지 않게 한다. toc매크로가 있는 페이지를 가져오면 중간에 다시 목차가 출력되는 것을 막음.
- UseModWiki소스수정/IncludeDay매크로 - 제목이 년-월-일 형태로 된 페이지들을 include. 어느 페이지를 include할 것인지는, 출력하는 시점의 날짜에 따라서 동적으로 결정된다.
- includeday([페이지이름,] [+/-]숫자) - 오늘이 2007-03-22일이라면 includeday(0)은 "2007-03-22"페이지를, includeday(페이지,0)은 "페이지/2007-03-22"페이지를 include
- includedays([페이지이름,] [+/-]숫자, [+/-]숫자) - 처음 두 인자는 includeday와 같고, 세번째 인자를 써서 원하는 갯수만큼 추적해가면서 include
- UseModWiki소스수정/blog매크로시리즈 중에서. 아래 두 개는 "목차페이지"가 있어야 그걸 보고 어느 페이지를 읽을지 결정한다.
- blog_includeorder(목차페이지,시작순서,끝순서) - 목차페이지의 해당 순서만큼의 페이지들을 include
- blog_includeperiod(목차페이지,시작날짜,끝날짜) - 목차페이지에서 해당 날짜에 해당하는 페이지들을 include
UseModWiki소스수정/NoInclude태그 - noinclude ~ /noinclude - 어떤 페이지가 A페이지를 include할 때, A페이지 안에 noinclude 태그에 둘러쌓인 부분은 지워버린다. 즉 그 부분은 include되지 않는다. 그냥 A페이지를 출력할 때는 가운데 내용은 놔두고 태그만 지워버려서 마치 태그가 없었던 것처럼 출력한다.
1.2. 동적Template
A페이지에 #TEMPLATE B 라고 적혀 있으면, A페이지를 출력할 때
그러니
A페이지: B페이지:
#TEMPLATE B <template_text>
중얼중얼 궁시렁궁시렁
A페이지: B페이지:
중얼중얼 <include(A)>
궁시렁궁시렁
첫번째는 A페이지를 출력할 때, 두번째는 B페이지를 출력할 때 다음과 같은 출력을 만들어 낸다.
중얼중얼
궁시렁궁시렁
1.3. Template
이건 새로운 페이지를 처음 만들 때 적용되는 것.
UseModWiki소스수정/Template - TemplatePage 환경변수에 어떤 페이지이름 A를 지정하면, 새로운 페이지를 만들기 위해 편집 창에 들어가는 순간 A페이지의 소스를 읽고, 그 소스에다가 UseModWiki소스수정/TemplateMacro를 적용해서 가공한 후에, 텍스트 영역에 채워넣는다.
2. 관련 링크
위키위키분류