본문으로 이동

문서

Wikven
이 문서는 Pages 문서를 번역한 것이며 번역은 97% 완료했습니다.

소스 디렉터리의 각 파일은 하나의 문서가 됩니다. Wikven은 파일 경로에서 문서의 제목과 이름공간을 이끌어 내므로, 파일 이름이 곧 이를 정하는 방법입니다.

파일 이름에서 문서까지

.wikitext로 끝나는 파일은 경로에서 .wikitext를 뗀 것이 제목인 위키 문서가 됩니다. 따라서 src/Help.wikitext는 "Help" 문서이며 Help.html로 제공됩니다.

제목은 쓴 그대로 유지됩니다. 공백은 공백으로 남고(밑줄이 아니라 Getting Started.wikitext로 파일 이름을 지으세요), 첫 글자의 대소문자도 그대로입니다. 공백이 남는 것은 제목이고, 그 문서가 빌드되는 파일은 Getting_Started.html입니다. MediaWiki가 제목의 공백을 경로에서는 밑줄로 쓰기 때문입니다. 진입 문서는 index로 이름 지어 index.html로 빌드되게 하세요. 이 파일이 바로 정적 호스트가 사이트 루트에서 제공하는 파일입니다.

파일 이름이 제목으로 깔끔하게 대응되지 않으면(MediaWiki가 이를 다르게 정규화하는 경우), 빌드가 경고를 냅니다. 문서의 편집·역사 링크가 파일 이름에서 만들어지는데, 그렇지 않으면 링크가 제대로 연결되지 않기 때문입니다. 이미 정규화된 제목으로 파일 이름을 바꾸세요.

Names that differ only in case are different pages, so Foo.wikitext and foo.wikitext are two of them. macOS and Windows keep them as one file, though: a checkout there holds only one of the two, and a site written to or served from such a disk keeps whichever page was written last. So the build stops and names both, and you rename one. An image counts by the page it imports as, so Guide/diagram.png and Diagram.png are stopped too.

문서 간 링크

표준 위키텍스트 링크인 [[Title]]이나 [[Title|label]]로 링크합니다. Wikven은 정적 출력에서 이를 대응하는 .html 경로로 다시 써 주므로, 내부 링크가 서버 없이도 작동합니다.

하위 문서

파일을 하위 디렉터리에 두면 하위 문서가 만들어집니다. src/Guide/Setup.wikitext는 "Guide/Setup" 문서가 됩니다. 하위 디렉터리의 그림도 함께 가져오지만, 그림의 이름은 파일 이름뿐입니다. src/Guide/diagram.png는 "Guide/diagram.png"가 아니라 [[File:diagram.png]]이므로, 두 디렉터리가 같은 diagram.png를 가질 수 없습니다. 그런 경우 빌드는 한 문서가 다른 문서의 그림을 보여주는 사이트를 발행하는 대신, 둘 다 이름을 대고 멈춥니다. 그림은 링크가 아니라 파일이어야 하는데, 이유는 같습니다. 링크가 가리키는 것은 여러분이 발행하는 것의 일부가 아니므로, 빌드는 그것을 올리는 대신 이름을 대고 거부합니다.

하위 문서가 쓸 수 없는 이름

하위 문서는 출력에서 디렉터리가 되는데, 그중 몇몇 디렉터리는 빌드 자신의 것입니다. 거기에 놓이는 문서는 거부되지 않습니다. 이미 다른 것이 들어가는 자리에 파일이 쓰일 뿐이고, 독자가 받는 것은 나중에 끝난 쪽입니다. 영향을 받는 것은 하위 문서뿐인데, 디렉터리를 만드는 것이 하위 문서뿐이기 때문입니다. citizen이라는 이름의 문서는 citizen.html로 빌드되어 다른 것들 옆에 아무 탈 없이 놓입니다.

첫 번째 다음의 모든 스킨
각 스킨은 사이트 전체를 자기 디렉터리에 렌더링합니다. Citizen을 빌드하는 사이트에는 모든 문서의 두 번째 사본이 담긴 citizen/이 있습니다. "citizen/Setup" 문서는 그 디렉터리에 쓰이는데, "Setup" 문서의 Citizen 사본도 같은 자리로 갑니다. 피해야 할 이름은 스킨 자신의 이름이며, 소문자이고 당신이 나열한 이름과 늘 같지도 않습니다. vector-2022, citizen, minerva처럼요. 스킨을 보세요.
assets
빌드가 만들어 내는 것 전부 — 스타일시트, 스크립트 번들, 그리고 그 CSS가 이름을 부르는 이미지 — 가 놓이는 자리입니다. WikvenAssetDirectory로 다른 디렉터리를 지정하거나, .로 두어 출력 루트에 흩어 놓을 수 있습니다.
fonts
WikvenBundleWebfonts를 켰을 때 웹폰트 파일 자체가 놓이는 자리입니다. 자산 디렉터리가 아니라 출력 루트에 놓이며, 그것들의 이름을 부르는 스타일시트가 자산 디렉터리 밖으로 거슬러 올라가 닿습니다.
pagefind
SifterSearchOutputDir로 다른 곳을 지정하지 않는 한, 검색이 색인을 쓰는 자리입니다.
history
매 과정 끝에 출력에서 제거되며, 제거했다는 줄이 남습니다. 정적 호스트에는 내보낼 문서 역사가 없으니, 거기에 무언가 있으리라 기대되지 않습니다.

번역은 하위 문서가 아닙니다

번역 가능한 문서 — 내용을 <translate>로 감싼 문서 — 는 자기 하위 문서 중 언어 이름을 단 것을, 그 하위 문서가 원본의 <!--T:n--> 마커를 지니고 있을 때 가져갑니다. 번역 가능한 Guide.wikitext 옆의 마커가 있는 Guide/ko.wikitext 파일은 "Guide"의 한국어 번역이지 "Guide/ko" 문서가 아니며, 아무 경고도 나오지 않습니다. 그 이름 규칙 위에 이 기능이 세워져 있기 때문입니다. 마커가 없으면 쓰인 그대로 문서입니다. 언어 코드는 평범한 낱말이기도 해서 — id, no, it — 식별자를 다루는 문서가 인도네시아어 번역이 되어서는 안 되기 때문입니다.

세 조건이 동시에 성립해야 하므로, 그중 하나만 깨면 됩니다. <translate>를 지니지 않은 문서의 하위 문서는 쓰인 그대로 하위 문서이고, 언어 코드가 아닌 이름도, 마커가 없는 파일도 마찬가지입니다. 번역이 마커를 어떻게 얻는지는 번역하기를 참고하십시오.

이름공간

이름공간 이름을 딴 디렉터리에 파일을 두면 문서가 그 이름공간에 놓입니다:

  • Template/Infobox.wikitext는 "Template:Infobox" 틀입니다 (틀 참고).
  • File/Logo.png.wikitext는 업로드된 Logo.png의 설명 문서입니다 (이미지 참고).
  • MediaWiki/Common.css와 MediaWiki/Common.js는 사이트 전역 스타일시트와 스크립트입니다 (자바스크립트 참고). 이 파일들은 이름 자체가 콘텐츠 유형을 담고 있으므로 확장자를 그대로 유지하며 .wikitext 표시가 필요 없습니다.

디렉터리 이름은 이름공간의 표준 영어 이름을 제목에 쓰는 그대로 씁니다. Template/, Category/, User talk/처럼 밑줄이 아니라 공백을 쓰고, 대소문자도 그대로입니다. 첫 번째 디렉터리만 이름공간으로 읽으므로 Template/Note/styles.css는 하위 문서 "Template:Note/styles.css"입니다. 다른 이름의 디렉터리는 하위 문서가 됩니다.

그래서 이름공간 이름은 주 이름공간의 하위 문서에 쓸 수 없습니다. Help/Setup.wikitext는 "Help"의 하위 문서가 아니라 "Help:Setup"입니다. 디렉터리 옆에 Help.wikitext가 있어 하위 문서를 뜻한 것으로 보이면 빌드가 경고하니, 하위 문서로 두려면 디렉터리 이름을 바꾸세요. 번역 가능한 Help.wikitext 옆의 Help/ko.wikitext 같은 번역은 여전히 번역입니다.

Template:Infobox.wikitext처럼 파일 이름에 이름공간을 적는 방식은 1.4.0부터 deprecated이며, 2.0.0부터는 읽지 않습니다. 그때까지는 빌드가 그런 파일마다 경고합니다. Windows는 파일 이름에 :를 담을 수 없어 그렇게 쓴 소스는 거기서 체크아웃할 수 없습니다. 한 문서를 두 방식으로 모두 적은 소스는 빌드가 멈춥니다.

분류

문서에 [[Category:Name]]을 추가하면 그 문서를 분류할 수 있습니다. 분류는 다른 위키와 마찬가지로 문서 하단에 표시됩니다.

다만 분류 자체의 문서는 기본적으로 내보내지지 않습니다. Wikven은 정적 사이트에 콘텐츠 문서만 기록하며, 콘텐츠로 치는 것은 주(main) 이름공간과 File: 이름공간뿐입니다. (이름공간에는 숫자 ID가 있습니다: 주 이름공간은 0, File:은 6, Category는 14입니다.) 그래서 하단의 분류는 정적 호스트가 제공하지 않는 Category:Name.html로 연결되는 죽은 링크가 되며, 이는 분류 문서를 내보내기 전까지 그렇습니다. 그렇게 하려면 .wikven.yaml 파일에서 ContentNamespaces를 설정하고 소스에 Category/Name.wikitext 파일을 추가하세요:

config:
  ContentNamespaces: [0, 6, 14]

이 키는 기본값을 확장하는 것이 아니라 대체하므로, 목록에 0과 6을 반드시 남겨 두세요. 그러지 않으면 주 이름공간과 File: 문서가 더 이상 내보내지지 않습니다.

유지보수용이나 추적용 분류를 하단에서 빼려면, 그 분류 문서에 __HIDDENCAT__ 매직 워드를 추가하세요. 정적 내보내기에는 로그인한 독자가 없으므로, 숨겨진 분류는 모두에게 하단에서 보이지 않습니다.

틀

소스에 Template/Name.wikitext 파일을 두고 아무 문서에서나 {{Name}}으로 사용하세요. 예를 들어 다음 파일을:

'''참고:''' {{{1}}}

Template/Note.wikitext로 저장하고 문서에서 다음과 같이 사용하면:

{{Note|편집할 때마다 사이트를 다시 빌드하세요.}}

"참고: 편집할 때마다 사이트를 다시 빌드하세요."로 렌더링됩니다. 틀은 위치 매개변수({{{1}}})와 이름 매개변수를 받고 MediaWiki에서와 똑같이 파서 함수를 실행합니다. 문법 자체는 표준 MediaWiki입니다. Help:Templates 참고.

변수

MediaWiki 자체의 매직 워드는 다른 곳에서와 똑같이 동작합니다. {{PAGENAME}}, {{SITENAME}}, 빌드가 돌아간 MediaWiki를 가리키는 {{CURRENTVERSION}} 같은 것들입니다. Wikven은 여기에 자기 것 하나를 더합니다:

{{WIKVENVERSION}}
그 문서를 빌드한 Wikven의 버전입니다. 이 사이트에서는 1.3.0입니다. 숫자를 고치는 것을 누군가 기억해야 하는 대신 문서가 스스로 버전을 말해야 할 때 쓰세요. 무엇이 이 사이트를 만들었는지 밝히는 꼬리말이나, 어느 태그를 고정해야 하는지 알려 주는 문서 같은 곳입니다. 이 값은 Wikven 자신의 extension.json에 있는 숫자이고, 릴리스된 태그가 지니는 숫자와 같습니다.